Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

422 changed files with 2 additions and 104101 deletions

View File

@ -1,128 +0,0 @@
# Dokument wizji projektu
**Niezbędnik Studenta**
**Autorzy: Anna Śniadek, Malwina Chudzińska, Adrian Pacholak, Phillip
Ławniczak**
**Data: 28.10.2020**
## 1. Wprowadzenie
Dokument dotyczy projektu realizowanego w ramach zespołowego projektu
inżynierskiego. Niniejszy dokument służy przedstawieniu przeznaczenia
tworzonego systemu, jego głównych cech i przyjętych założeń.
## 2. Cel
Celem projektu jest ułatwienie studentom Wydziału Matematyki i
Informatyki organizacji studiów. Studenci poświęcają dużo czasu na
znalezienie informacji i pomocy naukowych dotyczących danego przedmiotu,
które umieszczone są na wielu różnych portalach. Chcemy ułatwić
studentom ten proces zbierając wszystkie te materiały uporządkowane w
jednym miejscu. Platforma ma stanowić wsparcie naukowe dla studentów
porządkując pomoce naukowe dostępne w Internecie i gromadząc materiały
udostępniane przez użytkowników oraz kreować wspólną przestrzeń dla
studentów ułatwiając im integrację i jednocząc w problemach związanych
ze studiami.
## 3. Rynek
Serwis „Niezbędnik Studenta" zbiera wszystkie pomoce naukowe,
zgromadzone przez studentów oraz udostępniane przez prowadzących na
różnych portalach, w jednym miejscu.
Stanowi alternatywę dla grup tworzonych przez studentów w serwisie
„Facebook", który zbiera wiele informacji o swoich użytkownikach
zbędnych z punktu widzenia oferowanych funkcjonalności. Dodatkową
przewagą Niezbędnika Studenta jest łatwość znajdywania interesujących
nas grup oraz ich jednoznaczny podział na przedmioty, dzięki czemu posty
oraz materiały trafiają wyłącznie do grupy zainteresowanych danym
przedmiotem osób.
Informacje i materiały niezbędne dla studentów WMI są umieszczane na
wielu stronach. Nie ma natomiast miejsca w sieci zawierającego wskazówki
odnośnie wyszukiwania tych informacji ani zbierającego odnośniki do
stron, na których są one umieszczane.
Dużym atutem platformy jest fakt, że jest ona tworzona przez studentów
dla studentów, co oznacza, że rozwój aplikacji jest uzależniony od tej
jednej społeczności i ma na niego bezpośredni wpływ.
## 4. Opis produktu
- Dostęp do serwisu dla studentów WMI po zalogowaniu w systemie
cas.amu.edu.pl
- Lista prowadzących i odnośniki prowadzące do ich stron
- Lista przedmiotów nauczanych na WMI
- Możliwość dodania się do **grupy przedmiotowej** w celu dostępu do
**strony przedmiotu**
- możliwość udostępniania i korzystania z materiałów, notatek,
przykładowych zadań wraz z rozwiązaniami -- wszystkie materiały
dotyczące danego przedmiotu zostają zgromadzone w jednym miejscu
- forum dyskusyjne
- odnośniki do sylabusa i stron prowadzących
- lista prowadzących przedmiot
- Użytkownicy mają możliwość inicjować wydarzenia w celu poszerzenia
grupy osób do wspólnej nauki lub znalezienia osób uczących się
samodzielnie na wydziale w celu integracji
- Możliwość poszukiwania korepetytorów w osobnej zakładce
- Możliwość tworzenia grup w celu znalezienia osób do zadań
grupowych/projektów
- Tablica ogłoszeń dla wydziału, stanowiąca miejsce na eventy, kursy,
oferty pracy
- Pliki dodawane przez studentów będą grupowane ze względu na przedmiot,
będą filtrowane pod kątem nazwy, tagów, podział na wykład / ćwiczenia.
Użytkownicy mogą zgłosić brak przedmiotu w bazie przedmiotów jako błąd
wysyłany do administratorów. Administrator ma uprawnienia pozwalające
na zarządzanie (dodawanie / usuwanie / edycję) danymi (przedmiotami,
prowadzącymi).
- Administrator może nadawać uprawnienia administratora innym
użytkownikom.
- Administrator ma uprawnienia pozwalające na usuwanie treści (postów,
komentarzy, plików) oraz banowanie użytkowników (użytkownicy połączeni
są z kontem w Usosie). Użytkownicy mogą zgłaszać treści, które uważają
za nieodpowiednie. Komentarze do postów z kategorii zadania można
oznaczać jako proponowane odpowiedzi.
- Użytkownicy mogą oznaczać komentarze o takim charakterze jako
poprawne/niepoprawne.
## 5. Zakres i ograniczenia
W pierwszej wersji systemu po zalogowaniu w systemie cas.amu.edu.pl
dostępny będzie podstawowy interfejs startowy użytkownika, lista
przedmiotów i ich strony. Użytkownicy będą mieli możliwość dołączenia do
grup przedmiotowych, udostępniania oraz wglądu do materiałów, udziału w
forum. Ograniczenia na rozmiar udostępnianych multimediów.
- Aplikacja webowa
- Responsywna aplikacja dostosowana do korzystania na urządzeniach
mobilnych
- Technologie:
- Baza danych - MySQL
- Front-end - JavaScript, React
- Back-end - Java, Spring, Hibernate, JUnit
- Ograniczenia rozmiar plików: 2 MB - jeden plik
- Ograniczenia rozszerzeń - jpg/png, txt, pdf, docx, doc, odt

View File

@ -1,334 +0,0 @@
# Dokument wymagań projektu
**Nazwa projektu: Niezbędnik Studenta**
**Autorzy: Adrian Pacholak, Ania Śniadek, Malwina Chudzińska, Phillip Ławniczak**
**Data: 28.10.2020**
## 0. Wersja dokumentu
1.1 - 28.10.2020 - dostosowanie do nowego szablonu
1.2 - 16.11.2020 - naniesienie poprawek wedłgu uwag promotora
## 1. Elementy składowe projektu (produkty projektu)
### Aplikacja webowa
- Zintegrowana z REST API - pobiera dane użytkowników, dane
zawarte w aplikacji
- Dostępna dla użytkowników posiadających konto w systemie USOS
- Zarządzana przez zespół administratorów składający się z
wybranych, zainteresowanych studentów
- Umożliwia zalogowanym użytkownikom
- korzystanie z forum
- dostęp do materiałów zamieszczanych przez użytkowników
- udostępnianie plików
- pozyskiwanie informacji dotyczących studiów
- Dokumentacja dotycząca oprogramowania aplikacji webowej
- Technologie:
- JavaScript
- React
- HTML5
- SASS
- CSS3
- webpack
- node.js
- Publikacja aplikacji:
- Dostęp do aplikacji na stronie internetowej
- Dostęp do repozytorium oraz dokumentacji aplikacji na serwisie
GitHub
### Aplikacja serwerowa - REST API
- Udostępnia serwisy REST
- Służy do pobierania oraz zarządzania informacjami na temat
przedmiotów, prowadzących, wydarzeniach
- Służy do pobierania i dodawania materiałów naukowych
- Służy do zamieszczania postów i komentarzy na forum
- Używa relacyjnej bazy danych do przechowywania informacji o
użytkownikach, przedmiotach, prowadzących, ogłoszeniach,
wydarzeniach, postach oraz materiałów naukowych
- Zintegrowane z Systemem Usos w celu autoryzacji oraz pobierania
informacji o użytkownikach
- Dokumentacja dotycząca oprogramowania REST API
- Technologie: Java, Spring, Hibernate
### Relacyjna baza danych:
- Baza stworzona na potrzeby przechowywania informacji o
użytkownikach, przedmiotach, prowadzących, wydarzeniach
- Technologie:
- Azure SQL
### Repozytorium zawierające kod aplikacji
- GitHub
### Elementy nieprogramistyczne
- Tablica projektowa - Jira:
- Historia wymagań funkcjonalności (user stories)
- Historia zadań
- Prototyp aplikacji webowej
- Dokumentacja dotycząca oprogramowania REST API
- Dokumentacja dotycząca oprogramowania aplikacji webowej
- Dokumentacja architektury wykorzystanej w projekcie
## 2. Granice projektu
- Produkty nie zawarte:
- Aplikacja mobilna
- Aplikacja desktopowa
- Funkcjonalności nie zawarte:
- Rejestracja użytkowników
- Dostęp dla użytkowników nie posiadających konta w systemie USOS
- Chat dla użytkowników aplikacji
- Możliwość edycji danych użytkownika
## 3. Lista wymagań funkcjonalnych
- Aplikacja webowa:
- Autentykacja i autoryzacja użytkowników przez system
- Dostęp do informacji na temat przedmiotów i prowadzących
- Możliwość dołączania i opuszczania grup przedmiotowych
- Możliwość dodawania postów stanowiących ogłoszenia, oferty
pracy i oferty korepetycji na tablicy ogłoszeń
- Możliwość dodawania postów na forum dyskusyjnym, możliwość
komentowania postów i zamieszczania rozwiązań do zadań
- Możliwość udostępniania plików innym użytkownikom
- Możliwość inicjowania wydarzeń i dołączania do wydarzeń
- Możliwość dostosowania powiadomień przez użytkownika
- Możliwość dodawania przedmiotów, prowadzących, przydatnych linków przez użytkowników z uprawnieniami administratora
- Możliwość zarządzania ogłoszeniami, postami, komentarzami użytkowników przez administratorów
- Możliwość dawania użytkownikom uprawnień administratora przez administratorów
- Aplikacja serwerowa:
- Zintegrowana z Systemem USOS w celu autoryzacji oraz
pobierania informacji o użytkownikach
- Pobieranie oraz zarządzanie informacjami na temat
przedmiotów, prowadzących, wydarzeń, postów i komentarzy na
forum
- Pobieranie i dodawanie materiałów naukowych
- Połączona z relacyjną bazą danych zawierającą dane oraz
pliki
## 4. Lista wymagań niefunkcjonalnych
- Dokumentacja dotyczącą oprogramowania aplikacji webowej i REST API
- Dostęp do repozytorium kodu
- Aplikacja dostępna dla komputerów i urządzeń mobilnych
- Użyte biblioteki na licencji open-source
## 5. Mierzalne wskaźniki wdrożenia
- Akceptacja funkcjonalna:
- Ukończenie zdefiniowanych funkcjonalności aplikacji webowej
- Dostęp do aplikacji dla wszystkich użytkowników systemu Usos
- Brak błędów utrudniających korzystanie z aplikacji
- Akceptacja jakościowa:
- Zawieranie testów jednostkowe i sprawdzenie, czy spełniają swoje
zadanie
- Deploy wersji alpha aplikacji na serwer 30.11.2020, przeprowadzenie testów, sporządzenie raportu i naniesienie poprawek na jego podstawie
- Deploy wersji beta aplikacji 07.01.2021 na serwer, przeprowadzenie testów, sporządzenie raportu i naniesienie poprawek na jego podstawie
- Aplikacja posiada 40 aktywnych użytkowników
## 6. Kryteria akceptacji projektu dla I semestru prac
- Dostarczenie prototypu projektu
- Aplikacja webowa zintegrowana z REST API oferująca
funkcjonalności:
- logowanie do serwisu
- podstawowy interfejs startowy użytkownika
- lista przedmiotów (grup przedmiotowych)
- możliwość dołączenia do grup przedmiotowych
- udział w forum
- Dokumentacja aplikacji webowej i serwerowej
## 7. Kryteria akceptacji projektu dla II semestru prac
- Aplikacja webowa zintegrowana z REST API uzupełniona o
funkcjonalności:
- udostępnianie i pobieranie materiałów w postaci plików
- tworzenie i dołączanie do wydarzeń
- dodawanie ogłoszeń
- powiadomienia i customizacja powiadomień
- edycja zawartości strony przez admistratorów
- zarządzanie treścią i użytkownikami przez administratorów
- Anglojęzyczna wersja aplikacji
- Dokumentacja aplikacji webowej i serwerowej
- System pozytywnie przeszedł testy obciążeniowe, testy alpha i beta
## 8. Organizacja pracy zespołu
- Strona klienta:
- Studenci wydziału Matematyki i Informatyki na kierunku
Matematyka i Informatyka
- Strona zespołu projektowego
- Malwina Chudzińska
- Product Owner
- Implementacja aplikacji webowej
- Tworzenie prototypu interfejsu aplikacji
- Anna Śniadek
- Implementacja aplikacji webowej
- Projekt szaty graficznej aplikacji
- Scrum Master
- Adrian Pacholak
- Implementacja serwisów REST dla aplikacji
- Projektowanie bazy danych
- Phillip Ławniczak
- Tworzenie prototypu interfejsu aplikacji
- Implementacja aplikacji webowej
## 9. Ryzyka projektowe
- Odejście członka implementującego aplikację webową lub stronę
serwerową - trudności w ukończeniu aplikacji
- Określone ramy czasowe, semestry, na stworzenie produktu - ryzyko
nieukończenia w czasie
- Nieporozumienia w zespole dotyczące rozwiązań implementacyjnych,
architektury, funkcjonalności lub używanych technologii
- Konieczność poświęcenia czasu na dopełnienie wiedzy dotyczącej
stosowanych technologii
- Brak odpowiedniego zaangażowania w projekcie ze strony zespołu lub
wybranych członków zespołu
- Przechowywanie danych o użytkownikach
- Brak zainteresowania aplikacją ze strony użytkowników
- Brak chętnych do pełnienia roli administratora
- Zarządzanie nieodpowiednimi treściami
- Problemy techniczne po stronie systemu Usos
## 10. Kamienie milowe
- Logowanie przez cas.amu.edu.pl
- Dostarczenie użytkownikowi funkcjonalności dołączania do grup
przedmiotowych
- Dostarczenie użytkownikowi funkcjonalności dodawania kontentu do
portalu
- Wdrożenie aplikacji serwerowej na serwerze
- Aplikacja posiadająca dokumentację
- Aplikacja dostępna na stronie internetowej
- Aplikacja posiadająca użytkowników
- Aplikacja uzupełniona danymi dotyczącymi przedmiotów, prowadzących,
materiałami naukowymi

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,702 +0,0 @@
id paragraf tag
0-0 Często można spotkać się z podejściem, które zakłada że przy budowie systemu informatycznego powinny być stosowanie najnowsze technologie i modele architektoniczne. Podejście takie jest oczywiście zasadne jeżeli budowany jest nowy system nie obarczony koniecznością integracji z innymi systemami / technologiami. hipoteza
0-1 Co jednak w sytuacji w której budujemy system który musi się integrować ze “starymi” technologiami / architekturami? Czy zawsze mamy prawo żądać zmiany starych technologii? Kiedy się to nie uda? Podaj przykłady rozwiązań, które tak jak np. standard EDI mają już wiele lat i nadal są powszechnie wykorzystywane. hipoteza
1-0 Zmiana starych technologii na nowe nie uda się na przykład w następującym przypadku. System składa się z ogromnej liczby linii kodu napisanych w języku programowania, którego się już powszechnie nie używa. System ten jednocześnie jest rozpowszechniony - dużo osób z niego korzysta w różnych miejscach. Z tego powodu musi funkcjonować prawie przez cały czas, nie może mieć dłuższych przerw w działaniu. logiczne
1-1 Przykładem może być system, który we Francji zajmuje się lokalami (socjalnymi?). Napisany w Fortranie. Mnóstwo osób z niego korzysta codziennie, więc wyłączenie go na dłuższy czas i migracja danych nie są możliwe. rzeczowe
1-2 Kolejny przykład to niemiecki system związany ze służbą zdrowia. Zawiera kartoteki pacjentów. “”Przepisanie“” go od nowa również by nie było możliwe. rzeczowe
2-0 Czy zawsze mamy prawo żądać zmiany technologii? Nie, ale z czasem możemy być do tego zmuszeni. hipoteza
2-1 Przykład systemu napisanego w Fortranie przewijał się już kilkakrotnie. Podobno nikt nie odważy się go zmienić na jakiś inny. Pytanie brzmi czy wszystkie modyfikacje, które będzie trzeba wprowadzić będzie można zrealizować? W końcu Fortran jest językiem ograniczonym, nie obsługuje np. rekurencji, nie jest językiem obiektowym. Oczywiście nie potrzeba języka obiektowego, żeby programować obiektowo, ale z pewnością ułatwia to rozwiązywania problemów. hipoteza
2-2 Oczywiście wszystko się da zrobić w informatyce, pytanie za ile i na kiedy. Jednak były podane również przykład (na APO) systemu zdaje się napisanego w Delphi, który z czasem tak się rozrósł, że programiści stracili nad nim kontrolę i było trzeba go przepisać zgodnie z nowymi trendami. emocjonalne
3-0 Był jeszcze kontrprzykład na ASI - SOLSystem, który to ze względu na objętość pozostanie w języku Delphi. rzeczowe
3-1 Wydaje mi się jednak iż zmiany i unowocześnianie technologii powinno następować, nawet jeśli wydaje się to niemożliwe. Inaczej może się zdarzyć sytuacja podobna do tej w Kalifornii (przepraszam jeśli mylę miejsca) gdzie władze stanowe musiały “”wskrzeszać z martwych“” i ściągać z emerytury programistów COBOLa aby wprowadzili zmiany w używanym od zawsze systemie informatycznym. inne
4-0 Jeśli klientela się nie burzy - po co zmieniać coś co działa? Taki argument przesłonił mi motywację objętościową w tym przypadku (choć gdyby jej nie było to zapewne system rzeczywiście zostałbym przepisany). emocjonalne
4-1 Jak powszechnie wiadomo, klienta zazwyczaj interesuje tylko czy dany system spełnia jego wymagania, a nie jakie ma fundamenty. Skoro nie mają nawet problemów z nieco archaicznym interfejsem, a nowi klienci również się znajdują, może nie ma potrzeby inwestowania czasu i środków w żmudną przebudowę. inne
4-2 Rozumowanie oczywiście naiwne, ale myślę że i w niektórych (raczej niszowych) przypadkach praktyczne. Ostatecznie jednak zgadzam się, że modernizacje powinny mieć miejsce, bo może to zapobiec wielu potencjalnym problemom w przyszłości (a także wytworzyć wiele potencjalnych problemów w trakcie, ale to inna historia). logiczne
5-0 Większość moich przedmówców skupiła się głównie na, pewnie najistotniejszym, aspekcie procesu wymiany systemów na nowe - kosztach. Wydaje mi się jednak, że innym, całkiem ważnym, jest stabilność istniejących już systemów. Mając np. jakąś ważną (tzn. np. mającą podtrzymać czyjeś życie, albo czuwać nad sprzętem wartym miliony) aplikację, która działa bez szwanku, przejście na nowy, potencjalnie lepszy system, może spowodować więcej problemów niż zysków. logiczne
5-1 Ten błyszczący nowością produkt nie został przecież jeszcze przetestowany na równi z tym starym, który działa latami. Dlatego też w takich sytuacjach “”przesiadka na nowe“” nie jest czymś na co łatwo się zdecydować. logiczne
5-2 Jakiś czas temu czytałem, że w części pojazdów kosmicznych NASA nie wymienia się pewnych działających komputerów, gdyż dobrze działają i mają pewną “”zaletę“” nad nowymi. Otóż w przypadku przeniknięcia przez kadłub cząsteczek, które mogłyby “”zamieszać“” w operacjach, które wykonują są one bardziej odporne, jako, że ich podzespoły są większe. Nie wiem na ile jest to wiadomość wiarygodna, a na ile kolejna miejska legenda, ale brzmi sensownie. rzeczowe
5-3 Przyłączę się jednak również do zdania mówiącego, że należy się unowocześniać, bo nie wiemy co będzie konieczne w przyszłości. Tak jak często ludy, które nie musiały, z przyczyn ogólnego dobrobytu, rozwijać się padały łupem tych, na których rozwój był wymuszony, tak my możemy kiedyś zmierzyć się z problemem, że myślenie w stylu: “”jak działa, to po co zmieniać“” doprowadzi nas nad przepaść. emocjonalne
5-4 Dlatego też należy przeć do przodu, ale nie powinno się przesadzać w pogoni za unowocześnianiem wszystkiego. hipoteza
6-0 Widzę, że osoby wypowiadające się w tym wątku wymieniły już kilka kontrargumentach jak objętość dotychczasowego kodu, koszty, stracony czas czy stabilność. rzeczowe
6-1 Z wykładów kojarzę dwa projekty informatyczne, którym nie spieszy się do zmiany technologii. inne
6-2 Pierwszy to system do zarządzania lokalami socjalnymi we Francji napisany w Fortranie. Nie jestem pewny czy wzmianka o nim pojawiła się akurat na DASI czy na DTSI. W każdym razie poprawki do tego systemu są testowane co najmniej trzy miesiące przed wprowadzeniem ich w życie. Nie wydaje się być to zbyt efektywne. Mimo to sądzę, że ten system przetrwa aż do upadku obecnego rządu Francji. rzeczowe
6-3 Drugi przykład który kojarzę, to zintegrowany system obsługi lokali firmy SOL-System. Jako ciekawostkę dodam, że jednym z pracowników tej firmy jest kierownik laboratoriów wydziału matematyczno-informatycznego uczelni, której jeden z absolwentów sformułował twierdzenie, które wygrało drugą wojnę światową. System nie dojść, że napisany w Delphi (wcześniejsze wersje w Pascalu), to nie wykorzystuje systemu uprawnień po stronie bazy danych a aplikacja kliencka ma interfejs typowych dla programów biurowych systemu MS-DOS (przynajmniej jeśli chodzi o główne menu). rzeczowe
6-4 Jednakże system jest rozwijany już kilkanaście lat i wątpię, żeby kiedykolwiek doszło do zmiany języka (widzę ewentualną możliwość zmiany środowiska z Embarcadero/CodeGear Delphi na FPC/Lazarus). Ba, sądzę również, że ze względu na przyzwyczajenia obecnych klientów nawet interfejs aplikacji nie zostanie prędko zmieniony. logiczne
7-0 Na początek, zacznę od sprostowań dotyczacych systemu firmy SOL-SYSTEM 1. System w obecnej wersji budowany jest przy użycia środowiska Embracadrero Delphi (wciąż rozwijanego i stabilnego) 2. Poprzednie wersje nie były pisane w pascalu lecz w środwisku Clipper, przejscie z tego środowiska trwalo ok 4lat i było zaprojektowanie i zaimplementowaniem systemu od zera. 3. Srodowisko w którym tworzony jest system nie składa się tylko z języka programowania, ale również składa sie na nie serwer baz danych Firebird (ogólnie mówiąc struktury danych i procedury) oraz warstwa dostepu do danych IB-objects i komponenty wspomagające np do generowanie pdf, szyfrowania danych, administracyjnych modułów serwerowych, modułów integracyjnych z systemami zewnętrznym itd. 4. system jest dalej rozwijany w tym środowisku nie tylko ze względu na ilość kodu (na wykładzie był podane to tylko jako jeden z argumentów), ale po prostu nie ma powodu by to robić wszystko działa stabilnie, wydajnie, a pracy jest dość przy rozwoju funkcjonalnym obecnej wersji. rzeczowe
7-1 A teraz moje zdanie na temat wymiany srodowiska. inne
7-2 Należy sobie postawić pytanie: jaki miałby być cel zmiany środowiska? *jeżeli jest to środowisko stare, już dawno nie rozwijane, w którym występują błędy utrudniające prace programistyczną oraz wystepuja problemy z uruchamianiem aplikacji w nim wykonanych w nowych systemach operacyjnych - to oczywiście się zgodzę, że trzeba rozwarzyć możliwoć zmiany technologii *natomiast zmiana środowiska programistycznego tylko dlatego, że jest moda na inny język programowania, jeżeli środowisko jest cały czas rozwijane i suportowane, i nie występją w nim błędy oraz aplikacja spełnia wszystkie wymagania klientów oraz środowisk systemowych i bazodanowych, to jest to bez sensu. logiczne
7-3 Wymienie dodatkowych kilka inncyh powodów: * Zmiana technologi to nie tylko przepisanie kodu, to również często potrzeba zmiany modelu danych, motedy dostepu do nich, konieczność wymiany wielu współpracujących komponentów. Pociąga za sobą ogromne koszty, jest czasochłonna, wymusza koniecznośc zatrudniania specjalistów znających się na obu platformach przez długi okres, wsparcie dwóch różnych projektów przez długi czas. rzeczowe
7-4 "Potrzebny jest długi czas na testowanie nowego rozwiązania. Często wymagana jest zmiana sprzętu. * W jaki sposób taka zmiana miała by poprawić komfort pracy użytkownika? Jeśli prowadziłby do zmiany interfejsu użytkownika to już z założenia utrudni ona życie uzytkownikowu przyzwyczajonemu do pracy z poprzednim systemami. A jesli mamy zachować dokładnie interfejs to użytkownik i tak nie zauważy zmiany ;) Oczywiście zakładamy, że system w obu środowiskach działa wydajnie i stabilnie. *Używając nowego środowiska natykamy się na nowe problemy, które nie występowały wcześniej w starym, a więc zmiana środowiska to nie tylko przepisanie kodu. *po co inwestować ogromne kwoty w zmiane srodowiska, klienci na pewno za to nie zapłacą!" logiczne
7-5 Kilka pytań, które mnie zastanowiły po porzednich wypowiedziach : *Dlaczego środowisko Delphi jest gorsze od javy, c++, C#, VB, itd? Tylko dlatego, że ma składnie pascala? Czego nie umożliwia co umożiwają inne środowiska, a co może mieć wpływ na jakość produkowanej aplikacji? *W czym środowisko Lazarus miało by być lepsze od delphi? hipoteza
7-6 "Na koniec, zgodzę się w 100% z ostatnim zadaniem autora poprzedniej wypowiedzi ;)" inne
8-0 Na ile pamiętam Delphi (z zajęć jakieś 6 lat temu) to nie posiadało ono garbage collectora, chyba że coś się zmieniło od tego czasu? Konieczność ręcznego zarządzania pamięcią (i związane z tym błędy) jest moim zdaniem co najmniej tak samo uciążliwa jak niedostatki składni. inne
8-1 Nie twierdzę, że jest to argument, który uzasadniałyby przepisanie prawidłowo działającej aplikacji, która realizuje cele biznesowe klientów, ale gdybym miał pisać aplikację od zera to: brak garbage collectora, uciążliwa (przynajmniej dla mnie) składnia oraz mała w stosunku do Javy czy C# społeczność programistów wystarczałyby mi, aby odrzucić Delphi jako środowisko. emocjonalne
8-2 Niekiedy nie mamy już szansy przejścia na nową technologię - w USA dużo systemów było napisanych we fortranie i do dzisiaj programiści fortrana dzięki temu mają pracę a w kryzysie roku 2000 byli potrzebni do pracy nad tymi systemami. rzeczowe
8-3 Jeżeli chodzi o przestarzałe technologie wykorzystywane do dzisiaj, wspomnę tylko, że komputer wahadłowca kosmicznego ma tylko 1 MB RAM! Wszystko działa w UNIX-podobnym środowisku. Dlaczego nie jest to modernizowane? Otóż ta moc wystarcza do przeprowadzania bardzo skomplikowanych przecież obliczeń, a po drugie wdrożenie wymagało by bardzo bardzo wielu testów.. rzeczowe
8-4 Przykładem zastosowania starszego oprogramowania może być wersja Stable dystrybucji Debian, której kolejne wersje pojawiają się dosyć rzadko i z opóźnieniami. rzeczowe
8-5 Powodem tego jest nacisk deweloperów na poprawianie błędów krytycznych i latanie dziur bezpieczeństwa. Nie ma tam miejsca na najnowsze wersje programów. Właśnie dzięki temu dystrybucja ta jest stosowana na serwerach. rzeczowe
9-0 Wg mnie należy najpierw wyznaczyć wszelkie za i przeciw, przy zmianie oprogramowania(technologii) na nowsze. Czyli: - co nam daje obecna technologia - co zyskujemy, a co tracimy wprowadzając nową technologię - jakiego sprzętu/oprogramowania potrzebuje nowa technologia - czy będzie to opłacalne na dłuższą metę - czy będzie niezbędne - jakie korzyści z tego będziemy mieli my, a jakie nasi użytkownicy hipoteza
9-1 Na pewno ważnym czynnikiem będzie także czas potrzebny na przejście z jednej technologii na drugą, oraz budżet jakim dysponujemy. logiczne
9-2 Tytułem podsumowania: inne
9-3 Oczywiście trudno jest rozstrzygać jak to będzie. Ale wydaje mi się, że informatyka powoli wkracza na taki poziom rozwoju jak rozwiązania inżynieryjne sprzed powiedzmy 100 lat. We Francji jeździełem windami, które miały ze 100 lat prawie. Oczywiście były konserwowane, wymieniane były części i działały. inne
9-4 W Poznaniu mamy tramwaje sprzed kikudziesięciu lat i jeżdzą (i tak w sumie to jeżeli są ekonomiczne i tanie w utrzymaniu - nie wiem czy są - to niech sobie jeżdżą). Samoloty czasami mają po kilkadziesiąt lat i też im niczego nie potrzeba (oczywiście części sprzed kilkudziesięciu lat w nich pewnie za dużo nie ma). inne
9-5 Zatem niby dlaczego wszystkie systemy należy zastapić nowymi? Według mnie odpowiedź jest taka: zastępujemy tylko wtedy jeżeli ma to ekonomiczne uzasadnienie. Według mnie niektóre pisane współcześnie (tzn. przez ostatnie 10 lat) systemy w J2EE będą działały i 30-40 lat… hipoteza
10-0 Czasem łatwiej jest wprowadzić pewnego rodzaju nakładkę na istniejący już system ułatwiając tym samym pracę z nim. Np. Windows Forms jest to technologia praktycznie w całości bazująca na poczciwym już Win32. rzeczowe
10-1 Łatwość użytkowania + wprowadzona obiektowość (również ograniczenia wynikające z nieobiektowej biblioteki) przedłużyły żywotność Win32 na kolejne kilka lat. inne
11-0 Widze, że wszyscy raczej zgodnie są przeciwni zmianie technologii w starych systemach. Ogólnie wygląda na to że, nowsze jest wrogiem dobrego. Ale niekoniecznie zawsze. Na przykład w przypadku systemu via internet, z którego zdarza się, że korzystają jednocześnie miliony użytkowników, a są takie przecież, zmiana technologii na nowszą, tzn. dużo bardziej wydajną, no bo wydajność systemu przy tak dużej ilości użytkowników odgrywa w znacząca role, może być zbawienna w skutkach. hipoteza
11-1 Prosty scenariusz: Powstała aplikacja webowa w jakiejś prostej technologii, niech to będzie PHP - oklepane prawda? emocjonalne
11-2 Aplikacja zdobywa popularność, zyskuje użytkoników, liczba odwiedziń rośnie - strzelają korki od szampana. emocjonalne
11-3 Teraz załóżmy, że liczba odwiedziń osiąga krytyczny poziom. Szybkość działania aplikacji drastycznie spada, przez co rośnie niezadowolenie użytkowników. inne
11-4 Trzeba działać. Co robimy? Oczywiście inwestujemy spore kwoty w high-end hardware. Lecz zamiast tego można wziąć na warsztat asynchroniczny framework webowy z nieblokującym I/O (przy okazji, szkoda, że takich rzeczy nie ma w ramach programu kształcenia na naszej uczelni) i zacząć działać. inne
11-5 Uwaga teraz ekstremalny przykład: np Node.js - czyli właśnie taki framework do pisania aplikacji webowych. Uwaga, w czym? W javascripcie (oczywiście po stronie serwera). Wydajność systemu opartego właśnie na takiej technologii będzie tak zadowalająca, że o zakupie high-endu bedziemy mogli na długo zapomnieć. hipoteza
12-0 Przypomina mi to trochę sytuację na polu aplikacji internetowych, gdzie rynek czasami wręcz zniechęca developerów do używania najnowszych technologii. Jeżeli klient stawia wymagania, aby frontend strony był bardzo rozbudowany i estetyczny, a jednocześnie działał w najpopularniejszych przeglądarkach internetowych, to kulą u nogi staje się nieszczęsny IE6 sprzed niemal dziesięciu lat. inne
12-1 Nie wiem, czy HTML, CSS i JavaScript można nazwać nowoczesnymi, ale faktem jest, że w ostatnich latach nastąpił ich znaczny rozwój. Przy okazji producenci różnych przeglądarek zaczęli wprowadzać specyficzne dla siebie funkcjonalności. rzeczowe
12-2 Dodając do tego fallback dla “”dinozaurów“” nagle okazuje się, że musimy zaimplementować to samo kilka razy, dodając setki linii kodu JS i hacki na CSS. Jeżeli oprócz tego nasza strona ma działać nawet przy wyłączonym JS i wtyczkach typu Flash/Silverlight, oznacza to, że nie możemy polegać na nowoczesnych technologiach wogóle. emocjonalne
12-3 Być może trochę przejaskrawiam, zwłaszcza, że mamy dobre frameworki dla JS rozwiązujące za nas dużą część problemów z różnicą API i fallbackiem, jednak pewien niesmak pozostaje. Zwłaszcza, gdy ma się świetne rozwiązania na wyciągnięcie ręki (np. canvas + JS zamiast Flasha) i nie można z nich skorzystać, bo statystycznie ponad połowa ludzi i tak nie zobaczy efektu. logiczne
12-4 Oczywiście jestem jak najbardziej za używaniem nowych, dobrych technologii Ubolewam tylko nad faktem, że czasami przez problemy zaznaczone przeze mnie powyżej, idealistyczne podejście do projektu może zostać zabite przez deadline i budżet. emocjonalne
13-0 Zgadzam się z przedmówcą. Spójrzmy na problem ze strony otrzymanego zlecenia na system. Czemu mamy się martwić o to, co będzie X lat później i nad czym nie będziemy mieli nigdy pełnej kontroli. Niech zleceniodawca zapłaci nam za system, który jest “”w miarę“” aktualny na dzień dzisiejszy, nie koniecznie w najnowszej technologi, a w miarę upływu czasu, gdy on przestanie być aktualny.. emocjonalne
13-1 Niech zapłaci po raz kolejny. Nigdy nie będziemy mieli gwarancji, że technologia będzie najnowsza/aktualna. Piszmy w tym co jest dobre i aktualne, nie koniecznie najnowsze. hipoteza
13-2 Co do przykładu SOL-SYSTEM, to wydaje mi się, że co kilka lat (jeśli będzie na ten produkt jeszcze zainteresowanie) można go “”przepisać“”, ale to naprawdę w dramatycznych przypadkach. Po co zmieniać coś, co działa i jest wystarczająco użyteczne? hipoteza
14-0 Podobnie jak moi przedmówcy, uważam, że jeśli dane rozwiązanie spełnia swoją funkcjonalność, jest poparte długim okresem użytkowania świadczącym o stabilności i bezawaryjności danego systemu oraz nic nie wskazuje na potrzebę wprowadzania w przyszłości dość radykalnych zmian w systemie, to zmiana technologii raczej nie wydaje się być uzasadniona. logiczne
14-1 Jednym z ważnych czynników jak już jeden z kolegów wspomniał jest skalowalność systemu (sprostanie zwiększonej ilości użytkowników), zapewnienie stabilności działania i dostępności systemu - wówczas w przypadku nieprzewidzenia takiej sytuacji, lub napotkania na barierę ze strony aktualnie wykorzystywanej technologii, przesiadka na inną (być może wcale nie nowszą) technologię może okazać się nieuniknioną koniecznością. logiczne
14-2 Nigdy jednak nie jesteśmy w stanie do końca przewidzieć wszystkich czynników zewnętrznych, które kiedyś mogą sprawić, iż technologia, którą wybraliśmy może okazać się nieodpowiednia - dlatego uważam, że jeśli dostaniemy sygnały (nawet najmniejsze), mogące wskazywać na (być może) konieczność wprowadzenia w przyszłości drastycznych zmian w systemie wymagających zmiany technologii, to nie powinniśmy się tego bać i z wyprzedzeniem przygotować się (poczynić pewne kroki) do ewentualnej (gotowości do) zmiany technologii, by przebiegła ona możliwie płynnie i bezboleśnie. hipoteza
15-0 Rozwój projektu, zmiana jego wersji musi iść w parzę z wymaganiami postawionymi przez klientów. Jednakże, nowe wersje oprogramowania powinny być wystawiane dla klienta nie jako wersja Stable a np Release. To chyba rozwiązanie. Kto potrzebuje aktualizuje, kto nie czeka na opinie użytkowników odnośnie poprawnego działania. hipoteza
15-1 W kwestii kosztów przepisywania oprogramowania w celu dostosowania do nowszych technologii : jeśli firma, która ma stary i skomplikowany system będzie potrzebowała prostych zmian, a zmiany te będą zlecone innej firmie niż ta, która wdrożyła ten system , zmiany te mogą być z upływem czasu droższe lub może być problem ze znalezieniem firmy, która się tego zlecenia podejmie. inne
15-2 Takie sytuacje zdarzają się przy mniejszych projektach, gdzie klient nie chce unowocześniać swojego systemu przy okazji zmian, bo będzie za drogo. Oczywiście zgadzam się z tym, że jeżeli system działa mimo iż powstał nawet przy użyciu ekstremalnie starych technologii to należy go w takim stanie zostawić, szczególnie jeśli nie przewiduje się w nim zmian. inne
15-3 O korzyściach płynących ze stosowania cloud computing można usłyszeć na niemal każdej poświęconej mu prezentacji. O wysokim potencjale “”przetwarzania w chmurze“” świadczy nie tylko mocna pozycja weteranów tego rynku jak Amazon czy Rackspace, ale również pojawienie się nowych silnych graczy jak Microsoft i Google. Warto jednak zastanowić się również nad kilkoma kwestiami otwartymi związanymi z przetwarzaniem danych w chmurze. hipoteza
15-4 "A. Jakie potencjalne problemy biznesowe mogą wyniknąć z utrzymywania aplikacji w chmurze? B. Jakie zagrożenia trzeba uwzględnić na poziomie architektury/projektowym przygotowując aplikację do umieszczenia w chmurze? C. Czy biorąc pod uwagę mnogość dostawców rozwiązań typu cloud computing oraz zróżnicowanie poszczególnych usług można (a jeżeli można, to czy warto) rozwijać aplikację działającą na wielu środowiskach typu cloud? D. Czy warto budować chmurę prywatną (private/internal cloud) w obrębie przedsiębiorstwa? E. Czy cloud computing ma szansę przebić się w instytucjach, które zwracają szczególną uwagę na ochronę danych (banki, instytucje finansowe itp.)? F. Jakiego rodzaju systemy powinny/nie powinny/mogą/nie mogą zostać przeniesione na chmurę w Polsce? Czy cloud computing może znaleźć zastosowanie w administracji publicznej np. w ZUSie ;) ?" hipoteza
16-0 Pozwolę sobie na pierwszą wypowiedź w duchu krytyki cloud computingu. Widzę w tym podejściu zasadniczy problem - konieczność zarządzania czasem działania wynajmowanych maszyn wirtualnych (ze względu na koszty). Jest to kwestia, o której do tej pory firmy nie musiały myśleć. Przestawienie na nowy model może być dość oporne, co może doprowadzić do klęski cloud computingu. logiczne
16-1 Nie do końca rozumiem dlaczego konieczność zarządzania czasem działania maszyn jest aż tak wielką wadą tego rozwiązania ze mogła by doprowadzić do klęski. Z tego co wiem, to stawka jest, przynajmniej u niektórych dostawców, naliczana z dokładnością do 1 sekundy/minuty wykorzystanego czasu. Czas podłączania/odłączenia maszyny jest również dość krótki rzędu 10-60 minut. Stąd niebawem, jeśli jeszcze ich niema, pojawią się narzędzia do automatyzacji i optymalizacji ilości używanych maszyn w zależności od obciążenia obsługi. logiczne
16-2 Takie rozwiązanie mogło by pozwolić zoptymalizować wykorzystanie sprzętu, np: wcześniej przytoczony ZUS pracuje od poniedziałku do piątku i tylko powiedzmy od 8:00 do 15:00, ponieważ wiemy że w weekend nie będzie żadnego obciążenia systemu to możemy zmniejszyć ilość maszyn powiedzmy do 10% ilości niezbędnej do pracy w ciągu tygodnia. Pozwala to zaoszczędzić koszty, a jak coś pozwala zaoszczędzić to managment firmy już jest na to chetny :) emocjonalne
16-3 Stąd moje zdziwienie taka wadą, gdyż w moim rozumieniu jest to jedna z największych zalet cloud computingu - płacimy za sprzęt, który potrzebujemy w danym momencie, a nie za sprzęt, który musi podołać maksymalnemu obciążeniu które zdarza się co jakiś czas. hipoteza
16-4 Moim zadaniem większy problem może stanowić konieczność przestawienia się z myślenia o zasobach jako o konkretnym sprzęcie na myślenie o zasobach jako o usłudze. Wiele osób myśli, przecież jak będziemy im płacić po x $ miesięcznie to po 5 latach nazbieralibyśmy na własny sprzęt o wystarczającej mocy, a bylibyśmy przynajmniej niezależni. emocjonalne
16-5 Takie rozumowanie jest poprawne, przecież podobnie jest z wynajmem mieszkań, lepiej kupić własne mieszkanie niż przez całe życie je wynajmować. Jednak zakup mieszkania różni się od zakupu sprzętu komputerowego. Po pierwsze dom kupiony 10 czy 20 lat temu nadal spełnia wymagania znacznej większości współczesnych użytkowników. 20 letni komputer miał by zainstalowane Windows 3.0 (nawet nie 3.11 bo ten ma dopiero niecałe 19 lat). logiczne
16-6 Druga różnica polega na tym, że pojęcie 20 letni dom nikogo nie dziwi, co więcej takie domy sprzedaje się obecnie po cenie nieznacznie niższej od ceny nowowybudowanych. 20 letni komputer brzmi przynajmniej niezwykle, a 20 letni komputer zarządzający pewną niezawodną usługą wykorzystywana przez wielu użytkowników to naprawdę rzadkość (choć istnieją takie systemy, np system informacyjny na dworcu Poznań Główny), współczesne komputery o dużej mocy nie są przeznaczone do pracy przez 20 lat, lecz co najwyżej 2. inne
16-7 Dlatego w tym przypadku rozumowanie to nie uwzględnia dodatkowych kosztów i problemów. Jeśli chcemy kupić własną infrastrukturę to oprócz kosztu jej zakupu, utrzymania, trzeba również doliczyć koszt jej wymiany na nowa gdy ta już się zużyje. Wtedy jednak może się okazać ze lepiej będzie płacić już Im za usługę niż za własny sprzęt. logiczne
17-0 Przetwarzanie w chmurze wywołało spore zamieszanie w branży ogólnie określonej jako IT. Interesujące jest, a dodatkowo chyba jedno z najważniejszych, jak zostanie rozwiązana kwestia bezpieczeństwa. hipoteza
17-1 Jak podaje World Privacy Forum (organizacja non-profit zajmująca się m.in.problemem bezpieczeństwa danych w Internecie) nie jest do końca jasne, co się dzieje z danymi przechowywanymi w ramach tejże usługi, ani gdzie dokładnie przechowywane są dane. Na pewno osoby nieupoważnione mają łatwiejszy dostęp do danych przechowywanych w chmurze, przecież dane oprócz przechowywania muszą dodatkowo płynąć z i do chmury. W dużej mierze bezpieczeństwo opiera się o zaufanie do dostawcy usługi. rzeczowe
17-2 Żeby rozwiązać problemy na pewno trzeba zastosować odpowiednio mocne zabezpieczenia i to w wielu miejscach całej usługi. hipoteza
18-0 Bezpieczeństwo danych to jedno, gorzej jeśli w ogóle zostanie utracony do nich dostęp (szczególnie tyczy się to mniejszych providerów). Powiedzmy, że system nagle padnie i zewnętrzny usługodawca nie może (lub nie chce!) naprawić usterki - jesteśmy zdania na łaskę techników. Podobnie może się zdarzyć jeśli usługodawca nie będzie mógł dalej dla nas świadczyć usług. emocjonalne
18-1 Praca z chmurą ma to do siebie, że trzeba być podłączonym do internetu. Może to wydawać się śmieszne, ale w historii parę razy zdarzało się, że np. statek uszkodził kabel i co spowodowało albo gigantyczne zator ruchu lub odcięcie dostępu. Rozwiązaniem może być np. rozproszenie głównych węzłów, jednak nie jest ono zawsze możliwe choćby ze względu na różne systemy prawne. inne
18-2 "W jednej z dyskusji w internecie poruszono też możliwość bankructwa providera w czasach kryzysu. Co prawda obecnie nic nie wskazuje na to aby np. Amazon miał ogłosić upadłość ;), ale patrząc na to jak Lehman Brothers nagle pożegnał się z rynkiem…" inne
18-3 M.in. dlatego warto inwestować w prywatną chmurę, aby dane nie uciekały za daleko, a nadwyżce zasobów można też zarobić. hipoteza
19-0 Andrzej, tylko to o czym mówisz nie ma związku z samym cloud computingiem, a dostarczaniem przez kogoś usługi. Już w obecnych, powiedzmy klasycznych data canter, przy dzierżawie serwera albo wirtualki mamy do czynienia z takimi samymi zagrożeniami. To w kwestii dostawcy leży zapewnienie ciągłości usługi w tym np. redundantnych łącz. rzeczowe
19-1 "Oczywiście część problemów tradycyjnie się pokrywa, jednak chyba źle rozłożyłem akcent w poprzedniej wypowiedzi ;) Poza aspektem technicznym jest też biznesowy. W klasycznym podejściu firmy mają względnie wąski zakres działalności. Główni potentaci świadczą szeroki wachlarz usług, więc istnieje realne zagrożenie, że część moich rozwiązań może być wykorzystywana w innych podmiotach usługodawcy bez mojej wiedzy." emocjonalne
19-2 Tam gdzie są wielkie korporacje jest duża sieć powiązań między firmami (m.in. poprzez kapitał), więc mojemu providerowi może bardziej zależeć na wspieraniu pośrednio własnych rozwiązań (które mogą pojawić się w późniejszym czasie) niż konkurencyjnych. inne
19-3 "Cóż, nie jestem wielkim fanem korporacji, w szczególności tych które mają powód do grzebania w moich danych, jak np. Google ;)" emocjonalne
20-0 Obecnie cloud computing stał się bardzo głośnym tematem. Czasami mam wrażenie, że za kilka lat stanie się czymś dla nas naturalnym. Już teraz zdecydowaliśmy się oddać swoje dane innym firmom (patrz: mail, kalendarz, filmy u “”wujka“” Google), pytanie czy oddawanie swoich “”obliczeń“” również możemy przekazać innym? hipoteza
20-1 Wydaje się, że wszystkie zalety chmur są też ich wadami. hipoteza
20-2 Owszem nic nie zapowiada upadku Amazona, ale nigdy nie wiemy, czy rząd USA nie zdecyduje się zmusić ich do oddania ich wszystkich danych w celu “”walki z terroryzmem i pedofilią“”. emocjonalne
20-3 Statki często przepływają nad kablami i wszystko działa, ale zdarzają się pojedyncze przypadki, gdy coś się psuje. Wystarczy przypomnieć sobie “”odcięcie“” ZEA i Arabii Saudyjskiej w zeszłym roku (przecięte zostały dwa z pięciu światłowodów łączących te kraje z siecią). rzeczowe
20-4 Do tego, pomimo pozornego rozproszenia. Internet należy (jest pod kontrolą) kilku dużych organizacji. Jak zapewnić ich niezależność i sprawiedliwość? Czy nie będą nas “”podsłuchiwać“”? hipoteza
20-5 Do tego rozwój sieci - infrastruktury nie nadąża za potrzebami. Coraz częściej zdarzają się przestoje spowodowane zapchaniem się łącz. Czy sieć jest wsatnie utrzymać dużo chmur? hipoteza
20-6 Jedyną naszą obroną jest anonimowość przez masowość. Giniemy w tłumie informacji i dopóki jesteśmy “”nieciekawi“” dla innych możemy czuć się bezpiecznie. Możemy też zadbać o własne zabezpieczenia danych (np. szyfrując je), ale potrzebujemy do tego własnej mocy obliczeniowej, czy to nie psuje idei cloud computingu? hipoteza
20-7 Nie twierdze, że CC jest złe, ale należy się solidnie zastanowić czy jest adekwatne do naszych potrzeb. logiczne
20-8 Idealnie pasuje tu komiks. Dzisiejszy (07 Stycznia) Dilbert: http://dilbert.com/strips/comic/2011-01-07/ inne
21-0 Zastanawia mnie, dlaczego wszyscy burzą się tak bardzo o bezpieczeństwo. emocjonalne
21-1 Czy każdy z nas będzie przechowywał w chmurze dane z hasłami albo inne bardzo ważne dane? Skoro tak, to wtedy niestety trzeba zapłacić więcej dla lepszej ochrony. logiczne
21-2 Dla mnie to jest wygodne, tak samo jak dostęp do dokumentów umieszczonych na google, zawsze i wszędzie ma się do nich dostęp (pod warunkiem dostępu do internetu). Nie trzeba wszystkiego zapisywać np. na pendrive, a potem martwić się czy przypadkiem się nie uszkodzi). inne
21-3 Co do zastosowania chmury w bankach i innych instytucji, które muszą mieć większe zabezpieczenia, to jaki w tym problem, jeżeli dostęp do takich danych miałyby tylko banki? hipoteza
21-4 Banki i tak muszą się komunikować w celu weryfikacji np. kredytobiorcy, więc banki z przyczyn oczywistych nie robiły ataków na konkurencje, bo wtedy skończyło się to źle dla wszystkich. inne
21-5 Z pewnością trzeba dość dobrze opracować szyfrowanie (jak to koledzy pisali wcześniej) i to chyba jest największym problem. hipoteza
21-6 Z pewnością za parę lat to już niewiele osób będzie cokolwiek instalować na komputerze tylko korzystać z tego co jest w necie. hipoteza
21-7 Podobnie było z kartą płatniczą. Ludzie myśleli jak to nie płacić gotówką, tylko jakąś plastikową kartą? A teraz w co 2 sklepie można płacić kartą (byłoby lepiej, gdyby były mniejsze prowizje banków :evil: ) inne
22-0 Musze się zgodzić z tą uwagą a nie zgodzić z Patrykiem. Uważam iż może powstać w firmie konflikt tego typu iż pracownicy będą naciskani do wykonania zadania w jak najszybszym czasie aby rachunki przychodzące za używanie clou computing były jak najmniejsze. Przez co powstaje niemiła atmosfera w pracy a efekty pracy mogą być gorsze. emocjonalne
22-1 Co do bezpieczeństwa to pewna organizacja europejska o nazwie ENISA zajmująca się bezpieczeństwem informacji zaproponowała cloud computing jako obecnie najlepszy wybór jako “”showstoopera“”. rzeczowe
23-0 W tej kwestii się zgadzamy. Oczywiście, wynajmowanie platformy w cloudzie może okazać się bardziej opłacalne, niż kupienie własnego sprzętu, ale musi być ktoś, kto to wyliczy i będzie zarządzał pracą w cloudzie (czytaj: będzie za to odpowiadał). logiczne
23-1 Na wykładzie zostało podane ciekawe porównanie: przestawienie się na cloud computing ma być tym, czym było przestawienie się z generowania prądu agregatami na zakup energii elektrycznej. Obawiam się jednak, że w przypadku cloud computingu, sytuacja jest inna. Dzisiejsze “”agregaty“”, czyli komputery są znacznie lepiej dostępne, niż agregaty prądotwórcze były kiedyś. logiczne
23-2 Dopiero pojawienie się dostarczycieli energii elektrycznej dało szansę mniejszym odbiorcom na pobieranie prądu. Moim zdaniem, to właśnie zadecydowało o sukcesie modelu sprzedawania prądu. Cloud computing nie ma takiej cechy. Czy mimo to da sobie radę? hipoteza
24-0 Nie nazwałbym tego “”naciskiem“”, a raczej dbałością o to, aby zadania uruchamiane na chmurze były dobrze zaprojektowane, skalowalne i odpowiednio przetestowane. Programiści i tak ulegają presji związanej z dotrzymywaniem harmonogramu, w obliczu której jakość dostarczanego kodu często schodzi (choć nie powinna) na drugie miejsce. inne
24-1 To, że zły design w chmurze przekłada się bezpośrednio na podwyższone koszty utrzymania aplikacji jest raczej zaletą niż wadą. Programistów zmusza to do skoncentrowania się na jakości rozwiązania, a pracodawcom pozwala łatwo ocenić co jest bardziej korzystne - płacić amazonowi/ibmowi/googlowi więcej za utrzymanie aplikacji, czy zatrudnić (lepszego/droższego) developera, który dobrze rozumie specyfikę chmury. logiczne
24-2 Odnośnie przechowywania danych (mam na myśli dane zastrzeżone osobowe) należy pamiętać, że jest to kwestia regulowana prawnie. Normy dotyczące przechowywania takich danych nie są spójne (w rozumieniu ogólnoświatowym). Wytyczne są dość rygorystyczne co do ich zabezpieczeń (także fizycznego zabezpieczenia nośnika), nie wiem czy dobrze pamiętam ale w naszym kraj obowiązuje konieczność przechowywania takich danych na terenie europy/kraju??. rzeczowe
24-3 Wydaje mi się, że jest to istotne ograniczenie wykorzystania CC. hipoteza
25-0 Pewne klasy problemów, związanych z bezpieczeństwem danych w chmurze stara się ominąć IBM. rzeczowe
25-1 Dzięki teorii krat i ideałów (ciężka algebra) udało się wypracować metody analizy i prowadzenia obliczeń na zaszyfrowanych danych. W ten sposób wyniki obliczeń mogę zostać odczytane przez klienta dopiero po odszyfrowaniu. rzeczowe
25-2 Źródło: http://websphere.sys-con.com/node/1015761 rzeczowe
26-0 Wydaje mi się, że jest jeszcze za wcześnie, aby polskie instytucje finansowe zaczęły korzystać z cloud computingu. W sferze takiej jak bankowość, gdzie przechowywane są ogromne ilości poufnych danych wskazana jest ostrożność. Mam na myśli tutaj dokładne sprawdzenie istniejących rozwiązań pod względem wydajności jaki i bezpieczeństwa. logiczne
26-1 Zapewne dużo będzie także zależeć od poczynań konkurencji, od tego jak sprawdziły się wprowadzone u nich rozwiązania. Na świeci banki stopniowo zaczynają korzystać z tego typu rozwiązań np. w Australii. Jak przy wprowadzeniu każdej nowej technologii musi upłynąć trochę czasu zanim ludzie się do niej przekonają. logiczne
26-2 Odnośnie administracji publicznej to takie rozwiązanie na pewno pozwoliłoby ograniczyć koszty a zarazem umożliwiłoby przeznaczyć te pieniądze na inne cele budżetowe. Znając polskie realia obawiam się jednak, że wprowadzenie mogłoby przysporzyć dużo niepotrzebnych kosztów i problemów dla nas, zwykłych obywateli. hipoteza
27-0 Czytając każdą z odpowiedzi widzę że każde myśli o kupowaniu chmury w jakimś DataCenter. Istnieje przecież jeszcze inne rozwiązanie. Taką chmurę można zbudować na sprzęcie zakupionym, gdzieś w lokalnym garażu. Owe Banki posiadające masę sprzętu, dzięki wykorzystaniu Chmury, mogłyby zachować aktualne bezpieczeństwo danych, równocześnie zwiększając wydajność sprzętu. W tym wypadku dostępność usługi jest raczej problem dalszym bo zbudowanie redundantnej sieci LAN jest prostsze niż MAN czy WAN. inne
27-1 Podsumowując Cloud'y, instytucje które chcą lepiej wykorzystywać zasoby mogą budować własne chmury w oparciu o już dostępne urządzenia, bez konieczności utraty bezpieczeństwa (do tej chmury tylko oni mają dostęp). hipoteza
28-0 Pozostają jeszcze kwestie prawne, które są najmniej zrozumiałe obszarach cloud computingu. Na przykład, odpowiedzialności za własności intelektualne. Są dwa przykłady zagadnień prawnych, które często są przedmiotem dyskusji. Inne kwestie związane z umowami to koniec wsparcia eksploatacji - w przypadku gdy stosunki dostawca-nabywca, dane klientów i wnioski powinny być dostarczane do klienta, a wszelkie pozostałe kopie danych klienta powinny być usuwane przez operatora infrastruktury, itd. rzeczowe
28-1 Uważam, że cloud computing ma przed sobą przyszłość. hipoteza
28-2 Umieszczanie usług w publicznej chmurze jest dobre dla małych, nowopowstałych firm. Nie muszą się one martwić np. o opóźnienia powstałe w trakcie zamówienia i instalacji własnej infrastruktury, dzięki czemu nasza usługa może wystartować szybciej. My studenci, jako potencjalni przedsiębiorcy i twórcy przełomowych usług internetowych, zdajemy sobie sprawę z tego, że popularność takich produktów może rosnąć lawinowo, a raczej nikt z nas nie startuje z budżetem pozwalającym na własne Data Center. emocjonalne
28-3 Całkowicie się z tym zgadzam. Prywatny cloud utworzony wewnątrz firmy pozwala na skalowanie działających w nim aplikacji oraz na wyłączanie części clouda (ponieważ usługi nie są bezpośrednio powiązane z konkretną maszyną), gdy nie jest potrzebny cały, w celu obniżenia kosztów. Dodatkowo jeżeli nasze usługi działają na maszynach wirtualnych, bardzo upraszcza to sprawę wymiany sprzętu. Przy takim podejściu mamy zalety zarówno własnej serwerowni, jak i chmury. logiczne
29-0 Ja również się zgadzam. Chciałbym też zaznaczyć, że chmura prywatna prawdopodobnie sprawdzi się w niewielu sytuacjach. Jest dobra dla naprawdę dużych firm, które stać na postawienie odpowiedniej serwerowni u siebie. Albo ewentualnie firmy (być może także banki), które nie mogą całości danych czy aplikacji wynieść z serwerowni a chciałby korzystać z tej skalowalności, którą daje chmura. hipoteza
30-0 Główny problem biznesowy - brak dostępu do usługi/awarie. Rynek cloud computingu udownodnił, że potrafi wielokrotnie zawieść: http://www.reuters.com/article/idUSTRE6BB1TH20101213 http://webhosting.pl/Ciagle.awarie.Amazon.S3..Czy.uzytkownicy.sie.zbuntuja rzeczowe
30-1 Bardzo dobrze opisuje to artykuł: http://webhosting.pl/SaaS.entuzjazm.maleje.firmy.odwracaja.sie.od.aplikacji.w.chmurze rzeczowe
30-2 Firmy wycofują sie z cloud computingu, niedojrzały do tego typu inwestycji. Objawiły się nowe problemy z “”synchronizowaniem danych w chmurach i przenoszeniem danych między aplikacjami“” (cytat z podanej wcześniej strony). Początkowa fascynacja i popularność tego typu usług przechodzi w raczej w stan “”ochłodzenia“”. W dużej mierze winę ponoszą lobbiści tego typu rozwiązania, którzy forsowali w mediach/magazynach cloud computing jako świetne rozwiązanie dla biznesu. rzeczowe
30-3 Najbardziej w cloud computingu obawiałbym się bezpieczeństwa. Z racji tego, że cloud computing stawia na masowe ilości danych, wyciek jakichkolwiek danych/dziury byłby o skalę większy niż dostęp do pojedynczego serwera dedykowanego. logiczne
30-4 Jeśli chodzi o rozwijanie applikacji u wielu dostawców coud computing, jest to w chwili obecnej niemożliwe, albo bardzo trudne. Google korzysta z BigTables, Amazon ma własne S3 - takich przypadków możnaby mnożyć w nieskonczoność. Różnie w specyfikacji oraz sdk są nie do zunifikowania w najbliższym czasie. rzeczowe
30-5 Oczywiście istnieje amatorskie narzędzie do przeniesienia aplikacji z Google App Engine do Amazona EC2 o nazwie AppDrop (http://waxy.org/2008/04/exclusive_google_app_engine_ported_to_amazons_ec2/), ale niestety nie stanowi to w żadnym wypadku komfortowego rozwiązania na tego typu problemy. rzeczowe
30-6 Prowadzona na tym forum dyskusja pokazała, że w zakresie cloud computingu jest jeszcze wiele do zrobienia. Podniesione przez dyskutantów problemy takie, jak poziom bezpieczeństwa, jakość usług (bezawaryjność) czy kwestie prawne stanowią realne wyzwania dla dostawców chmur i pewnie w niedługim czasie doczekają się one bardziej wyszukanych “”chmurowych“” rozwiązań. hipoteza
30-7 Cloud computing ma duży potencjał, ale ma też swoje wady. Przetwarzanie w chmurze nie jest “”srebrną kulą“” informatyki. Nie powinno być to zaskoczeniem dla tych z Państwa, którzy doceniają zdobycze inżynierii oprogramowania, bowiem już jej klasyk (F. Brooks) stwierdził, że srebrnych kul nie ma. hipoteza
30-8 Dziękuję wszystkim za owocną dyskusję w tym wątku. inne
31-0 Wydaje się, że serwisy społecznościowe zaczynają wielu użytkownikom zastępować system operacyjny i dostępne na nim aplikacje i oferowane przez nie usługi. Ludzie logując się rano na facebooka spędzają na nim cały dzień, w tym czasie uzyskują dostęp dla istotnych dla nich informacji, pozostają w kontakcie z bliskimi, relaksują się (np. grają w dostępne gry) i w końcu informują innych o swoich aktywnościach. hipoteza
31-1 Czy ten model funkcjonowania serwisu społecznościowego sprawi, że “tradycyjny” system operacyjny niedługo w ogóle nie będzie dla użytkownika widoczny, tak jak kiedyś system dos przestał być widoczny dla użytkowników Windowsa 3.0? hipoteza
32-0 W pewnym sensie wydaje się, że jest to możliwe, ale rozumiem, że poza serwisami społecznościowymi mówimy tutaj również o udostępnianiu pewnego oprogramowania on-line, jak np. pakiet Office. W tym sensie wydaje się możliwe, że system operacyjny jako taki przestanie istnieć lub odgrywać istotną rolę. logiczne
32-1 Wystarczyły by wtedy terminale dające tylko przeglądarkę i dostęp do Internetu. I szczerze dla osób które tylko potrzebują dostęp do pakietów biurowych i Internetu było by to genialne rozwiązanie, praktycznie nic nie zepsują, o nic nie będą się pytać. logiczne
32-2 Inna sprawa, że dla osób mniej zaznajomionych z obsługą komputera coś takiego jak system operacyjny nigdy nie istniało, była tylko ikonka worda i przeglądarki internetowej zwana przez niektórych internetem. W tym sensie system operacyjny już jest niewidoczny dla użytkownika. inne
32-3 Z drugiej strony jednak osoby bardziej doświadczone nie pozwolą na takie rozwiąznie, bo straciły by całkowitą kontrolę nad własną maszyną. logiczne
32-4 Mam jeszcze tylko wątpliwości co do tego stwierdzenia. Wydaje mi się, że serwisy społecznościowe zastępują użytkownikom lokalne aplikacje. Systemu operacyjnego potrzebują tak jak zawsze, korzystając z urządzeń, karty sieciowej, klawiatury, zapisując pliki na dysku, itd. hipoteza
33-0 Zgadzam się z tą wypowiedzią. Moim zdaniem to właśnie przeglądarka internetowa (a właściwie to dostęp do Internetu) może zastąpić system operacyjny. Nie sądzę za to by facebook sam w sobie przejął funkcję systemu operacyjnego. Mimo dużej popularności tego serwisu większość osób nie korzysta tylko i wyłącznie z niego. logiczne
33-1 "Google nadal utrzymuje się na drugiej pozycji najczęściej odwiedzanych stron. A może za chwilę facebook przestanie być potrzebny? Rozwój technologi może jeszcze wiele zmienić. (Więcej na temat złych prognoz dla facebooka: http://wnet.bblog.pl/wpis,co;zastapi;facebooka;i;dlaczego;twoja;lodowka;polubi;polsat,47672.html :wink: )" rzeczowe
34-0 Facebook bardzo dynamicznie się rozwija, dostarcza coraz więcej możliwości - to fakt. Być może jednak w niedługim czasie zastąpi tradycyjny system operacyjny - ale jedynie przeciętnemu użytkownikowi (co w sumie oznacza większość rynku :)). hipoteza
34-1 "Swoją drogą facebook odniósł, przynajmniej tak wynika z pewnych statystyk, które niedawno widziałam, sukces w pewnych dziedzinach, który mnie dziwi. Mianowicie, jako źródło wiadomości z różnych stron. Jak dla mnie RSS dużo lepiej się sprawdza w tej roli! Ale widocznie facebook ma lepszy PR ;)." emocjonalne
34-2 Jeszcze jedno, to czy facebook zastąpi zwykłego maila? Słyszałam o planach uruchomienia maila w domenie facebook.com. Google już drży o swojego Gmaila, tym bardziej, że ponoć frima Zuckerberga współpracuje z Microsoftem nad połączenia tegoż maila z pakietem biurowym MS Docs.com, który jak wiadomo konkuruje z Google Docs. rzeczowe
34-3 Dlatego właśnie powstaje (powstało?) Chrome OS od Googla :). Zgadzam się jak najbardziej z Mateuszem, ale wydaje mi się, że jeszcze na to za wcześnie, a Google ze swoim systemem wyprzedziło swoje czasy. hipoteza
35-0 Postępujące sprzęganie wielu procesów z Facebookiem zwiększa szanse, że odpowiedź na zadane pytanie będzie brzmiało “Tak”. Pisząc procesy mam tu na myśli zatrudnianie pracowników (bywa, że jedyną możliwością złożenia aplikacji o pracę to zgłoszenie via Facebook), organizacja zbiórek pieniężnych ( sponsor przydziela tym większą kwotę, im więcej wirtualnych znajomych zdobędzie fundacja na Facebook-u ) czy też reklamowanie firm. logiczne
35-1 Odnosząc się do \rzeczywiście Internet oferuje co raz więcej funkcjonalności, które zastępują ich wersje desktopowe. Na dzień dzisiejszy nie potrzebujemy już klientów e-mail, konwersji formatów dokumentów dokonujemy on-line, powstają projekty które w przyszłości mogą zastąpić nawet oprogramowanie do obróbki grafiki typu Photoshop ( przykład tutaj : http://www.pixlr.com/editor/ ). rzeczowe
35-2 Gdyby pytanie dotyczyło Google, to odpowiedź byłaby jasna, ponieważ Google stworzył już prototyp komputera ( Cr-48 ), którego, nieprecyzyjnie mówiąc, systemem jest przeglądarka. Nie posiada on dysku twardwego, operacje wykonywane są w przegladarce a gromadzenie danych oparte jest o Cloud Computing. logiczne
35-3 Źródło : http://www.youtube.com/watch?v=zL2tuhjRFyw. rzeczowe
35-4 Jeśli technologia będzie dalej dążyć w tym kierunku - mam na myśli rozpowszechnienie Cloud Computingu i zastąpienia aplikacji desktopowych - internetowymi, należy zadać sobie pytania: 1) Czy nasze dane będą bezpieczne ? 2) Co się stanie gdy nie będziemy mieli dostępu do internetu? hipoteza
36-0 Nie prototyp a działające maszyny. Pierwsza seria została rozesłana losowym testerom w USA. rzeczowe
36-1 ChromeOS - system operacyjny google netbookach prawdopodobnie będzie hitem tego roku. A stąd już o krok od zadomowienia się w systemu - przeglądarki w komputerach osobistych i laptopach. rzeczowe
36-2 2) Co się stanie gdy nie będziemy mieli dostępu do internetu?Zwykli użytkowicy komputerów, gdy nie mają dostępu do internetu i facebooka zaczynają oglądać filmy w telewizji bądź czytać książki. Brak internetu w naszych czasach jest dla użytkowników komputerów prawie jednoznaczny z brakiem prądu. emocjonalne
37-0 "Zwróć uwagę, że Facebook daje łatwą oraz szybką możliwość dyskusji i dzielenia się ze znajomymi jakimś newsem lub wydarzeniem. Mało tego, w RSSie nie zaznaczę, że wybieram się na koncert mojego ulubionego zespołu ;)." inne
37-1 Jeśli technologia będzie dalej dążyć w tym kierunku - mam na myśli rozpowszechnienie Cloud Computingu i zastąpienia aplikacji desktopowych - internetowymi, należy zadać sobie pytania: 1) Czy nasze dane będą bezpieczne ?Jeżeli dostęp do całej mojej poczty i plików ma polegać tylko na jednym haśle, to odpowiedź nasuwa się sama :) hipoteza
37-2 Prztyczkiem w nos Facebooka może być startująca powoli Diaspora, jednak czy zamieni się to w nokautujący cios? Raczej nie zależy to od tego czy internauci kupią idee, które za nią stoją. Być może wytworzy się zjawisko mody na Diasporę, ale w tym momencie jest to wróżenie z fusów. emocjonalne
38-0 Wydaje mi się, że jak to Zuckerberg określił facebooka, jako “”social operating system“” tym zostanie i raczej tego nic nie zmieni. Tak jak inni pisali, przeglądarka to nie wszystko i są jeszcze ludzie, którzy używaja innych funkcji systemów operacyjnych. hipoteza
38-1 Natomiast chciałam kontynuować coś, co napisał Kamil. Jeżeli idąc tym tokiem myślenia, że jeśli nie ma internetu ludzie sięgaja do filmów i telewizji, to co jeśli facebook zaatakuje i ta strefę życia/rozrywki? Czytałam właśnie artykuł o tym, że przyszłością telewizji ma być właśnie facebook! http://www.businessinsider.com/facebook-tv-2011-1 inne
38-3 Jeśli dobrze zrozumiałam ten artykuł, jeżeli podłączymy telewizję do internetu, to będziemy mogli mieć zawartośc internetu w telewizorze oraz mieć opcje zwykłego telewizora. Czyli nie ma to jak dwa w jednym. Pomysł wziął się chyba z tego, że google i apple też mają zamiar ruszyć z własną “”telewizją“”. hipoteza
38-4 Ale co by nie było, możliwość przeglądania swoich friendsów na telewizorze w tym samym czasie oglądając swój ulubiony program telewizyjny brzmi interesująco. Facebook jest juz zintegrowany z Xbox live, więc czemu by nie pójśc o krok dalej? emocjonalne
38-5 Podsumowując, wydaje mi się, że obawa o to, że Facebook mógłby się stać systemem operacyjnym nie jest najgorszym, co może nas spotkać w niedalekiej przyszłości. hipoteza
39-0 W moim “”zagajeniu“” chodziło mi o to, że facebook to coś zupełnie innego niż przeglądarka (i również system operacyjny). System operacyjny to środowisko, w którym można uruchamiać różne aplikacje w celu uzyskania dostępu do pewnych usług. Z tej perspektywy przeglądarka to na pewnym poziomie abstrakcji to samo - dzięki niej mogę uzyskać dostęp do określonych aplikacji/usług. Facebook to coś więcej. Na pierwszym miejscu jest sprofilowana usługa (kontakt ze znajomymi, rozrywka, informacja, itp.) bez konieczności zastanawiania się jaką to też aplikację muszę zainstalować aby uzyskać dostęp do określonej usługi. rzeczowe
39-1 Czy na pewno tak jest? Czy będzie tak, że przy starcie komputera (albo terminala - bo po co komputer?) od razu uruchomi się facebook jako nakładka? Czy użytkownik (nie programista) musi wiedzieć jak to wszystko działa tzn. czym ten facebook jest “”napędzany“” (tak samo jak i my nie wiemy w większości jak działa oprogramowanie sterujące silnikiem/absem/esp w samochodzie)? hipoteza
40-0 Moim zdaniem facebook ma szansę zastąpić system operacyjny, bo tak jak napisał pan dr Marciniak, wszystkie niezbędne aplikacje są pod ręką i nie musimy się zastanawiać jaki program należy uruchomić jeżeli np. chcemy odtworzyć film. hipoteza
40-1 Sama mam wielu znajomych dla których podjęcie decyzji jaka aplikacja jest odpowiednia do otworzenia danego pliku graficznego jest nie lada wyzwaniem. A nie daj boże jeżeli np. podczas uruchamiania filmu pojawi się informacja o brakującym kodeku wtedy lepiej zrezygnować z filmu:) inne
40-2 Z drugiej strony uważam, że teraz jest po prostu moda na Facebook i dlatego ludzie tak oszaleli na jego punkcie. Zauważcie, że tak samo było z Naszą Klasą… wystarczyło, że zaczęli wprowadzać za dużo nowinek i ludzie zniechęcili się do tego portalu przynajmniej takie jest moje odczucie. emocjonalne
41-0 Moim zdaniem póki co facebook przypomina bardziej portal społecznościowy niż pewnego rodzaju abstrakcje systemu operacyjnego. Na razie ma mało wspólnego z abstarakcja wspomniana przez dr Marciniaka i prędzej zsiwieje niż to się zmieni. Wydaje mi się, że głównie użytkownikami są osoby które logują się an Facebooka w celu skomentowanie zdjęć znajomego, czatowania i dodawania “”sweetasnych foci“” i nie sadzę aby takie osoby potrzebowały facebooka na kształt systemu operacyjnego. emocjonalne
42-0 Facebook to oczywiście portal społecznościowy i pewnie zawsze (?) nim będzie. W moich wypowiedziach chodziło nie o to, że facebook przyjmie postać znanych obecnie systemów operacyjnych, ale że przejmie (dla użytkownika) rolę systemu operacyjnego (tzn. że użytkownikowi takiemu windows do niczego nie będzie potrzebne bo wszystko co mu będzie potrzebne do działania będzie miał w facebooku). Czyli systemy operacyjne jakie znamy znikną. No właśnie, znikną? hipoteza
43-0 Zgodzę się z twierdzeniem, że portale społecznościowe (czy ogólne przeglądarka internetowa) mogą przejąć niektóre funkcje systemu operacyjnego i programów użytkowych. Przede wszystkim kontakt ze znajomymi może być z powodzeniem realizowany przez portale społecznościowe. Znam kilka osób, które odłożyły standardowe komunikatory na rzecz rozwiązań proponowanych przez portale społecznościowe. inne
43-1 Równie dobrze portale internetowe mogą służyć do publikowania zdjęć, nawet całych galerii. Sądzę, że niektórym może to nawet zastąpić tradycyjny album. Ostatnio namnożyło się serwisów oferujących telewizję internetową czy internetowych wypożyczalni filmów. Dalej, istnieją aplikacje internetowe pozwalające na zarządzanie i edycję dokumentów. inne
43-2 Chyba wszyscy tutaj słyszeli o Google Docs. Równie a nawet bardziej rozwinięty jest przemysł gier “”przeglądarkowych“”. Sam od czasu do czasu pogrywam w Burnin Rubber 3 czy Burnin Rubber 4 . Istnieją nawet wyspecjalizowane aplikacje webowe do edycji grafiki, animacji czy nawet muzyki (sic!) - chociażby AjaxAnimator czy Aviary Tools . inne
43-3 Poza tym powstało wiele innych ciekawy rozwiązań oferujących webowy interfejs. Od programów do fakturowania na zarządzaniu systemem operacyjnym kończąc (Webmin, Usermin, Virtualmin, ISPConfig). Nikogo już dziś nie dziwi możliwość zarządzania routerem, serwerem wydruku, serwerem plików czy zasilaniem awaryjnym przez przeglądarkę internetową. Stało się to wręcz czymś naturalnym. emocjonalne
43-4 Mimo to uważam, że portale społecznościowe ani nawet przeglądarka internetowa nie są w stanie zastąpić systemu operacyjnego. Producenci oprogramowania już się o to zatroszczyli. hipoteza
43-6 Kilkanaście lat temu na cyfrowy aparat fotograficzny mogli sobie w Polsce pozwolić nieliczni. Dzisiaj ten wynalazek nikogo nie dziwi. Jest on w zasadzie wypierany przez coraz lepsze aparaty w telefonach komórkowych . Podobnie z kamerami cyfrowymi. Obróbka filmów z wakacji na komputerze, przygotowanie filmu na DVD i oglądanie na później na telewizorze nie jest już niczym niezwykłym. inne
43-7 Do tego jednak potrzebne jest odpowiednie oprogramowanie. A tego na razie nie zapewni nam Facebook czy żadna inna aplikacja internetowa. rzeczowe
43-8 Od lat do komputerów Mac dołączane jest oprogramowanie iLife. W skład pakietu wchodzi program do zarządzania i prostej obróbki zdjęć (iPhoto), tworzenia cyfrowych filmów video (iMovie, iMovie HD), authoringu DVD (iDVD), tworzenia muzyki (GarageBand), tworzenia prostych stron internetowych (iWeb). Dodatkowo już w samym systemie dostępne jest oprogramowanie do zarządzania muzyką zintegrowane ze sklepem internetowym (iTunes), klient poczty (Mail), kalendarz (iCal) i książka adresowa (Address Book). rzeczowe
43-9 Całość jest ze sobą mocno zintegrowana jak również z zewnętrznymi usługami internetowymi. Na przykład iPhoto poza możliwością tworzenia albumów ze zdjęciami, kart okolicznościowych i kalendarzy, pozwala wygenerować galerię zdjęć w postaci strony www i umieścić ją w Internecie, tworzyć fotokasty, czy też zamówić przez Internet odbitki zaznaczonych zdjęć. Zadania, wydarzenia, kontakty oraz inne dane możemy łatwo zsynchronizować z urządzeniami przenośnymi za pomocą iSync. rzeczowe
43-10 Do niedawna w Windows musieliśmy szukać oprogramowania wśród produktów firm trzecich. Czasami było one dołączane do zakupionego sprzętu w szczególności laptopów czy kamer cyfrowych, jednak nie oferowało takiej integracji jakiej możemy doświadczyć w przypadku oprogramowania Apple. inne
43-11 Microsoft obudzi się jednak nieco przy premierze Visty wprowadzając Windows Calendar, Windows Contacts, Windows Mail, Windows Photo Gallery, Windows Movie Maker (w tym przypadku akurat ulepszając istniejący program) czy Windows DVD Maker. rzeczowe
43-12 O ile zgodzę się, że blogi czy portale społecznościowe są w stanie zastąpić oprogramowanie takie jak iWeb to jednak do innych tradycyjnych programów nadal portalom społecznościowym daleko. Uwierzę jeszcze w przeniesienie niektórych programów częściowo do chmury czy wzbogaceniu obecnych rozwiązań o publikację materiałów w serwisach społecznościowym, ale nie widzę możliwości zastąpienia wszystkich aplikacji przez przeglądarkę internetową a już na pewno nie przez portale społecznościowe. inne
44-0 Wciąż obstaję przy opcji, że facebook ma szansę odgrywać dla zwykłego użytkownika (nieinfromatyka) rolę systemu operacyjnego. Bo zastanówmy się z czego taki zwykły użytkownik najczęściej korzysta? hipoteza
44-1 Do szczęścia potrzebne mu są: Aplikacje: - do tworzenia dokumentów tekstowych, arkuszy kalkulacyjnych, prezentacji, do przeglądania, edytowania zdjęć, - słuchania muzyki, - oglądania filmów, - do komunikacji ze znajomymi. Funkcje: - możliwość sprawdzenia poczty, - śledzenie aukcji, - możliwość personalizacji swojego profilu (zmiana tapety, kompozycji, ikonek, itp.), - no i oczywiście możliwość pogrania w gry. rzeczowe
44-2 Jak widać wszystkie te funkcje są realizowane przez facebook, a jeżeli nie to pewnie pojawią się w przyszłości. Co więcej wszystko znajduje się w jednym miejscu, nie musimy szukać po folderach odpowiednich aplikacji. logiczne
44-3 Ale z drugiej strony, są jeszcze również użytkownicy bardziej zaawansowani, którzy wymagają znacznie więcej. Dlatego możemy być spokojni, bo facebook na pewno nie zastąpi SO, jedynie dla mało wymagającego użytkownika może pełnić taką rolę. logiczne
45-0 SilveOS jest tego dobrym przykładem: http://silveos.com/ Polecam wypróbować ten “”system operacyjny“” (Logujemy się bez hasła) rzeczowe
46-0 Po części zgadzam się z Justyną Z. W moim przekonaniu nie ma najmniejszej szansy aby jakiś serwis społecznościowy zastąpił choćby promilowi użytkowników internetu system operacyjny. Na pewno znajdą się szaleńcy którzy przesiedzą na tym portalu mnóstwo czasu ale zapewne wynika to z jednej podstawowej funkcjonalności FB “”łatwy kontakt ze znajomymi“”, najprawdopodobniej są to ci sami ludzi którzy siedzieli tak na NK, czy też jeżeli chodzi o polaków to np. na gg i spędzali na tym tyle samo czasu. emocjonalne
46-1 Jeżeli chodzi o kwestie tego, że niektórym posiadaczą komputera wystarczył by terminal z przeglądarką i dostępem do internetu to faktycznie coś w tym jest. Pakiet biurowy, mail, komunikator, jakieś forum i strona z newsami to często wielu osobom wystarcza. logiczne
46-2 "Ale jest ogromna ilość osób posiadająca większą świadomość oraz większe potrzeby (tzw. bardziej wtajemniczeni ;) ), którzy potrzebują więcej. Jakże wielka grupa ludzi którzy wykorzystają komputer w celach rozrywkowych tj. gracze (mam na myśli takie prawdziwe gry nie takie przeglądarkowe) tutaj bez porządnego sprzętu się nie obejdzie." emocjonalne
46-3 W teori można było by to zrealizować ale w praktyce nie wyobrażam sobie tego. Oglądanie filmów w jakości full hd (który jest standardem na dzień dzisiejszy) też było by ciężkie do zrealizowania (łącza internetowe tutaj by za mocno nas ograniczyły, nie każdy posiada >1Mb/s). logiczne
46-4 No i pozostaje jeszcze cała masa ludzi która korzysta z bardziej zaawansowanych programów, które nie zanosi się aby były dostępne przez przeglądarkę. inne
46-5 Podsumumowując FB nie zastapi SO. Sam system na pewno się zmieni w kilku najbliższych lat (np. http://windows8beta.com/2010/03/windows-8-will-be-a-cloud-based-os) ale to temat na inną dyskusję. hipoteza
47-0 Widzę, że zdania co do zastąpienia systemu operacyjnego Facebook'iem są dość podzielone. Ja także nie jestem do końca przekonany, czy taki obrót spraw będzie możliwy. Chociaż warto się zastanowić dla kogo taki FacebookOS byłby skierowany i jak miałby wyglądać. hipoteza
47-1 Wydaje mi się, że dzisiaj większość przeciętnych użytkowników komputera, to osoby, które nie pracują na nim w żaden sposób, a po prostu szukają rozrywki w internecie. Robią to także dość długo, sam znam kilka takich osób w pewien sposób już “”uzależnionych od internetu“”, które po prostu czują, że dzień bez surfowania w internecie jest dniem straconym. hipoteza
47-2 Nie należy długo szukać jeśli chodzi o miejsce gdzie warto surfować. Facebook jest do tego idealny - nie dość, że możemy “”spotkać się“” ze swoimi znajomymi, to jesteśmy przez niego informowani co ostatnio zdażyło się na świecie jeśli chodzi o sprawy trafiające w nasze upodobania. inne
47-3 W zasięgu ręki mamy przeglądarkowe gry, gdybyśmy chcieli poćwiczyć refleks lub umysł, nowe utwory muzyczne ulubionych wokalistów, gdy chcemy poobcować z muzyką itd. Można wymieniać prawie w nieskończoność. Internet jest gigantycznym źródłem informacji i faktycznie dzisiaj nie wyobrażamy sobie nie posiadać do niego dostępu gdy włączamy komputer, a Facebook jest miejscem ułatwiającym bez wątpienia dostęp do tego co nas interesuje. inne
47-4 Użytkowników naszego FacebookOS'a na pewno by nie zabrakło, gdyż ludzi użytkujących komputera tylko (a może i aż) w taki sposób są miliony. Co ze stroną techniczną? hipoteza
47-5 Na mniej więcej takich samych, wyżej wymienionych założeniach ma opierać się ChromeOS już wcześniej wspomniany w dyskusji. Oparcie głównie o aplikacje webowe i ogólnie zasoby internetowe w dzisiejszych czasach wydaje się dobrym pomysłem. logiczne
47-6 Zatem może faktycznie Facebook mógłby konkurować z systemami operacyjnymi jakie znamy dzisiaj. Być może nasz FacebookOS będzie klonem nadchodzącego ChromeOS lub pewnego rodzaju nakładką na coś bliższego dzisiejszym systemom operacyjnym. Ja jestem ciekaw co przyniesie przyszłość. logiczne
48-0 Nazwał bym to pytaniem o koncepcje Tannebauma - dane i ich przetwarzanie będzie w sieci. rzeczowe
48-1 Przeglądarki zaczynają coraz bardziej wspierać “”technologie“” takie jak javascript, jquery, gdzie mamy programowanie po stronie klienta. Łatwo możemy się połączyć z jakimś zasobem, bez odświeżania przeglądarki - facebook tak działa i m.in. dlatego jest popularny. rzeczowe
48-2 Dla firm, facebook udostępnił api programistyczne, jak to wygląda dzisiaj? Użytkownik naszej aplikacji internetowej podaje nam login i hasło do facebooka a my następnie przetwarzamy jego dane( miejsce zamieszkania, data urodzenia, znajomi, atrybuty profilu ) - narazie nie ma wszystkich informacji w api, ale pewnie gdyby nie kwestie prawne, już teraz mogłoby to spowodować jeszcze większy rozwój facebooka i dążenie do zastąpienia systemu operacyjnego. rzeczowe
48-3 Wyobrażmy sobie że wiele firm ma w swoich aplikacjach 20% danych pobranych z facebooka - powstaje dużo więcej programów dla danych z facebooka, a że wszystko jest łatwo dostępne, to firmy uzależniają się od facebooka lub są ich partnerami. Usługi internetowe takie jak facebook api, czy webservice, oraz rozwój przeglądarek i przetwarzania po stronie klienta, zrewolucjonizują internet i wpłyną na funkcje systemów operacyjnych. inne
49-0 Odnosząc się od wypowiedzi kolegi zgadzam się że Facebook nie zastąpi systemu operacyjnego, sprawdził by się on zapewne na komputerach typu netbook czyli małych, mobilnych laptopach z których mało kto korzysta w celu np grania w wymagające gry, oglądania filmu w jakości HD czy pisania programów lub innych rzeczy wymagających przynajmniej większego ekranu w celu komfortowej pracy i rozrywki. inne
49-1 Netbooki są głównie używane do mobilnego dostępu do Internetu, pisania maili, krótkich notatek, dokumentów tekstowych itp. W takiej roli portal społecznościowy Facebook miałby duże szanse powodzenia, udostępniając użytkownikowi w jednym miejscu wszystkich potrzebnych funkcjonalności. logiczne
50-0 "Z mojej strony mam nadzieję, że facebook nie zastąpi systemu operacyjnego… W końcu to jest portal społecznościowy - byłoby to wręcz doskonałe narzędzie do monitorowania każdego ruchu użytkownika… Czasem warto mieć coś swojego lokalnego ;-) Oczywiście to tylko moje zdanie. Taką mam jednak nadzieję, mimo że technicznie pewnie byłoby to możliwe…" emocjonalne
51-0 Moim zdaniem facebook mógł by spokojnie zastąpić system operacyjny. Nie, nie chodzi mi o to, że umiał by zarządzać pamięcią, szeregować procesy itd. Bardziej widzę facebooka jako nakładkę do czegoś, co posiada już wszystkie te funkcje, taki system udostępniał by użytkownikowi wszystkie funkcjonalności z facebooka i tylko te. Dla przeciętnego użytkownika korzystającego z facebooka przez większość swojego czasu było by to rozwiązanie optymalne, nie musiał by się martwić o rzeczy typu „przez przypadek usunąłem plik i system nie chce się uruchomić”. inne
51-1 System sam w sobie zajmował by bardzo mało miejsca, a jego możliwości konfiguracyjne były by w znacznym stopniu ograniczone, dzięki czemu użytkownik nie mógł by go „zepsuć”. Najbardziej przypomina mi to system obsługi towarów u pani na kasie w sklepie. inne
51-2 A jeżeli chodzi o ludzi którzy chcieli by więcej, tzn. programowanie i te sprawy, to mam na to jedną prostą odpowiedź: Zainstalujcie inny system operacyjny!(Albo doinstalujcie, bo zawsze można mieć ich kilka) emocjonalne
51-3 Wyobraźmy sobie że, posiadamy jeden komputer w domu i nagle przyjeżdża rodzina z młodszym kuzynem, który chce sobie „pograć” na komputerze, wtedy ze spokojem włączacie mu komputer, wybieracie system Facebook OS i spokojnie możecie iść wypić kawę z rodziną, bez obawy, że kuzyn usunie wam jakieś ważne plik itd. bo w systemie nie będzie w ogóle takiej możliwości(Oczywiście kuzyn musiał by mieć konto na facebooku, by nie powypisywać na naszym profilu dziwnych rzeczy, ale pewnie znając nasze piękne polskie społeczeństwo miał by je założone tuż po swoim urodzeniu). inne
52-0 To znacznie ograniczyłoby problemy przeciętnego użytkownika i co za tym idzie sytuacji, w których trzeba mu pomagać. logiczne
52-1 Całkowicie zgadzam się z opinią, że w przyszłości dla większości użytkowników jakiś portal będzie synonimem systemu operacyjnego, właśnie przez oferowanie wszystkich podstawowych, potrzebnych im funkcjonalności. logiczne
52-2 Ale to bardzo mało prawdopodobne, żeby moja mama założyła sobie konto na facebooku, gdyż dla niej funkcjonalność -kontakt ze znajomymi -jest zbędna i wręcz niepożądana. Dlatego myślę, że niekoniecznie to właśnie facebook stanie się tym synonimem OS. logiczne
53-0 Ja rozpatrywał bym pokolenie nasze oraz przyszłe, a jak widać po dość sporej grupie społecznej lepiej przesiedzieć pół dnia na facebooku niż zrobić cokolwiek.( I tu przypomina mi się wizja rodem z filmu matrix, w której to ludzie są “”zniewoleni“” przez system komputerowy, ale to już temat na zupełnie inną dyskusję) emocjonalne
54-0 Ja zgodziłbym się z Michałem. Raczej aplikacje typu FB nie zastapią OS ale na pewno aspirują do tego. Funkcjonalności typu kontakt ze znajomymi, gra przez internet, oglądanie filmów, wymiana plików w skrócie rozrywkę (dla większości użytkowników nie związanych z informatyka do tego właśnie służy komputer) bez wątpienia można przenieść z komputera użytkownika na stronę oferującego (np w chmurę) . logiczne
54-1 Wtedy użytkownik nie musiałby się martwic instalacjami na dysku, posiadaniem aktualnej wersji, czy dostępnością stanu gry z innego komputera :). Wystarczyłby mu dowolny komputer, dowolny system operacyjny na nim i dowolna przeglądarka żeby mógł korzystać ze swoich zgromadzonych danych. (tak działa np q3live gdzie wystarczy mały plugin do przeglądarki i możemy grać) inne
54-2 Zostaje aspekt: a co jeśli nie ma internetu ? no wtedy taki system staje się bezużyteczny i wydaje mi się że to będzie jego największą potencjalna wada. logiczne
55-0 Brak dostępu do internetu w przypadku tego typu systemu mógłby być problemem, ale: -wydaje się kwestią czasu to, że internet będzie dostępny niemal w każdym miejscu na świecie -wiele osób włącza komputer tylko po to żeby skorzystać z facebooka, więc jeśli nie mają w danej chwili połączenia z internetem to i tak z niego nie korzystają inne
55-1 Myślę, że taki system mógłby odnieść duży sukces komercyjny. Reklama załatwiona. Inna sprawa, czy zatrzymałby użytkowników (nawet wielkich fanów) na dłużej. hipoteza
55-2 W dodatku całkiem niedawno portal Nasza-Klasa przewyższał popularnością Facebooka. Teraz się to zmieniło. Za rok, dwa może pojawi się jakiś inny popularny portal społecznościowy. Jeszcze kilka lat temu taki pomysł na system operacyjny zostałby wyśmiany. Może niedługo pojawi się coś zupełnie nowego co również “”wciągnie“” internautów. inne
56-0 Nie rozważyliśmy jeszcze dwóch kluczowych dla wielu osób kwestii: anonimowości oraz bezpieczeństwa. rzeczowe
56-1 Taka unifikacja logowania pozwala na łatwe zidentyfikowanie osoby oraz jej nawyków, stron które odwiedza czy też zainteresowań przez nie tylko Facebook'a, ale też firmy trzecie. Dla mnie jest to zła praktyka, poświęcamy naszą anonimowość w sieci na rzecz wygody - jeden login dla większości stron. logiczne
56-2 Twórcy takiego systemu mają w tym bardzo duży interes, posiadanie takich danych pozwala, na przykład, na dokładne wybieranie reklam dostosowanych do odbiorcy (Google już od dawna takie zabiegi stosuje). rzeczowe
56-3 Idzie to coraz dalej… Facebook pozwala na dostęp do coraz większej ilości naszych danych personalnych (http://tinyurl.com/4fkubzu), dla nas może nie jest to kluczowe ale na przykład dla mieszkańców USA to może być problem - zaczną się telefony z reklamami. A nie każdy wie o możliwości zapisania się do specjalnej listy (https://www.donotcall.gov/) aby ukrócić te praktyki. inne
56-4 W końcu to jest portal społecznościowy - byłoby to wręcz doskonałe narzędzie do monitorowania każdego ruchu użytkownika… Czasem warto mieć coś swojego lokalnego Oczywiście to tylko moje zdanie. Taką mam jednak nadzieję, mimo że technicznie pewnie byłoby to możliwe… emocjonalne
56-5 "Nie jest to tylko Twoje zdanie, jest nas więcej niż myślisz ;)" emocjonalne
56-6 Biorąc pod uwagę wspomniane już plany integracji Office Online z Facebook'iem nasuwa się kolejna kwestia: bezpieczeństwo naszych danych. Aplikacje zamiast przechowywać dane na naszych, lokalnych, dyskach będą przechowywane u producenta danego rozwiązania. rzeczowe
56-7 Poprzez “”zachmurzanie“” horyzontu internetowego firmy takie jak Google czy Microsoft będą w posiadaniu ogromnych ilości danych użytkowników. Oczywiście w regulaminach korzystania z tych usług gwarantowana jest pełna dyskrecja oraz bezpieczeństwo danych, ale czy na pewno nikt postronny nie ma do nich dostępu? hipoteza
56-8 "Drugą sprawą jest fizyczne bezpieczeństwo naszych danych. Nawet największym firmom zdarzają się awarie powodujące utratę danych klientów (Microsoft - http://tinyurl.com/yhydpu2). Oczywiście równie łatwo dane mogą “”zniknąć“” z lokalnych dysków ;)" inne
56-9 Ogólnodostępne portale społecznościowe czy zestawy aplikacji biurowych nie sprawdzą się także w firmach, gdzie bezpieczeństwo danych jest kwestią kluczową. Oczywiście sama technologia Cloud nie jest zła, poprzez tworzenie lokalnych chmur w obrębie instytucji można udostępniać funkcjonalności pakietów biurowych dla wszystkich ich pracowników. rzeczowe
56-10 Niestety funkcjonalność takich rozwiązań jest na razie dość ograniczona - udostępniają one jednak tylko podstawowe funkcje dla programów nie wymagających dużych zasobów. rzeczowe
56-11 Podsumowując: zgadzam się z opinią, że systemy a'la FacebookOS dla “”szarego“” człowieka mogą spełnić swoje zadanie, ale mają one swoją cenę. hipoteza
57-0 Odnosząc się do wypowiedzi przedmówców to internet w telewizorze nie jest chyba żadną nowością już od dawna różne dekodery na to pozwalały, potem do tego grona dołączyło PlayStation a od jakiegoś czasu już bez żadnych dodatkowych urządzeń można podłączyć telewizor do internetu. Patrząc na to, że w przeszłości już się tak dało a nie widać ludzi posiadających PS i korzystających z FB przez TV to raczej dalej tak zostanie (szybciej skype + TV będzie popularne zamiast telefonów). inne
57-1 Kolejnym aspektem jest popularność FB dość znana jest taka teoria, że migracja pomiędzy portalami społecznościowymi następuje co 4 lata ( mieli mało czasu aby to wyliczyć ale jakoś się to mądrym ludziom udało). Chciaż patrząc na google.com/trends facebook rośnie w siłe. rzeczowe
57-2 Ktoś wspomniał o programach do edycji zdjęć przez internet. Moim zdaniem skoro Gimpowi nie udało się dogonić Adobe do tej pory to nikt inny jak Adobe sobie z tym nie poradzi. Chyba, że mówimy o podstawowej edycji. logiczne
57-3 Oglądanie filmów z internetu czy to przez FB czy inne strony jak MegaVideo w jakości HD jest raczej póki co fikcją. YouTube jeśli dobrze pamiętam do dziś nie przynosi dochodów(w 2008r. przyniósł im z kolei 470 milionów straty) ponieważ zyski z reklam nie zwracają im przestrzeni dyskowej, prądu etc a tu nawet nie mamy porządnej jakości. Przyzwoity HDrip waży jakieś 10GB. inne
57-4 10.000MB / 90min/60sek = 1,8MB/s czyli około 15Mbit/s potrzeba żeby przesłać taki obraz. Nie oszukując pomimo że możemy wziąć np. z UPC 25Mbit/s to i tak jest to transfer ciężki do osiągnięcia dziś na przeciętnym internecie. inne
57-5 Do tego dochodzi kwestia legalności filmów. Muszą być płatne jeśli mówimy o nowościach kinowych. A jak dobrze wiemy, żaden polak nie zapłaci za to co można mieć za darmo. Sadzę, że dużo szybciej popularne będzie VOD, które już jest dostępne u większości operatorów telewizji kablowej. emocjonalne
57-6 Następną sprawą jest to, że FB się rozwija ale nie bardzo widać, żeby tempo było zatrważające. Raczej zmiany wprowadzane są dość powoli (chyba, że o czymś nie wiem nie jestem fanem). A bez dużych zmian sytuacja, że FB zastąpi nam OS jest mało prawdopodobna. logiczne
57-7 Mogą przejąć nasze maile itp. Tak jak to niedawno było słychać, że za parę milionów od amerykańskich farmerów kupili domene fb.com, podobno żeby nie mieszać kont firmowych( z końcówka @facebook.com) i użytkowników i przy okazji pokłócili się z google, że nie będą im dawać danych o preferencjach użytkowników jeśli oni nie pozwolą im grzebać w gmailach ludzi. inne
57-8 Na koniec chciałbym jeszcze dodać, że bardziej prawdopodobna wydaje się sytuacja jak już kilka osób wspomniało, że przeglądarka przejmie role systemu operacyjnego. Google z Chrome jest na dobrej drodze, są dodatki rozszerzające przeglądarkę o proste funkcje ale także jest https://chrome.google.com/webstore z ciekawszymi rozwiązaniami. A ostatnia wersja silnika od JS zdyskwalifikowała przy okazji chwilowo konkurencję. Jeśli już dopatrywać się przejęcia przez coś roli OS to właśnie w chrome. logiczne
58-0 Skoro Google postanowił stworzyć system operacyjny oparty na przeglądarce internetowej uważam, że Facebook może przejąć taką rolę. hipoteza
58-1 Urządzenia, których systemem operacyjnym byłby rozbudowany klient Facebooka (nie mam tutaj na myśli przeglądarki) z pewnością trafiłyby do pewnej określonej grupy ludzi. hipoteza
58-2 Wydaje się jednak, że oczekiwania potencjalnych użytkowników z czasem zaczęłyby rosnąć, co sprowadza się do systemu operacyjnego. Chyba, że Facebook zacząłby udostępniać bardziej użyteczne narzędzia w chmurze. Obecnie poza komunikatorem można na facebooku pograć we flashowe gierki, a nie np. wysyłać maile i tworzyć dokumenty. logiczne
58-3 Systemy operacyjne nie znikną ze względu na to, jakie możliwości udostępniają użytkownikom. logiczne
59-0 W tej chwili wydaje się, że internetowe systemy operacyjne są gotowe do pracy. Nie oferują one jednak tego samego komfortu jak systemy desktopowe, ale wydaje mi się, że dla każdego fana technologii, prawdopodobnie będzie równie użyteczny. Bardzo przydatną funkcją jest przesyłanie danych. System operacyjny może służyć jako miejsce składowania kopii zapasowych danych i zapobiega awarii komputera. Warto wypróbować. Jeżeli byłoby to zintegrowane z Facebookiem to całość byłaby uslugą godna uwagi. inne
59-1 Wydaje mi się, programy do obróbki zdjęć dla zwykłych, domowych, użytkowników to zupełnie inny kaliber niż Gimp czy Photoshop. Dla prostej obróbki aplikacje internetowe, działające oczywiście najpierw na lokalnych danych (model “”upload-to-process“” tutaj się nie sprawdza), mogą się całkiem nieźle sprawdzać. Szczególnie jeśli są połączone z usługami do publikacji (Picasa) czy drukowania odbitek. logiczne
59-2 Niekoniecznie, warto rozważyć model stosowany na przykład przez Hulu. Jest on stosowany przez iplex.pl. rzeczowe
60-0 Wszystko zależy od definicji słowa “”fan“”. Jak dla mnie dla osób biegłych w obsłudze komputera dzisiejsze aplikacje internetowe po prostu udostępniają zbyt małe możliwości. Problem jest podobny do różnicy pomiędzy graniem na PC i konsolach - PC udostępniają większe możliwości za cenę większych kosztów developowania oprogramowania na nie, gdyż konsole posiadając ujednolicony sprzęt ułatwiają proces optymalizacji. logiczne
60-1 "Fan może sobie taką funkcjonalność oskryptować używając na przykład Dropbox'a ;)" emocjonalne
61-0 Jeżeli facebook miałby zastąpić system operacyjny to (według mnie) tylko dla “”przeciętnych“” użytkowników, którzy nie pracują przy pomocy komputera. Nie mogę sobie wyobrazić, aby na dzień dzisiejszy na facebooku umieścić kompilator lub programy do profesjonalnej obróbki zdjęć. logiczne
61-1 W dzisiejszych czasach wiele filmów powstaje “”w komputerze“” - również nie widzę, aby facebook mógł sprostać temu zadaniu. Niemniej jednak wiem, że większości użytkowników do szczęścia nie są potrzebne takie “”profesjonalne“” narzędzia i dlatego myślę, że gdyby powstał taki system operacyjny mógłby się cieszyć dużym powodzeniem. logiczne
62-0 Moim zdaniem facebook to tylko portal społecznościowy z przeróżnymi “”bajerami“” i jeśli utrzyma tak wielką popularność i w najbliższym czasie nic podobnego nie pojawi się na rynku co spowodowałoby nagły spadek tego „wzięcia” to możliwe, że powstanie coś takiego jak facebook OS . logiczne
62-1 Ale zgadzam się, że taki system byłby tylko dla użytkownika, który korzysta z takich funkcji jak sprawdzenie poczty, stworzenie dokumentu tekstowego, słuchanie muzyki itd. czyli korzysta z podstawowych funkcji, gdyż również sobie nie wyobrażam, żeby zastąpił system operacyjny na którym można profesjonalnie pracować. logiczne
62-2 Wydaje mi się, że facebook nigdy nie zastąpi systemu operacyjnego chociażby dlatego, że jak już wspomniano, każdy na pewno chce mieć coś swojego lokalnie i wiedzieć w 100% gdzie to coś się znajduje oraz że nikt nie ma do tego dostępu/wglądu jeśli tego chcemy. logiczne
63-0 Stwierdzenie “”tylko dla użytkownika“” bardzo bagatelizuje sprawę. Ja bym tu raczej użył sformułowania “”aż dla użytkownika“” :wink: emocjonalne
63-1 Pół roku temu liczba użytkowników Facebooka przekroczyła 0,5 mld… Jest to ogromny sukces, spowodowany właśnie dostępem w jednym miejscu do większości funkcjonalności potrzebnych użytkownikom. A taki użytkownik, jak to wiele osób wcześniej słusznie zauważyło, nie potrzebuje innych profesjonalnych narzędzi ani tym bardziej nie musi wiedzieć, że coś gdzieś coś szereguje i jak to wykorzystać. rzeczowe
63-2 Ale spójrzmy też na to z drugiej strony, jeżeli w przyszłości ludzie będą korzystać z Facebook OS i załóżmy, że będzie to dla większości pierwszy system z jakim mieli kontakt, to odsetek specjalistów w dziedzinach informatyki (i tak już niski w skali świata) znacznie spadnie. Stare systemy staną się “”zbyt skomplikowane“”, bo tu trzeba instalować, konfigurować, wiedzieć gdzie co kliknąć itp. A tak od razu ma się wszystko na tacy :wink: emocjonalne
63-3 Społeczeństwo wykona krok w tył… ale to dobrze dla nas informatyków oraz nawet “”informatyków“”, bo staniemy się elitą :lol: emocjonalne
64-0 Aż się zdziwiłem że przy tylu wystąpieniach słowa “”przeglądarka“” w poprzednich postach nikt nie wspomniał o dość ciekawym projekcie Facebooka czyli RockMelt http://www.rockmelt.com/ rzeczowe
64-1 Jest to, w skrócie, przeglądarka integrująca w sobie Facebooka, która sprawia że FB jeszcze bardziej “”scala się“” z użytkownikiem na bieżąco widzącym to co dzieje się z jego znajomymi tudzież to co ostatnio udostępnili. rzeczowe
64-2 Oglądając film demonstrujący jej działanie, oprócz świetnego marketingu, widzimy przykład przepisania przeglądarki jako hm… serwisu społecznościowego mającego ambicje zostania takim właśnie systemem operacyjnym dla “”mało wymagającego“” użytkownika. emocjonalne
64-3 Sprawa jest bardzo ciekawa, zachęcam do ściągnięcia wersji beta :) emocjonalne
65-0 Wszystko fajnie z tym RockMeltem, ale pierwsze na co zwróciłem uwagę, to fakt, że ta “”przeglądarka“” wymaga konta na Facebooku. Rozumiem, że w tym przypadku to oczywiste założenie, ale patrząc w ew. przyszłość z Facebook OS oraz idąc tym tropem, łatwo można zauważyć, że czy chcemy czy nie, będziemy musieli dać się zapisać w bazie danych, jeśli chcemy z tego wszystkiego korzystać. inne
65-1 To jest poważna wada dla systemu, bo oznacza dla wielu użytkowników po prostu brak wolności (choćby nawet tylko w ujęciu ideologicznym, ale jednak). logiczne
65-2 Anonimowość albo chociaż jej złudzenie jest jednak w cenie :wink: Dlatego też przejście na system oparty na portalu społecznościowym może nie być aż tak atrakcyjne jak się wydaje… emocjonalne
66-0 Z tego co zdołałem zauważyć większość przeciętnych użytkowników wcale nie chce anonimowości nawet jeżeli zdaje sobie sprawę z zagrożeń jakie niesie jej brak. inne
66-1 Swobodnie rozrzucają swoje dane osobowe gdzie tylko się da, podobnie z danymi innego rodzaju. Kwestia tego czy po odpowiednim uświadomieniu może się to zmienić. Pamiętajmy też że przynajmniej teoretycznie anonimowość w sieci nie istnieje :wink: emocjonalne
67-0 Temat tej dyskusji wydał mi się dość dziwny ze względu na zestawienie portalu społecznościowego jakim jest facebook z systemem operacyjnym :) być może dla mało doświadczonego użytkownika komputera wizja zastąpienia systemu operacyjnego przez facebooka wiele w jego życiu by nie zmieniła, zakładając, że używa on komputera jedynie w celu zalogowania się na fb, jednakże ciężko jest sobie wyobrazić, że wizja ta spotkałaby się z uznaniem profesjonalnego użytkownika komputera, dla którego to serwis taki jak facebook jest jedynie małym dodatkiem / gadżetem urozmaicającym jego czas wolny (zakładając, że w ogóle czuje on potrzebę i chęć korzystania z tego typu serwisów). inne
67-1 Facebook nie jest w stanie zapewnić użytkownikowi dostępu do zaawansowanych narzędzi do pracy, czy też innych celów. System operacyjny stanowi podstawę dla oprogramowania dedykowanego dla poszczególnych użytkowników szukających danej funkcjonalności, daje możliwość pełnej personalizacji i dostosowania do potrzeb użytkownika, czego nie jest w stanie zapewnić żaden serwis, w szczególności serwis społecznościowy jakim jest facebook. rzeczowe
67-2 Moim zdaniem, dla przeciętnego użytkownika, niekoniecznie polskiego - u nas popularność Facebook'a nijak ma się do “”manii“” jaka ogarnęła np. USA (i co wiem z doświadczenia - Turcję), taki “”system“” byłby w sam raz. Po prostu włączasz komputer i masz możliwość komunikacji ze znajomymi. emocjonalne
67-3 Oczywiście konieczna byłaby obsługa dokumentów, etc. ale dla przeciętnego zjadacza chleba, to idealna możliwość posiadania systemu, którego praktycznie nie da się zepsuć (zakładając, że np. system byłby całkowicie ładowany z sieci,a dane użytkownika dostępne w chmurze). inne
67-4 Przecież podobna idea przyświeca Google ChromeOS (choć on zdaje się być bardziej uniwersalny). A po ruszeniu Buzz'a (usługi społecznościowej Google) na pewno ChromeOS będzie z nim zintegrowany. rzeczowe
67-5 "Druga sprawa to “”zaawansowani“” użytkownicy (co jest dość szerokim terminem), którym takie rozwiązanie na pewno nie wystarczy, ale jak to się mówi - nikt ich do korzystania z niego nie zmusza. ;)" emocjonalne
68-0 Dyskusja miała właśnie dotyczyć tego, czy mało zaawansowany użytkownik potrzebuje czegoś więcej niż umowny facebook, który integruje potrzebne temu użytkownikowi usługi. Po co takiemu użytkownikowi “”walka“” z instalowaniem kolejnych kodeków, żeby obejrzeć film, czy też zastanawiania się która to też aplikacja do robienia albumów zdjęć jest dobra (bo ta windowsowa jest np. do niczego). inne
68-1 Gdyby usługi takie były zintegrowane w miejscu, z którego taki użytkownik korzysta (umowny facebook) i gdybym miał możliwość wybrać narzędzi, z którego korzysta ktoś do kogo mam zaufanie (istota działania facebooka i społecznościówek wszelkiego rodzaju) to taki użytkownik miałby wszystko czego potrzebuje (oczywiście przy założeniu że na facebooku będą integrowane różne usługi, co chyba już teraz ma miejsce). logiczne
68-2 A jeżeli chodzi o bardziej zaawanwsowanego użytkownika tzn. programistę/Panią z banku/grafika komputerowego. Taki człowiek usiądzie sobie przy dedykowanym narzędziu, tak samo jak dzisiaj przy takim narzędziu siada mechanik samochodowy, który sprawdza jak działa silnik w moim samochodzie (przy uszkodzeniu zaworu jakiegoś tam zapaliła mi się tylko lampka ostrzegawcza, a nie dostałem na deskę rozdzielczą 40 komunikatów co mam zrobić żeby to naprawić, czy 8 wyjątków że posypał się program obsługujący komputer sterujący silnikiem). logiczne
68-3 I to jest właśnie istota rzeczy - użytkownik wg. mnie nie potrzebuje zaawansowanego ustrojstwa typu system operacyjny (wszystkich tych plug and pray, 1000 niepotrzebnych aplikacji, magicznych czynności żeby zainstalować drukarkę - ostatnio pod Windows 7 sam walczyłem przez 1/2 h z instalacją prostej laserówki), ale potrzebuje prostoty i usługi. hipoteza
68-4 Facebook nie jest w stanie zapewnić użytkownikowi dostępu do zaawansowanych narzędzi do pracy, czy też innych celów. System operacyjny stanowi podstawę dla oprogramowania dedykowanego dla poszczególnych użytkowników szukających danej funkcjonalności, daje możliwość pełnej personalizacji i dostosowania do potrzeb użytkownika, czego nie jest w stanie zapewnić żaden serwis, w szczególności serwis społecznościowy jakim jest facebook.Nikt nie mówi, że wszystko ma się dziać na facebooku. logiczne
68-5 Tak jak dzisiaj nikt nie oczekuje że Windows 7 będzie wykorzytane do obsługi silnika w moim samochodzie, czy promu kosmicznego :) logiczne
69-0 Pytanie o przyszłość “”Portalu“” jako systemu operacyjnego z późniejszymi doprecyzowaniami dr Marciniaka zdaje mi się być pytaniem/dyskusją o preferencjach/potrzebach “”zwykłych użytkowników“”. hipoteza
69-1 Czy podstawowe potrzeby mogą być zaspokojone przez aplikacje internetowe? hipoteza
69-2 "Cóż: *komunikacja (czat facebookowy, gTalk w GMailu) *filmy (hulu, iplex, ekino.tv ;)) *zdjęcia (nie potrafię wskazać konkretnego serwisu, który pozwala na edycję ale już gdzieś spotkałem się z edycją rozmiaru obrazu, przycinaniem, zmianą kolorystyki zdjęć) *muzyka (znam last.fm z płatnym radiem, chyba można tworzyć własne listy, ale nawet jeśli nie to dlaczego nie stworzyć serwisu z indywidualnie układaną playlistą?) *edycja dokumentów (Google Docs) *podstawowe gry (nie znam pojedynczego serwisu, ale jak mam ochotę zagrać w coś prostego, to to znajduję bez problemu)" rzeczowe
69-3 już dzieją się (i to z sukcesami) w internecie. Co prawda nie pod sztandarem jednej firmy, ale można sobie wyobrazić, że pojawia się nowy portal, który zawiera wszystkie te podstawowe możliwości, zatem myślę, że można stwierdzić, że w małej skali już przenieśliśmy swoje komputerowe życie do sieci. inne
69-4 "Czy ludzie zdecydują się używać tych wszystkich funkcjonalności za pomocą jednego portalu to już kwestia marketingowców/projektantów interfejsów. W Facebooku akurat zdaje się, że pracują nieźli psycholodzy i zadbają o to, by korzystanie z FaceDocs czy FaceVideo było powodem do dumy ;) (choć przez niektóre kręgi kulturowe sam FB przedrzeć się jeszcze nie może; Japonia)" emocjonalne
69-5 Istnieje kilka przeszkód przez które, moim zdaniem, stanowią przeszkodę w realizacji w najbliższym czasie idei sieciowego OS'a na wielką skalę: inne
69-6 "*HTML nie został stworzony do bycia interfejsem systemu operacyjnego; choć się rozwija to zdaje mi się być zbyt ograniczony by traktować taki projekt (przenosin OS'a do sieci) jako coś poważnego *infrastruktura do realizacji takiego projektu byłaby przeogromna, nie wiem czy jej sprawne działanie nie leży poza zasięgiem przez najbliższe długie lata (synchro, niezawodność, szybkość, storage) *czysto subiektywnie; we mnie tego typu molochy budzą strach. Facebooka głównie czytam, ograniczam używanie niektórych produktów Google'a, żeby dać sobie iluzję opierania się Goliatowi, może w pewnym momencie, gdy “”Portal“” stanie się dostatecznie duży więcej ludzi zacznie myśleć o tym w taki sam sposób" inne
69-7 Zastanawiające jest czy pojawią się nowe potrzeby wirtualnego dnia codziennego, których nie będzie można realizować poprzez www? hipoteza
70-0 W Japonii po prostu od dawien dawna mają swoje mixi.jp. Dla nich Facebook nie był specjalnie niczym nowym, ot pewnie cały sekret. Chyba, że podasz jeszcze jakiś przykład :). rzeczowe
70-1 Obecny kierunek jest chyba zgoła odmienny, w wielu przypadkach odcięcie komputera od internetu oznacza niemożność spełniania swojej funkcji. rzeczowe
70-2 Wyobrażam sobie, że ciężko byłoby np. renderować grafikę jedynie online, ale to też pewnie tylko do czasu. inne
71-0 Stale rosnące możliwości przeglądarek internetowych, dużo nowoczesnych, lekkich oraz stosunkowo łatwych frameworków, jak również większe zainteresowanie użytkowników sprawiają, iż coraz więcej współcześnie tworzonych aplikacji wybiera platformę web i przeglądarkę internetową jako interfejs użytkownika. logiczne
71-1 Czy są aplikacje których nie da się napisać pod przeglądarkę ? Czy na rynku istnieje jeszcze miejsce dla aplikacji desktopowych ? hipoteza
71-2 Wszystko wskazuje na to że, aplikacje desktopowe nie znikną z rynku, przynajmniej przez dobre parę lat. Świadczyć o tym może chociażby dynamiczny rozwój frameworków dla tych aplikacji takich jak: Eclipse RCP, NetBeans Platform, czy Spring RCP dla Javy. logiczne
72-0 Z tego co zauważyłam, a nie trudno wykonać to co ja zrobiłam, wrzuciłam porównanie samych wyników dla web application framework oraz dla desktop i widać, że web app ma dużo więcej wyników i łatwiej znaleźć jakieś informacje na ten temat. W języku polskim szukanie czegos o aplikacjach desktopowych wogóle już nie jest łatwe - bynajmniej z poziomu zwykłego użytkownika, który nie wie czego konkretnie szuka. inne
72-1 A jest wiele aplikacji, które nie służą przecież tylko programistycznym potrzebom, np. biznesowym potrzebom, jak np. Tryton (akurat desktopowa aplikacja), a wiele ludzi biznesu, będzie podążać za tym co jest teraz nowe, czy popularne. Ale mimo wszystko myśle, że ludzie z czasem mogą woleć wybrać aplikacje webowe, bo nie przejmują się tym, na jaki system aplikacja dana działa, co trzeba do niej posiadać, tylko ze po prostu działa. A jeżeli działa równie sprawnie, to czemu nie. logiczne
72-2 Mimo że aplikacje webowe mają obecnie swoje pięć minut, to jestem zdania, że programy stand-alone nie znikną. Nie wyobrażam sobie, aby pisać webowo program obsługujący procesy produkcyjne w fabrykach i rezygnować z możliwości podglądu parametrów danego procesu w czasie rzeczywistym (aplikacja webowa w końcu będzie miała niewielkie opóźnienia). inne
72-3 Aplikacje webowe są rzeczywiście bardzo popularne ostatnio. Dzieje się tak za sprawą szybszych łącz i ogólnego rozwoju internetu. Jednak według mnie ich naturalne minusy: zależność od łącza, opóźnienie w działaniu, mniejsze bezpieczeństwo, zwykle słabsza funkcjonalność itd. Sprawiają, że nie są wstanie zastąpić aplikacji typu stand-alone. logiczne
72-4 Aplikacje tego typu zawsze będą bardziej zawodne: więcej elementów, które mogą nie działać: łącze, lokalny terminal/komputer, serwer w porównaniu z tylko lokalnym komputerem w stand-alone. Poza tym nie nadają się do przetwarzania bardzo dużej ilości informacji. logiczne
72-5 Istnieje również rynek gier komputerowych (aktualnie 2 miejsce na świecie po filmie pod względem dochodów spośród branż rozrywkowych), w którym aplikacje webowe nie mają szans. rzeczowe
73-0 Moim zdaniem nigdy nie dojdzie do tego, że wszystko przejdzie do sieci i to z kilku względów. hipoteza
73-1 Po pierwsze, nawet jeżeli użytkownik używa tylko przeglądarki, to ona sama musi być natywną aplikacją środowiska. Jest to aplikacja na tyle duża, że potrzebuje sporego frameworka chociażby dlatego, że aby spełnić wymagania takich technologii jak HTML5 czy WebGL potrzeba masy oprogramowania, sterowników i wsparcia ze strony systemu operacyjnego. logiczne
73-2 Po drugie części rzeczy nie chcę robić w sieci. Z tych czy innych powodów mogę nie ufać dostawcy aplikacji internetowej. Nie wiem komu udostępni moje dane. Najczęściej w różnego rodzaju regulaminach dostawcy zabezpieczają się na wypadek udostępnienia naszych danych komukolwiek. emocjonalne
73-3 Po trzecie, wydajność. Jeśli mamy milion klientów z aplikacją, która musi wykonać trochę konkretniejszych obliczeń, lub też musi przesyłać sporo danych to może być problem ze zgromadzeniem wystarczających zasobów. logiczne
73-4 Używanie programu do obróbki graficznej, gry komputerowej czy edytora wideo do dużych rozdzielczości nie zadziała przez sieć chociażby z racji fizyki otaczającego nas świata. Tego typu aplikacji sami w całości nie napiszemy. Najczęściej będziemy potrzebowali pomocy w postaci frameworków itp. inne
73-5 Kolejnym problemem może być założenie leżące u podstaw protokołu HTTP, który napędza dziś sieć. Otóż jest on protokołem bezstanowym. Dotychczasowe próby obejścia tego założenia jak na razie najczęściej kończą się ziejącymi lukami bezpieczeństwa. rzeczowe
73-6 Trochę poza tematem. Moim zdaniem flashowa gierka, którą uruchamiam w przeglądarka to nie żadna aplikacja webowa. Najczęściej to plik binarny, w całości wykonywany na naszym komputerze korzystając z przeglądarki tylko w charakterze łapacza zdarzeń systemu ewentualnie w pewnym stopniu komunikujący się z siecią. inne
74-0 Czy na rynku istnieje jeszcze miejsce dla aplikacji desktopowych? Tak, istnieje i jeszcze przez dłuższy czas, według mnie, będą one gościły w różnych gałęziach rynku z różnych względów. hipoteza
74-1 Jak zauważyli moi przedmówcy, aplikacje webowe “”mają swoje pięć minut“” i ostatnio stają się coraz bardziej popularne i co do tego nie można mieć wątpliwości. Jak sama ich nazwa wskazuje jednak, korzystanie z nich wymaga dostępu do sieci. Oczywiście dzisiaj nie jest problemem, żeby podłączyć się do internetu nawet w środku Puszczy Białowieskiej, ale nie do tego dążę. inne
74-2 Chciałem natomiast opowiedzieć po krótce pewną historię, którą usłyszałem ostatnio na naszym wydziale. Wynikało z niej, że szef pewnej firmy, kierując się swoim głębokim przekonaniem, że jest to najlepsze rozwiązanie aby zmusić pracowników do pracy, a nie obijania się w godzinach jej trwania m.in. pozbawił ich dostępu do sieci. inne
74-3 Na nic zdały się wtedy tłumaczenia programistów, że potrzebują internetu do poszukiwania rozwiązań problemów itd., szef wie bowiem lepiej. Zwróćmy uwagę zatem na problem. Zawsze znajdzie się ktoś, kto będzie wiedział lepiej i kogo nie przekonamy do swojego zdania. Nawet jeśli korzystanie z aplikacji webowej byłoby dla niego lepszym rozwiązaniem, to on wybierze rozwiązanie desktopowe, bo tak uważa… inne
74-4 Oczywiście można mieć także bardziej uzasadnione zastrzeżenia co do użytkowania aplikacji webowej. Jak wyżej wspomniano korzystanie z aplikacji webowej powoduje pewne wątpliwości co do bezpieczeństwa danych, szczególnie jeśli pracujemy z danymi ważnymi. Dlatego wybierzemy aplikację desktopową. Będziemy wtedy spokojniejsi o bezpieczeństwo. logiczne
74-5 Zatem wydaje mi się, że aplikacje desktopowe nie znikną, nawet jeśli będzie kontynuowany trend związany z aplikacjami webowymi. logiczne
74-6 Mianowicie wydaje mi się, że warto w tym wątku wspomnieć o ChromeOS, który będzie opierał się na wykorzystywaniu aplikacji internetowych. Jeśli system zostanie przyjęty przez użytkowników pozytywnie, może to jeszcze bardziej ugruntować pozycję aplikacji webowych na rynku. Być może programiści zaczną porzucać aplikacji desktopowe i frameworki jak Eclipse RCP czy NetBeans Platform i przerzucą się na Java EE czy Ruby on Rails? hipoteza
74-7 Czy właśnie to wróżycie nowemu dziecku Google i wspomnianym framework'om? hipoteza
75-0 Aplikacje desktopowe były, są i będą obecne, choćby to ze względów technologicznych. logiczne
75-1 Są one: - szybsze - nie wymagają(zazwyczaj) połączenia z internetem - nie są podatne na tzw. „lagi” spowodowane przez przeciążenie serwera(Nie jednego użytkownika przyprawiły one o chęć wyrzucenia komputera przez okno). - można z nich korzystać niezależnie od tego, czy serwer hostujący jest włączony. emocjonalne
75-2 W grach np. widać diametralną różnicę między desktopowymi, a webowymi produkcjami(tak, tak, grafika renderowana w czasie rzeczywistym) i wątpię w to, by się ona w najbliższym czasie zatarła. inne
75-3 Do tego dochodzi prywatność. Pliki które tworzymy za pomocą programów desktopowych zazwyczaj przechowujemy u siebie na dysku, do którego żadna niepożądana osoba nie ma dostępu. rzeczowe
75-4 Patrząc na nowe zlecenia dotyczące tworzenia oprogramowania można odnieść wrażenie, że zapotrzebowanie klientów na aplikacje desktopowe znacząco zmalało w ostatnim czasie. Z tego co zauważyłem to znaczna część klientów woli aplikacje działające w sieci, których nie potrzeba przechowywać na własnych stacjach roboczych. Wydaje się to słusznym rozwiązaniem, ponieważ niezależnie od stacji roboczej na jakiej pracujemy wystarczy nam tylko dostęp do internetu, żeby użytkować program. logiczne
75-5 Z drugiej jednak strony nie wszystko da się przenieść lub stworzyć w ten sposób. Istnieje wiele aplikacji pisanych w mało już używanych językach programowania, które realizują ważne funkcje np. w ministerstwach. Przykładem takich programów mogą być pisane w języku Fortran aplikacje dla urzędów w USA. Głównie dla takich aplikacji, musi istnieć wsparcie, żeby mogły one być rozwijane i naprawiane w razie awarii. logiczne
75-6 Moim zdaniem nie dojdzie do takiej sytuacji, że aplikacje deskotpowe znikną w przyszłości z rynku. hipoteza
76-0 Wiadomo, ze aplikacji desktopowych nie pozbedziemy sie. Nie zamierzam powtarzac tego samego po raz setny. Aplikacje webowe sa bardzo wygodne, ale polityka prywatnosci i praca bez dostepu do neta sprawia, ze desktop jest niezbedny. emocjonalne
76-1 Dodam tylko, ze faktycznie zapotrzebowanie na aplikacje desktopowe zmalalo,owszem, ale trzeba uwazac o jakim sektorze mowimy. W przypadku przecietnego zjadacza chleba na dzien dzisiejszy rzadzi web. Teraz juz istnieje mozliwosc pracy offline nawet (google gears, a teraz html5). Gdy mowimy o sektorze finansowym, bankowosc itp, lub stacje robocze w jakis fabrykach to desktop rzadzi. Ale nie sa to aplikacje ktore sciagniemy sobie z rapida. inne
76-2 Ja chcialbym zwrocic uwage na cos innego. Wlasnie na frameworki. W koncu to o tym jest ten temat. inne
76-3 Czego wymaga od nas, jako programistow, aplikacja webowa i desktopowa? Pisanie tych dwoch rodzajow aplikacji rozni sie znaczaco. hipoteza
76-4 Obowiazuja nas rozne wzorce, rozne podejsie. W obu przypadkach trzeba zwrocic uwage na calkiem cos innego. rzeczowe
76-5 Podejmujac prace w firmie (lub zakladajac wlasna) musimy sie zdecydowac: web czy desktop? Jednoczesna praca nad aplikacja webowa z wykorzystaniem JEE oraz Ajaxa, a z drugiej strony z poteznym frameworkiem jak NB Platform lub EclipseRCP graniczy z cudem. logiczne
76-6 Owszem, mozna, ale albo cos prostego albo cos bedzie do bani. emocjonalne
76-7 Bycie dobrym z architektury webowej oraz desktopowowej wymaga wielkiego doswiadczenia. Ktos kto bardzo dlugo pisal jakas duza aplikacje z wykorzystaniem NB Platform na przyklad bedzie mial spory problem z przesiadka. Mam nadzieje, ze kazdy zdaje sobie z tego sprawe. inne
76-8 Nie chodzi mi tu o napisanie czegos na kolanie, tylko o porzadne aplikacje. Nie mowie tez o szarym programiscie, ktory sobie poradzi szybko, tlyko o architekcie, ktory bedzie chcial swoje przyzwyczajenia z frameworka, popdatrzone metody itp przeniesc na framework webowy, ktory wymaga calkiem czegos innego. emocjonalne
77-0 Nie mogę się z tym zgodzić moim zdaniem nie jest tak, że zapotrzebowanie na aplikacje desktopowe zmalalo, tylko zapotrzebowanie na aplikacje webowe wzrosło. Wiąże się to bezpośrednio z faktem, że coraz więcej grup społecznych ma stały dostęp do internetu i co ważniejsze chce to wykorzystać. Jest sporo aplikacji, które swoje zastosowanie mają tylko przy założeniu, że są to aplikacje webowe np. dzienniki szkolne (odpowiednik USOSa, dla niższych szkół). logiczne
77-1 Polemizował bym z tym stwierdzeniem. Nie wiem kto dla Ciebie jest przeciętnym zjadaczem chleba ale większość ludzi korzysta z programów desktopowych. Kilka programów z których taki przeciętny zjadacz chleba będzie korzystać: inne
77-2 Wydaje mi się, że zwykły użytkownik z niczego innego nie korzysta. hipoteza
77-11 Sądzę, że desktop w każdym sektorze rządzi. Frameworki dla aplikacji desktopowych będą rozwijane i moim zdaniem nigdy nie odejdą do lamusa. hipoteza
78-0 Przy taki zdecydowanych stwierdzeniach to ja bym poprosił o wyniki badań które pokazują, ze większość użytkowników ma takie a nie inne preferencje. Inaczej to jest Pana punkt widzenia i tak zdecydowane stwierdzenia nie mają racji bytu. inne
79-0 Jesteś w wielkim błędzie. Spojrzeć na to trzeba z innej strony. Użytkownicy (mówię o zwykłych użytkownikach komputera: czyli od czasu do czasu Word, GG i jakiś portal społecznosciowy, czy allegro) są strasznie leniwi. Jak już ktoś się pofatyguje zainstalować przeglądarke i wszystkie ptorzebne komponenty (Java, Flash etc.) to już chce mieć potem święty spokoj. Takie rozwiązanie jest wygodniejsze! inne
80-0 Masz prawo tak uważać, ale dziś ludzie są bardzo leniwi. Wolałbyś mieć desktopową aplikację do NK/Facebooka czy webową? Wolisz wejść na “”fejsa“” czy “”naszą“” :mrgreen: z praktycznie każdego kompa, czy nosić na penie exe'ka? emocjonalne
82-0 Tak jeżeli chodzi o frameworki i aplikacje webowe to wydaje mi się, że trendy są dwa: a) RIA - bogate frameworki, które moga działać na desktopie i jako aplikacji webowa (z pluginem). Przykładem niech będą Flex, WPF/Silverlight, JavaFX. Zaciera to granice pomiędzy tradycyjną webową aplikacją (opartą na html + css) a tradycyjna desktopową aplikacją (opartą na jakimś systemie kontrolek/widżetów). b) Zyskiwanie przez aplikacje webowe na rzecz desktopowych. Edumtic i eduwiki, z których korzystamy na tych zajęciach to przykłady takich webowych aplikacji. Masywny sukces facebooka i pojawianie się każdego dnia nowych aplikacji webowych nie mogą być zignorowane. Bardzo ciekawe są powody tej migracji: * Aplikacje webowe nie muszą bać się piractwa, wszystko jest wykonywane po stronie klienta. * Aplikacje webowe są z natury modularne - jeśli coś nie zadziała na stronie to zazwyczaj reszta stron działa. Błąd w aplikacji desktopowej często zabija całą aplikację. * Niskie oczekiwania użytkowników - aplikacje webowe może i są szybsze, ale tak naprawdę nikt tego w aplikacjach webowych specjalnie nie potrzebuje - facebook to nie quake. * Niska bariera użytkowania - wystarczy względnie nowa przeglądarka internetowa (i oczywiście internet), nie trzeba nic instalować (wizja instalowania czegokolwiek przeraża znaczną liczbę użytkowników) * Niska bariera tworzenia - języki webowe zazwyczaj są dynamicznie typowane, przyjemnie i ekspresywnie się w nich pisze, języki, w których pisane są aplikacje webowe zazwyczaj są statycznie typowane - szybkie, ale niewygodne. rzeczowe
82-1 Oczywiście powódź aplikacji webowych przeżyją aplikacje, których zwyczajnie nie da się przenieść do sieci - gry, aplikacje ciężkie obliczeniowo, aplikacje wymagające bardzo szybko reagującego interfejsu etc. logiczne
82-2 P.S. Quake Live - gra, nie jest aplikacją webową. Część webowa to tylko przeglądarka serwerów/profile/friendsi, gdyby usunąć te kawałki to mamy z powrotem Quake 3. rzeczowe
83-0 Rozumiem, że pod pojęciem aplikacji desktopowej kryje się szeroko rozumiany typ aplikacji okienkowej. inne
83-1 Myślę, że do rozpowszechnienia budowania tego rodzaju interfejsu znacznie przyczynił się system Windows. Budowanie interfejsu okienkowego przy użyciu Win32 i VisualStudio na system Windows to bajka w porównaniu z ręcznym budowaniem, laytów, modeli i dostosowywania kontrolek we frameworkach typu Swing, czy AWT. inne
83-2 Rok programowałem w Swingu przez Eclipsa i z doświadczenia, wiem, że Java kuleje bardzo jeśli chodzi o okna, a jej flagowe: “”Write once use everywhere“” nijak się ma do rzeczywistości przy interfejsie okienkowym. inne
83-3 NetBeans Platform znacznie upraszcza problem, ale byłbym ostrożny jeśli chodzi o uniwersalność tej technologii. logiczne
83-4 Uważam, że desktopy prędzej, czy później sprowadzą się do wysoko wyspecjalizowanych narzędzi(aplikacje typu IDE, photoshop itp.), a zwykły użytkownik(oglądający filmy, używający komunikatora, grający w gry, surfujący po internecie itp) korzystał będzie jedynie z przeglądarki internetowej. hipoteza
83-5 Do tej rewolucji szykuje się Google, czając się ze swoim ChromeOS, integrującym w jedno swoje flagowe produkty. inne
83-6 Czynnikiem który może również wpłynąć na wyparcie aplikacji desktopowych jest łatwość walki z piractwem w przypadku web aplikacji. Wiele z firm posiadających aplikacje desktopowe traci sporo pieniędzy z powodu piractwa lub też na walkę z nim. W przypadku web aplikacji są one w stanie w 100% weryfikować czy ktoś posiada odpowiednią licencję czy też nie. Nawet jeżeli z utrzymaniem takiej aplikacji po stronie serwera wiązały by się koszty to i tak firmy takie docelowo wyszły by na plus. rzeczowe
83-7 Innym czynnikiem jaki może wpłynąć na rezygnacje z aplikacji desktopowych jest brak dostępu do danych z innych miejsc. Z własnego doświadczenia przekonałem się jak bardzo jest to przydatne, kiedy potrzebowałem kiedyś pilnie pewien numer telefonu, a telefon miałem rozładowany. Dzięki temu że telefon miałem “”zbindowany“” z kontem na google mogłem dostać się do tych danch przez przeglądarkę. inne
84-0 Widzę, że dość jednomyślnie większość z Was opowiada się za tym że aplikacje desktopowe nie dochodzą do lamusa. hipoteza
84-1 Zgodziłbym się z tym, biorąc pod uwagę najbliższe kilka lat. Jednak w perspektywie dłuższego czasu, uważam, że aplikacje webowe całkowicie wyprą desktopowe. hipoteza
84-2 Przecież głównym motorem napędowym takich zmian są największe firmy takie jak MS, IBM czy google. Gdyby nie widzieli oni przyszłości w aplikacjach web, nie wspierali by ich i nie inwestowali w nie pieniędzy (chociażby w przypadku CloudComputingu). logiczne
84-3 "Ktoś wspominał o tym, że jeśli szef jakiejś firmy chce aplikacje desktopową i nie da się go przekonać to nie ma wyjścia. Uważam, że skoro nie da się takiej osoby przekonać to znaczy, że się nie potrafi tego zrobić;]" emocjonalne
84-4 "Prosty przykład: W danej firmie mamy system księgowy. Nasza główna księgowa wyjeżdża na wakacje za granicę. Nagle okazuje się, że “”zapomniała“” wykonać jakiś operacji w systemie. Firma ma problem jeśli korzysta z aplikacji desktopowej ponieważ musimy czekać na powrót z urlopu pracownika. Jeśli korzystamy z aplikacji webowej to pani księgowa w dowolnym miejscu ma możliwość wykonania wymaganych operacji. Przykład może dość abstrakcyjny, ale myślę że idea jest jasna;]" inne
84-5 Generalnie wraz z dynamicznym rozwojem internetu można zauważyć równie szybki rozwój aplikacji webowych. Zarówno aplikacje webowe jak i desktopowe mają swoje plusy i minusy, ale stwierdzenie, że „desktop w każdym sektorze rządzi” jest niestety mylne a bynajmniej nie obiektywne. Głównym atutem przemawiającym za aplikacjami web jest możliwość dostępu do nich z praktycznie każdego miejsca na świecie o ile jesteśmy „online” i tutaj bywa różnie. logiczne
84-6 Pomijając przypadki gdzie internet jeszcze„ nie sięga ” jest szereg czynników które pracę z aplikacjami webowymi mogą nam znacznie utrudnić (usterki, ograniczenia ze strony providera etc.). Aplikacje desktopowe przywiązują do stanowiska pracy, korzystać z niej możemy o ile jest zainstalowana na danym komputerze i tutaj pojawia się kolejny problem. inne
84-7 Tak jak wspomniał Kamil. Użytkownicy są strasznie leniwi , app desktopowe to ciągła instalacja/deinstalacja/aktualizacja itd. inne
84-8 Odnosząc się do pytania Patryka o frameworki, myślę że dużą siłą napędową frameworków desktopowych są, wbrew nazwie, aplikacje mobilne. Sprzęt w platformach mobilnych nie posiada zwykle wystarczającej mocy, aby “”udźwignąć“” rich applications oparte na tzw. technologiach webowych, z uwagi na powolność użytych rozwiązań takich jak wykonywany w przeglądarce javascript. Aktualnie dużym sukcesem cieszy się, moim zdaniem doskonały, framework Qt rozwijany przez firmę Nokia. inne
84-9 Nie służy on wyłącznie do pisania aplikacji na platformy mobilne (takie jak Maemo/Meego), lecz przede wszystkim jest wpełni rozwiniętym frameworkiem desktopowym, na tyle jednak dobrze zaprojektowanym, iż pisząc taki sam lub bardzo podobny kod można uzyskać oba typy aplikacji. Dodatkową przewagą jest użycie języka C++, który jest kompilowany do kodu natywnego co dodatkowo zwiększa szybkość działania, co jak już wspomniałem, jest ważnym czynnikiem w przypadku platform mobilnych i urządzeń wbudowanych. rzeczowe
84-11 "A co kiedy urządzenia mobilne zgodnie z prawem Moore'a osiągną już odpowiednią wydajność? ;)" hipoteza
84-13 Zasadniczo ciekawią mnie poczynania google (www.docs.google.com) przenoszącego każda możliwą z “”podstawowych aplikacji“” potrzebnych userowi do sieci. inne
84-14 W sumie cały standard jak komunikatory, pakiety office, zarządzanie naszymi plikami (oczywiście umieszczonymi “”gdzieś“” np. chmurze) jest już wdrożony w wersji online, najczęściej dostępnej za darmo. inne
84-15 To właśnie od poczynań takich gigantów i ich polityki będzie zapewne zależało to jak będą się układały trendy za którymi pójdą rzesze zarówno userów jak i programistów. logiczne
84-16 Oczywiście nie twierdzę że frameworki dla aplikacji deskopowych odchodzą do lamusa, zasadniczo trudno byłoby sobie to w ogóle na chwilę obecną wyobrazić, bo niby jak bez nich życ? :wink: hipoteza
85-0 Ale czy aby na pewno wszyscy chcą, żeby wszystkie ich dane były przetwarzane zdalnie(przy pomocy aplikacji webowych)? Mnie osobiście nie kręci jakoś idea jaką stara się wypromować kilka firm z Googlem na czele. Jednym z pytań które się nasuwają jest właśnie to, co stanie się kiedy nie mamy dostępu do Netu(a na szczęście jeszcze jest dużo takich miejsc)? Czy nie lepiej najważniejsze dane mieć “”pod ręką“”? Widzę, że dyskusja skupia się głównie na kwestiach technologicznych, ale zadajmy sobie także pytanie o kwestie prywatności - czy powierzanie jednej czy kilku wiodącym firmom danych milionów ludzi nie stwarza dla niej zagrożenia? Wiem, że można machnąć na to ręką, ale wydaje mi się że jednak lepiej rozsądnie zapobiegać. hipoteza
85-1 Nie jest tak, że jest przeciwny aplikacjom webowym, ale nie jestem też za przerzucaniem na ich barki odpowiedzialności za losy całego świata :wink: emocjonalne
86-0 Zaletą pisania aplikacji webowych jest o wiele tańszy i krótszy czas testowania produktu. Na rynku dominują 3-4 przeglądarki, pod które należy przygotować aplikację, dla aplikacji deskopowych niestety nie jest tak łatwo. Konfiguracja sprzętowa + wersja systemu operacyjnego + zainstalowane aplikacje + wcześniejsze wersje naszej aplikacji = o wiele większy czas i koszta testowania aplikacji deskopowej. rzeczowe
86-1 Aplikacje webowe są z zasady multiplatformowe (chodzi mi o system operacyjny) - bez większych nakładów pracy aplikacja zadziała na Windowsie, linuksie, Mac Os. Dla frameworków deskopowych np. .Net sprawa nie jest taka prosta - linuksowy odpowiedniki Mono jest stanowczo więcej niż niekompletny, dla Javy występują duże problemy ze stworzeniem identycznej warstwy prezentacyjnej dla Windowsa i linuksa. Teoretycznie tylko Qt wychodzi z tego pojedynku obronną ręką. logiczne
86-2 Chciałbym zwrócić uwagę, że czołowi producenci popularnych aplikacji deskopowych stworzyli ich odpowiedniki webowe, przez to zapełnili kolejną lukę osób, którym nie odpowiadały aplikacje deskopowe. Microsoft stworzył webowego Offica (http://office.microsoft.com/pl-pl/web-apps/), Adobe Photoshopa (http://www.photoshop.com/tools?wf=editor). rzeczowe
87-0 A nawet w takiej kwestii grunt może się osuwać spod nóg aplikacjom desktopowym, a to za sprawą bardzo ciekawego frameworku do tworzenia gier o nazwie Unity. logiczne
87-1 Unity dostarcza bardzo rozbudowany środowisko do tworzenia gier 3D na różne platformy, a jedną z ciekawszych możliwości tego rozwiązania jest opublikowanie takiej gry w wersji web. Osadzamy wtedy naszą grę na stronie internetowej jak obiekt flash czy dowolny inny i każdy kto odwiedzi naszą stronę będzie mógł sobie w nią zagrać. rzeczowe
87-2 Dane potrzebne do uruchomienia gry (dźwięki, mapy poziomów, modele 3D) są streamowane jak film, dlatego nie trzeba pobierać całej gry aby zacząć rozgrywkę, wystarczą tylko dane aktualnie potrzebne, a reszta się dociągnie w czasie samej gry. rzeczowe
87-3 Tutaj fantastyczne demo pokazujące możliwości silnika. Do uruchomienia potrzebna jest specjalna wtyczka, która jest również do pobrania z tej strony. http://unity3d.com/gallery/live-demos/index.html#bootcamp rzeczowe
88-0 Zgadzam się z przedmówcą, Unity zaskakuje możliwościami przy jednoczesnym całkowitym oderwaniu od platformy sprzętowej. Nie narzuca przy tym jedynego słusznego języka programowania. Pierwotnie pomyślany jako narzędzie do tworzenia gier, może znaleźć zastosowanie także choćby w architekturze - jako narzędzie do modelowania interaktywnych obiektów 3D. rzeczowe
88-1 Zamiast prezentować klientowi jedynie parę renderów jego nowego mieszkania, możemy dodatkowo umożliwić mu w łatwy sposób przespacerowanie się po nim łącznie z otwieraniem drzwi itp. inne
88-2 Czym różnią się te dwa modele dystrybuowania oprogramowania ? Jakie są plusy, a jakie minusy open, closed source ? Lepiej budować zamknięte oprogramowanie i je sprzedawać, czy opierać się na rozwiązaniach open source i dostosowywać je do wymagań klientów ? Jakie są szanse i zagrożenia przyjęcia jednego i drugiego modelu biznesowego ? hipoteza
89-0 Moim zdaniem ciężko powiedzieć co jest lepsze. Każdy model ma zastosowanie do innej dziedziny. hipoteza
89-2 Open Source pozwala rozwinąć aplikację za darmo, natomiast close source niestety trzeba sporym nakładem pieniędzy. logiczne
89-3 Przykład open source to sklep internetowy PrestaShop. inne
89-4 Jest to sklep opensource, każdy ma dostęp do podstawych funkcji sklepu, jak wczytywanie plików csv, tworzenie kategorii, koszyk itp. Natomiast prestashop zarabia na dodatkach do tego sklepu, np. aby dodawać do produktów jakieś filmy. inne
89-5 Jednak dość często ludzie “”zapominają“” używają aplikacji opensource, aby umieści informację przez kogo została aplikacja stworzona. inne
89-6 Closed source najlepszym przykładem jest windows. Każda wersja płatna. A praktycznie na większości komputerach. Rozumiem że ktoś powie Linux, jest taki sam, no ale nie wszystko się uruchamia na Linuxie, a przeciętnemu użytkownikowi, który chce pograć, posurfować w necie i stworzyć dokument w Wordzie, raczej nie będzie instalował innego systemu. (mogę się mylić) inne
89-7 Żeby sprzedawać close source trzeba pokazać klientowi, że ma się coś czego nie ma open source. hipoteza
90-0 Wśród ludzi panuje przekonanie, że rzeczy które są za darmo, są gorsze. Poza tym odpowiedni marketing też robi swoje, a na to oczywiście trzeba mieć pieniądze. :mrgreen: emocjonalne
91-0 Czy są gorsze to chyba nie do końca prawda. hipoteza
91-1 Jeżeli mamy aplikację takie jak joomla, drupal, prestashop, php-fusion itp. To wszystko jest darmowe używa tego dużo ludzi i może zostać bardzo dobrze przetestowane w krótszym czasie. Ludzie przy darmowym aplikacjach prawdopodobnie chętniej pomogą niż przy płątnych. Np. w Office czy w innym aplikacja jest pomóż nam rozwijać program itp. czy dużo osób potwierdza tą prośbę? hipoteza
91-2 W darmowych chętniej się pomoże, ponieważ sami jesteśmy w stanie coś dopisać przez to czasami może nam się przydać rozwiązanie problemu, które ktoś wcześniej wynalazł. emocjonalne
91-3 Zapomniałem napisać o marketingu, tworząc aplikacje opensource mamy link do tej firmy w stopce (albo tylko nazwę), natomiast pisząc tworząć własną aplikację wszystko jest nasze i reklamujemy się nazwą swojej firmy, dzięki czemu mamy plus u klienta bo “”mówimy nasza aplikacje“” a nie “”korzystamy z darmowej wersji, która jest dobra“”. emocjonalne
92-0 Jedna z różnic polega na tym, że oprogramowanie o zamkniętym źródle zwykle dostarcza support, chociaż jakość tego supportu bywa różna. Ale tak na prawdę to jest tutaj detal. inne
92-1 Otwarte oprogramowanie rozwija się szybciej, dlatego że każdy kto ma jakiś pomysł i umiejętności może nasze oprogramowanie wziąć i zrobić z niego coś lepszego. logiczne
92-2 Podobna sytuacja miała miejsce z silnikiem baz danych, o którym wspominał dr Dyczkowski. inne
92-3 Ktoś stworzył projekt, po czym przestał go rozwijać. Kod otworzono i inni ludzie zaczęli go rozwijać dalej. Kiedy zaczęło coś sensownego z tego wychodzić kod znowu zamknięto. Gdyby nie otwarte źródło, nie powstał by darmowy Firebird, a pierwotna organizacja nie miała by swojego produktu w sensownej postaci. Opłaciło się to wszystkim. rzeczowe
92-4 Z drugiej strony, jeżeli wpadniemy na genialny pomysł i wydamy go jako open source, to może się znaleźć ktoś inny, kto weźmie nasz pomysł dołoży swój i zarobi na tym miliony. My zostaniemy +/- z niczym. emocjonalne
92-5 Zatem główną wadą open source'a jest to, że zdecydowanie trudniej na nim zarobić :P inne
93-0 Trzeba zadać pytanie co ma Open/Closed Source do zarządzania projektem - co jest moim zdaniem sporym aspektem tej dyskusji. hipoteza
93-1 Jeżeli istnieje dobra społeczność chętna pracować, to projekt open source ma ogromne szanse stać się czymś “”skończonym“” (cokolwiek by to miało znaczyć). Jednak wielu projektom OS brakuje dobrego zarządzania. Należą do “”wszystkich, czyli do nikogo“”, więc nikomu nie śpieszy się z ich rozwijaniem. W myśl zasady “”niech zrobią to inni“”, ciężko jest jednak wskazać tych “”innych“”, którzy nie wypełniają swojej roboty. emocjonalne
93-2 Projekty zamknięte, zazwyczaj posiadają jakąś osobę odpowiedzialną, której zależy na rozwoju (np. dla zysku, albo sławy :) ). To popycha rozwój oprogramowania. inne
93-3 Podsumowując, uważam że rozwój oprogramowania open source jest ściśle związany z tym czy ktoś się przyznaje jako właściciel (opiekun) danego projektu. Spójrzmy na wsparcie dla takich rozwiązań jak Nokia Qt, albo Apache, za te projekt są odpowiedzialne firmy, które pilnują jakości i narzucają plan rozwijania projektów. hipoteza
93-4 Z drugiej strony szali możemy postawić wiele społecznościowych dystrybucji Linuxa, które zniknęły z rynku po tym jak pojawiły się problemy i dyskusje, a nie było żadnego właściciela, który wskazałby odpowiednią drogę. inne
94-0 Moim zdaniem przeciętne aplikacje OS, w tej formie w której teraz są dostępne, niestety nie mogą konkurować za bardzo ze zwykłymi aplikacjami. Wyjaśniam dlaczego: hipoteza
94-1 - Zazwyczaj jakość kodu, który jest otwarty jest nieporównywalnie niższa. Spowodowane to jest podejściem programistów, słomianym zapałem niektórych ludzi oraz brakiem zaangażowania w projekt, z którego nie da się utrzymać. - Projekty nie są zarządzane w profesjonalny sposób. - System to nie tylko aplikacja, ale wsparcie do niej itp. - Projekty z zamkniętym kodem niosą za sobą duże straty w przypadku ich nieukończenia - niestety w projektach OS brakuje takiego aspektu, dlatego często umierają same śmiercią naturalną. emocjonalne
94-2 Z drugiej strony nie twierdzę, że wszystkie aplikacje OS są do niczego. Sam używam kilku aplikacji i jestem zadowolony, ale zazwyczaj są to aplikacje wspierane przez wielkie przedsiębiorstwa i tylko dlatego ich jakość jest taka wysoka. inne
94-3 Tak sobie czytam wasze wypowiedzi i naszlo mnie pytanie co się bardziej oplaca dla firm, zakupienie oprogramowania clsoed source czy uzyskanie oprogramowania open source? Jakie koszta pociagnie za soba wdrozenie open a closed source? hipoteza
94-4 Doszedlem do wniosku, ze bardziej oplaca sie wdrazac systemy open source(oczywisice jesli istnieje odpowiedni do naszych potrzeb). Mysle iz wdrozenie otwarto zrodlowych programow zamknie sie w klosztach wsparcia technicznego i szkolen pracownikow, a w closed source mamy opragromowanie+ abonament na wsparcie techniczne + szkolenia pracownikow. logiczne
95-0 I tak, i nie. Przecież są projekty OS, które posiadają szeroki support i szkolenia. Na przykład różne dystrybucje Linuxa są dostępne z płatnym supportem, więc można mieć aplikację za darmo oraz solidne wsparcie. rzeczowe
95-1 Jednak wiele systemów/aplikacji pisanych jest przez społeczność i tu jest pytanie. Czy Kowalski - pracownik firmy z działu księgowości będize miał chęć znaleźć rozwiązanie w sieci? W takim przypadku trzeba by mieć przeszkolonego człowieka od udzielania supportu (koszta!). hipoteza
95-2 W przpyadku programów płatnych można zawsze wymóc support. W końcu jak się płaci, to się wymaga, a dla klienta sprzedawcy zrobią wszystko. emocjonalne
96-0 Najbardziej odpowiada mi model, który wytworzył się w środowisku Javovym, a który został zapoczątkowany przez Apache Foundation. Pisząc aplikację na platformę J EE z jednej strony mamy dostęp do komercyjnych elementów infrastruktury posiadających dobre wsparcie techniczne (jak serwery aplikacyjne, systemy kolejkowe, szyny etc.), z drugiej strony mamy szereg bibliotek programistycznych open source, dostępnych na licencjach pozwalających na wykorzystywanie w projektach komercyjnych (jak Apache License). rzeczowe
96-1 Biblioteki programistyczne z otwartym kodem źródłowym posiadające licencję umożliwiającą zastosowanie w celach komercyjnych mają kilka zalet. Po pierwsze każdy może je pobrać i ich użyć. Programista/projektant/architekt może zatem ułatwić pracę sobie i swojemu zespołowi unikając jednocześnie pytań ze strony kierownictwa projektu w rodzaju “”Po co wam framework do serializowania obiektów do postaci XML za 10000$? Mamy napięty budżet. emocjonalne
96-2 Przecież możecie wygenerować XML ręcznie?“”. Po drugie dostępność otwartych bibliotek sprawia, że łatwiej znaleźć znającego je programistę (Ilu programistów miało do czynienia z Hibernate, a ilu z komercyjną wersją TopLinka?). Po trzecie sam dostęp do kodu źródłowego biblioteki bywa w niektórych sytuacjach nieoceniony np. można podpiąć kod źródłowy do debuggera i założyć pułapkę niżej/wyżej niż ma to miejsce w przypadku aplikacji bazującej na zamkniętych bibliotek. inne
96-3 Z drugiej strony zrzucenie odpowiedzialności za prawidłowe działanie takich usług jak klastrowanie instancji serwera aplikacyjnego czy failover na komercyjne komponenty infrastruktury pozwala firmie zmniejszyć ryzyko związane z utrzymywaniem aplikacji. logiczne
96-4 Dlatego uważam, że najwygodniejszy dla producenta oprogramowania model biznesowy to: 1. Wykorzystać komercyjne komponenty środowiska uruchomieniowego (serwery aplikacyjne, systemy kolejkowe, chmurę). 2. Okleić komponenty z pkt. 1 rozpowszechnionymi otwartymi bibliotekami z licencją umożliwiającą zastosowanie w projektach komercyjnych. 3. Sprzedać usługę lub zamkniętą aplikację bazującą na punktach 1 i 2. hipoteza
96-5 To dość obszerny temat, moim zdaniem wszystko zależy od tego jaki cel chcemy osiągnąć. hipoteza
96-6 Jeśli zależy nam na jakimkolwiek rozwoju, a nie dysponujemy środkami czy wiedzą OS może nam w tym pomóc. Niesie to za sobą oczywiście problemy związane z nieładem i błędami w kodzie, nieskończoną liczbą nic nie wnoszących wersji ( w skrajnych przypadkach różnią się jedynie np. lepszym zestawem motywów wizualnych) itp. logiczne
96-7 W celach zarobkowych CS sprawdza się lepiej. Mamy kontrole nad rozwojem oprogramowania ale wiąże się to z poniesieniem kosztów. Jeśli projekt okaże się nieudany (np. nie trafi w branżę lub nie będzie przyjazny dla użytkowników) to padnie, a poniesionych kosztów nie da się w takim przypadku odzyskać. logiczne
96-8 Jeśli projekt OS jest odpowiednio zarządzany i w procesie implementacji oprogramowania biorą udział pasjonaci (ew. osoby posiadający pewien pozom umiejętności) to przedsięwzięcie ma szanse powodzenia (także finansowego). W takim przypadku każdy może coś wnieść do projektu, nie koniecznie kawałek kodu. inne
97-0 Moim zdaniem to strasznie szerokie uogólnienie. Nie ma czegoś takiego jak “”przeciętna“” aplikacja. inne
97-1 Spowodowane to jest podejściem programistów, słomianym zapałem niektórych ludzi oraz brakiem zaangażowania w projekt, z którego nie da się utrzymać. rzeczowe
97-2 Nie wiem skąd czerpiesz informacje o jakości kodu zamkniętego skoro jest zamknięty. Jak dotychczas najbardziej pełne porównanie kodu dużych projektów jakie widziałem, to praca Diomidisa Spinellisa porównująca kernele FreeBSD, Linux 2.6.18, Solaris i Windows Research Kernel (z grubsza kernel Windows Vista)http://www.spinellis.gr/pubs/conf/2008-ICSE-4kernel/html/Spi08b.html. Linux wypada moim zdaniem lepiej od Windowsa (przeczytałem całą pracę). rzeczowe
97-3 Akurat jeśli chodzi o jakość kodu to środowisko FLOSS ma w tym punkcie dość łatwo, bo do masy projektów zgłaszają się ludzie, którzy nie umiejąc za dobrze programować, cieszą się wkładem do projektu w postaci sprzątania. inne
97-4 Ciężko też przychylić się do tego argumentu, chociażby ze względu na dotychczasowe historie z otwieraniem kodu dużych aplikacji zamkniętych. rzeczowe
97-5 Praktycznie każda taka historia zaczyna się od gruntownego przepisania kodu do czytelniejszej wersji. Było tak w przypadku Quake2, Quake3, blendera czy Netscape Navigator. inne
97-6 Zatem ten argument uważam za nietrafiony. Zwłaszcza w świetle jakości kodu dużych aplikacji, które zostały otwarte. logiczne
97-7 Projekty, które nie są prowadzone w profesjonalny sposób umierają. I jest to moim zdaniem jedna z największych zalet FLOSS. Naturalna selekcja pozostawi najlepszych i najpotrzebniejszych logiczne
97-8 Dlaczego aplikacje FLOSS nie radzą sobie zatem na naszych biurkach? Duże projekty tego typu najczęściej utrzymują się ze wsparcia, i te radzą sobie zazwyczaj bardzo dobrze. Ale utrzymanie ze wsparcia aplikacji desktopowych nie działa. Dlaczego? Bo jeżeli użytkownik potrzebuje wsparcia do aplikacji dekstopowej, to przegrałeś. Tutaj ten model biznesowy nie zadziała. hipoteza
97-9 Warto też się czasem zastanowić, czy jeżeli moglibyśmy korzystać w naszej pracy z projektu FLOSS gdyby nie jedna brakująca funkcjonalność to nie taniej wyjdzie opłacić kogoś do napisania tej funkcjonalności niż kupować licencje. inne
98-1 To zależy, uważam, że przykładowo do gier sieciowych kod nie powinien być dostępny, ponieważ wiadomo, że przy otwartym kodzie łatwiej znaleźć błędy i to może być wykorzystane do kantowania :) logiczne
98-2 Ale jeśli chodzi o programy czy OS to jak najbardziej otwarty z tego względu, że po pewnym czasie błędy zostaną wyeliminowane :) logiczne
98-3 "No i na zakończenie tak jak mówił Stallman w filmie Linux Code, Open Sorce jest jak przepis na ciasto, jeśli go masz to zawsze możesz coś dodać od siebie, coś ulepszyć, itd. ;-)" inne
99-0 Fakt zwykle jest tak że dostajemy wsparcie techniczne razem z oprogramowaniem o zamkniętym kodzie, lecz społeczność rozwijająca programy open source jest znakomitym wsparciem, czasami nawet uzyskamy szybciej rozwiązanie naszego problemu. inne
99-1 A jeśli nie, to zawsze możemy skorzystać (oczywiście za odpowiednią opłatą) z wyspecjalizowanych firm. Przykładowo dla wspomnianego przez Łukasza CMS Drupal-a istnieje wiele firm specjalizujących się w wdrożeniach systemu, pomocy technicznej, hostingu oraz szkoleniach. Przykładowy spis firm poniżej: http://drupal.org/drupal-services rzeczowe
99-3 Dzięki temu open source daje możliwość zarobienia innym. logiczne
100-0 Pozwolę się nie zgodzić z powyższym twierdzeniem. Zasada “”Security by obscurity“” nie działa nigdy. emocjonalne
100-1 Wielokrotnie udowodniono, że jest dokładnie odwrotnie. Im system jest bardziej otwarty, tym większa szansa, że jest bezpieczny. http://pl.wikipedia.org/wiki/Zasada_Kerckhoffsa rzeczowe
101-0 W biznesie możemy nie mieć takiego wyboru, ponieważ klient/projekt może nie zezwalać na udostępnianie kodu aplikacji, bo jeśli płaci za pracę programistów to dlaczego inni mają korzystać z niej za darmo? Chyba takim powodem kieruje się większość firm komercyjnych tworzących oprogramowanie.. hipoteza
101-1 Jestem jednak pełen podziwu dla p. R. Stallmana od którego chyba cały ruch open-source się rozpoczął. (http://en.wikipedia.org/wiki/Open_source_movement) rzeczowe
101-2 Czy uważacie, że firmy komercyjne zmienią swoje modele biznesowe i spróbują się wpisać w ten nurt? tzn. czy kiedyś Apple lub Microsoft udostępnią swój kod.. hipoteza
101-3 A jeśli firma płaci swoim programistom za pracę, i na ich pracy zarabia, to dlaczego ma pozwalać zarabiać na tym innym firmom (oddając im w ten sposób część zysków)? Trzeba tu rozgraniczyć, że jedne rzeczy tworzy się dla kasy, a inne dla idei. hipoteza
102-0 Pozwolę sobie nieco zacieśnić obszar rozpatrywania czy lepsze jest oprogramowanie open, czy closed-source. Zastanówmy się tylko i wyłącznie nad dwoma pakietami biurowymi, które są raczej wszystkim dobrze znane. inne
102-1 Rozpatrzmy pakiety MS Office i OpenOffice. Pierwszy z nich, to komercyjny pakiet Microsoft'u, za który trzeba dość słono zapłacić. Drugi z nich to open-source, który nic nas nie kosztuje. Obydwa oferują bardzo zbliżone funkcjonalności. Pokusiłbym się nawet na stwierdzenie, że w obydwu można wykonać praktycznie to samo. Jeśli chodzi o łatwość obsługi, to każdy z was ma pewnie swojego faworyta, ale ogólnie ich obsługa nie nastręcza większych problemów. inne
102-2 Zatem logicznym jest stwierdzenie, że OpenOffice powinien być bardziej popularny. W końcu jest darmowy. Tak jednak nie jest - jest wręcz odwrotnie. Zdecydowana większość firm pracuje na MS Office i na Windows'ach (a nie darmowych dystrybucjach Linux'a). Nawet pracownicy naszego wydziału. Dlaczego tak jest? hipoteza
102-3 Ostatnio usłyszałem opinię, że Microsoft przyzwyczaił użytkowników do swojego oprogramowania. Muszę się całkowicie zgodzić z tą wypowiedzią. Jakby nie patrzeć większość przeciętnych użytkowników utożsamia edytor tekstu z MS Word i jest tak od lat. Właśnie - mamy odpowiedź. MS Office jest na rynku od 1989 roku i użytkownicy przyzwyczaili się do niego. inne
102-4 Microsoft ma całkiem przystępną politykę cenową dla sektora edukacyjnego. W szkołach uczymy pracować się na MS Office. Nikt nie lubi zmian i skoro umiemy obsługiwać dobry pakiet biurowy, którym MS Office niewątpliwie jest, to po co uczyć się nowego? Dlatego OpenOffice i inne darmowe pakiety biurowe nie mogą zdobyć większości na rynku. logiczne
102-5 Podsumowująć, wydaje mi się, że nie można powiedzieć tak po prostu co jest lepsze: open, czy closed-source. Gdyby fakt, że programy open-source są darmowe byłby przesądzający, to na rynku nie byłoby produktów komercyjnych. Jednak one istnieją, czy to przez nasze przyzwyczajenie, czy też po prostu pozwalają na więcej w stosunku do programów darmowych. W każdym razie niech każdy wybierze co lubi. logiczne
103-0 Odnosząc się do wypowiedzi kolegi zgodzę się, że bardziej popularnym pakietem biurowym jest MS Office, lecz trzeba wziąć tu pod uwagę jedną bardzo ważną rzecz, a mianowicie legalność używanego oprogramowania. Firmy aby ustrzec się wysokich kar muszą wykupywać licencje na oprogramowanie, lecz użytkownicy prywatni mają tendencję do ściągania z Internetu “”darmowych“” wersji swoich ulubionych programów czyli tzw. piratów. inne
103-1 Obecnie nie ma najmniejszego problemu ze znalezieniem interesującego nas pakietu biurowego firmy Microsoft, które będzie działało u nas bez zakupu licencji (oczywiście nie polecam takiej wersji, nigdy nie wiadomo co dokładnie zmodyfikowali crakerzy). Tak jak pisał kolega, użytkownicy bardzo przyzwyczajają się do programów na których wcześniej pracowali i które się sprawdziły, więc mając możliwość pobrania “”darmowego“” pakietu MS Office niejako zwiększając tym jego popularność na rynku. inne
104-0 Zauważmy, że proces “”przyzwyczajania użytkowników do programów“” zaczyna się już w szkole - gdzie na każdej technologii informacyjnej dzieciaków uczy się obsługi Worda i Excela, w ogóle nie wspominając o istnieniu Writera czy Calca. Smutna prawda jest taka,że nie ludzie nie używają tego co lepsze, tylko tego co “”modne“” (czyli reklamowane). emocjonalne
105-0 W takim razie w szkołach i na uczelniach zajęcia dot. pakietów biurowych powinny być prowadzone nie tylko na produktach Microsoftu albo OpenOffice, ale z wykorzystaniem kilku pakietów. Należy przedstawić użytkownikom wszystkie alternatywy i dać możliwość wyboru. hipoteza
105-1 Każdy pakiet ma swoje wady i zalety… logiczne
105-2 Nie należy zapominać również o narzędziach typu TeX, które również w pewien sposób wpisują się w nurt narzędzi biurowych (jako edytor tekstów). inne
106-0 Mówiąc szczerze, od większości użytkowników po przedstawieniu im alternatyw i pozostawieniu wyboru pakietu biurowego, spodziewałbym się czegoś w rodzaju wybudzenia ze snu, w który użytkownika wprowadził ów wykład i sentencji w stylu: “”aha, a który jest najlepszy?“” 8) inne
106-2 "Albo na przykład: “”no to wszystko ładne jest co Pan mówi, może to co Pan mówi jest nawet dużo wygodniejsze i szybsze, ale ja jestem zadowolony z tego co mam, ja tam i tak tylko listę zakupów robię…""" inne
107-0 Czyli wnioski: użytkownik nie lubi podejmować wyboru, użytkownik nie lubi zmian, użytkownik jest zadowolony, że stan zastany umożliwia mu to czego potrzebuje. hipoteza
108-0 Definicja Wolnego Oprogramowania opublikowana przez FSF: Oprogramowanie wolne udziela odbiorcom 4 wolności: * wolność uruchamiania programu, w dowolnym celu (wolność 0) * wolność analizowania, jak program działa, i dostosowywania go do swoich potrzeb (wolność 1) * wolność rozpowszechniania kopii, byście mogli pomóc sąsiadom (wolność 2) * wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3). rzeczowe
108-1 Jako warunek konieczny wolności 1 i 3 jest wymieniony dostęp do kodu źródłowego. rzeczowe
108-2 Tylko jeżeli program spełnia wszystkie cztery wolności jednocześnie, może być uznany za Wolne Oprogramowanie. Jeśli nie spełnia dowolnej z nich- jest zamkniętym oprogramowaniem. logiczne
108-3 Lepiej budować zamknięte oprogramowanie i je sprzedawać, czy opierać się na rozwiązaniach open source i dostosowywać je do wymagań klientów ? hipoteza
108-4 To zależy od specyfiki oprogramowania- np. jak było mówione niedawno na wykładzie jeżeli sprzedajemy oprogramowanie wspierające jakieś przedsiębiorstwo, to klient nie nagnie z chęcią swojego biznesu do naszego produktu i jeszcze za to zapłaci, ale to my mamy dostosować swój produkt do niego. inne
109-0 Nie do końca tak jest. Rozwiązanie prostych, często spotykanych problemów faktycznie można szybko odszukać, natomiast odnalezienie rozwiązania w bardziej skomplikowanych problemów wiąże się z przebiciem przez multum bezwartościowych wypowiedzi i porad. emocjonalne
109-1 Odnośnie porównania edytorów komercyjnych i darmowych trzeba wziąć pod uwagę drobny fakt,iż większość dużych przedsiębiorstwo wymaga od podwykonawców dostosowania się do pewnej formy współpracy. Spotkałem się np. z odrzuceniem oferty przetargowej z powodu “”błędnego“” formatu pliku (.odt). Oczywiście to skrajny przypadek. Pewne trendy napędza rynek, firmy korzystające z darmowego oprogramowania tego typu są gorzej postrzegane. Tak mi się wydaje. Zaznaczam, że ja tak nie uważam :) inne
110-0 Jak już wspomniano, ludzie wolą używać oprogramowania które znają, do którego się przyzwyczaili i wykazują dużą niechęć do zmian. Uważam jednak, że ten problem sięga głębiej. Z punktu widzenia przeciętnego użytkownika komputera, który jest laikiem, idea OS bywa user-unfriendly. Weźmy pod uwagę choćby rozgałęzienia projektów. Większość ludzi słyszała o Linuxie, ale mało kto z nich zdaje sobie sprawę, że nie jest to jednolity system. inne
110-1 Jak powiem przeciętnemu Kowalskiemu, że ma tu 100 różnych dystrybucji (trudne słowo, już się kolana uginają) systemu z rodziny Linux, w dodatku niekoniecznie w 100% kompatybilnych ze sobą, to zapewne ucieknie z krzykiem “”Ja chcę do mojego XP“”. To samo tyczy się OpenOffice - powstają różne wersje wśród których można się zgubić, a sam produkt wydaje się być “”rozmyty“”. emocjonalne
110-2 Wadą OS jest także podatność na konflikty. W komercyjnym projekcie o zamkniętym źródle ludzie robią to, co im się każe bo dostają za to pieniądze. Nie twierdzę, że jest to lepsze rozwiązanie, ale zapewnia jakąś spójność. W OS bywało już tak, że projekt się branchował i rozwijane były dwa produkty implementujące te same funkcjonalności, co jest marnowaniem czasu i pracy programistów, tylko dlatego, że ktoś się pokłócił. logiczne
111-0 Muszę się nie zgodzić z tym, że OO jest dobrym odpowiednikiem MS office. hipoteza
111-1 Weźmy na przykład open office 2.3 czyli wersje z około 2007 roku. Wiedząc jak często jest zmieniane oprogramowanie w firmie sadzę, że jest to dobra wersja do porównania. Owszem możemy zmieniać oprogramowanie co wyjście nowej wersji ale większość pracowników chyba nie będzie z tego powodu szczęśliwa. Porównajmy ją teraz do MS office 2000 (7 lat starszy). W MS office nie mamy problemu z listami numerowanymi jaki zauważyłem w materiałach z przedmiotu DB2. inne
111-2 Otwierany plik w MS office listy w różnych częściach pliku były numerowane od początku a w OO ciągiem, ten sam problem widziałem jeszcze kilka razy. Teraz z kolei weźmy Impressa i PowerPointa. Osobiście w Impressie nie potrafię znaleźć gdzie się wstawia tabele do slajdu bądź pole tekstowe. Wydawało by się, że menu Wstaw powinno nam pokazać opcje „Tabele”, „Pole Tekstowe” no ale ich tam brak niestety. Od jakiegoś czasu (z lenistwa) nie chcę mi się zdobyć MS office i pracuje na wspomnianej wersji OO, muszę przyznać, że jest to katorga. inne
111-3 Weźmy teraz Linuxa sprzed kilku ładnych lat, żeby zainstalować w Red Hacie kartę graficzną trzeba było ręcznie edytować różne pliki tekstowe z czym nie poradzi sobie przeciętna osoba i już dochodzi konieczność wołania specjalisty od IT z każdym problemem. inne
111-4 Czasy się zmieniają, OO ewoluuje a kartę graficzną w Linuxie instaluje się prościej. Problem jest natomiast taki, że biorąc przeciętną małe przedsiębiorstwo, oprogramowanie zmieniają raz na kilka lat. Jeśli w 2007r. OO się nie nadawał do używania przez firmę która chce być uznawana za poważną to nic dziwnego, że wybrali w tym okresie MS office i że wybiorą ponownie. Słyszałem kilka razy, że firma woli zapłacić za produkty Microsoftu niż mieć potem problemy i wcale się nie dziwie. inne
111-5 Produkty Microsoftu od dawna spełniają oczekiwania klientów czego niestety nie możemy powiedzieć o części wolnego oprogramowania. hipoteza
112-0 ciężko mi się jest nie zgodzić z kolegą wyżej. Próbowałem przekonać się do wielu dystrybucji linuxa (Mandriv, Debiana, Ubuntu, Gentoo) i poza faktem że miałem znaczną kontrole nad systemem, mogłem go zoptymalizować to barierą nie do przejścia było szukanie zamienników programów z Windowsa. inne
112-1 Nikt mi nie powie ze GIMP jest lepszy od PS a linux łatwiejszy w obsłudze od Windows 7. Co z tego ze linux się nie “”psuje“” jak windowsa możne obsłużyć nawet kilku letnie średnio zdolne dziecko a do linuxa trzeba posiadać już “”jakś“” wiedzę i nieraz zainstalowanie głupiego programu wymaga zmiany repozytoriów albo innych dziwnych rzeczy emocjonalne
113-0 Nie do końca się z tym zgodzę (pozwolę sobie zahejcić). Już jakiś czas temu czytałem o ciekawym eksperymencie, który polegał na tym, że dwóch ludzi z zerową wiedzą o komputerach “”posadzono“” przed Windowsem i Ubuntu. Radzili sobie podobnie (oczywiście mieli do wykonania jakieś proste rzeczy typu napisanie dokumentu, czy przeglądanie zdjęć). Problemem jest bardziej to, że ludzie są bardziej przyzwyczajeni do systemow Windows (przynajmniej w Polsce). I stąd taka niechęć do zmian. inne
114-0 Open source na serwerze, closed source na desktopie. hipoteza
114-1 W teorii oprogramowanie open source ma masę zalet - jest darmowe (epsilon ewentualna kompilacja), źródła są dostępne, mogę łatkę łatwo napisać. Niestety jak to zwykle bywa teoria ma niewielkie szanse w starciu z praktyką. Desktopowe aplikacje, które mnie interesują bardzo rzadko są na licencji open source: mirc, total commander, hamachi, tasktop i inne dziwne aplikacje. Te rzeczy, które wymieniłem to różne niszowe rzeczy, którymi się interesuje niewielka ilość ludzi, pośród których znalazł się developer chętny coś takiego napisać. inne
114-2 Niewiele osób ma w sobie tyle altruizmu, żeby poświęcać swój czas na pisanie oprogramowania i wypuszczanie go za darmo. Model ekonomiczny dla desktopowych aplikacji closed source się sprawdza: znajdź niszę, napisz oprogramowanie, sprzedawaj. Z open source bywa różnie i sukces odnoszą, głównie te projekty (LibreOffice, Linux, Firefox), które mają komercyjne wsparcie, pozostałe najczęściej umierają przez zapomnienie. logiczne
114-3 Inaczej wygląda sytuacja na serwerze - tam chcę mieć świadomość, że kod aplikacji jest dostępny, zaudytowany przez masę ludzi i w konsekwencji wolny od błędów. “”Given enough eyeballs, all bugs are shallow“”. emocjonalne
114-4 Oszukiwanie w grach komputerowych dzisiaj nie ma związku z samymi błędami w grze. Same błędy w grach są (najczęściej) względnie szybko paczowane przez producenta. Plagą za to jest (nieetyczny, nielegalny, nielubiany) biznes, który sprzedaje graczom “”wspomagacze“” niezależnie od tego czy gra ma kod zamknięty czy otwarty. inne
114-5 Kilka przykladow z youtube'a: http://www.youtube.com/watch?v=uwgZj6TcIdk http://www.youtube.com/watch?v=nCx4zzaKoEU rzeczowe
114-6 Podobno nawet w szachach przez internet jest to problem - ludzie instalują superprogram do grania w szachy (Fritz, Rybka) i za jego pomocą grają. inne
115-1 Wszystko zależy od indywidualnych preferencji i przyzwyczajeń użytkowników. Wcześniej były porównywane pakiety Open Office i MS Office. Według mnie na OO pracuje się jak na biedniejszym bracie MS. OO jest zawsze z tyłu za MS. Z kolei patrząc na przeglądarki internetowe, firefox przewyższa niemal pod każdym względem IE i chociaż to IE jest instalowane z każdym windowsem, to jego popularność z roku na rok maleje. logiczne
115-2 Popularność używania przeglądarek na świecie(dane z października 2010 wg serwisu StatCounter): - IE - 49% - Mozilla Firefox - 31% - Inne - 20% rzeczowe
115-3 Popularność używania przeglądarek w Polsce (dane z października 2010 wg serwisu StatCounter): - Mozilla Firefox - 53% - IE - 20% - Inne - 27% rzeczowe
115-4 Gdzie dla porównania w 2005 roku z IE korzystało ponad 80% użytkowników, a z firefoxa zaledwie 8%. rzeczowe
115-5 Wynikałoby z tego, że jeśli produkt jest dobry (nie ważne czy open czy close source), to użytkownicy prędzej czy później to zuważą (oczywiście reklama robi swoje) i zaczną z niego korzystać. logiczne
116-0 W tym właśnie rzecz czy nie lepiej przekonać naszego klienta, że powinien płacić nie za nasz kod tylko doświadczenie, suumienność i fachowość względem zaganienia, którego dotyczy program. Czy to, że upubliczniami kod nie podnosi czasami naszej wiarygodności ? hipoteza
116-1 Znasz jakieś przykłady, że firma kupująca oprogramowanie chce mieć na nie wyłączność, aby nikt inny z niego nie korzystał (poza zastosowaniami militarnymi) ? emocjonalne
117-0 Większość takich transakcji jest objęta umowami poufności, więc trudno podać jakieś konkretne przykłady. Na myśl przychodzi mi oprogramowanie do obsługi linii produkcyjnych w fabrykach. Może ono integrować procesy produkcyjne (oczywiście powinno być uniwersalne, ale nie w tym rzecz), które firma chce zatrzymać dla siebie. inne
118-0 Wybieranie między open source, a closed source jest tak naprawdę fikcyjnym wyborem. Prawdziwy wybór istnieje między free software, a non-free software. Niestety większość ludzi nie widzi różnicy między terminem “”open source“”, a “”free software“” jednak różnica jest znaczna. Na oprogramowanie z szeroko dostępnym kodem mogą być natomiast nałożone dodatkowe ograniczenia (dobrym przykładem jest Microsoft Shared License), co jest niedopuszczalne w przypadku Wolnego Oprogramowania. inne
118-1 Problem wolnego oprogramowania jest tak naprawdę problemem społecznym, o daleko posuniętych reperkusjach, a nie zaledwie problemem technicznym. Jak Bogna przytoczyła, za Wikipedią, wolne oprogramowanie nie narzuca na użytkownika, bądź dewelopera żadnych ograniczeń, może on dowolnie modyfikowac, rozpowszechniać i analizować dany produkt. Celem ruchu na rzecz wolnego oprogramowania jest propagowanie użytkowania wolnego oprogramowania w domach, bądź organizacjach, a także lobbowanie na rzecz otwartych standardów, tak aby każdy mógł cieszyć się wymienionymi wyżej prawami. rzeczowe
118-2 Niestety przyszło nam żyć w czasach, gdy te prawa nie są wcale takie oczywiste i niejednokrotnie musimy walczyć o to, aby np. móc instalować dowolne aplikacje na własnych urządzeniach (produkty firmy Apple, niektóre urządzenia Android), a firmy ponoszą duże straty z powodu tzw. corporate lock-down bez możliwości przemigrowania na otwarte platformy. emocjonalne
118-3 Wybór wolnego oprogramowania zamiast rozwiazań zamkniętych jest więc wyborem o naturze etycznej. Oczywiście czasem wolne oprogramowanie jest technicznie gorsze, ma mniej funkcji, nie jest dostatecznie stabilne - jednak użytkowanie oprogramowania, które szanuje wolność i prawa użytkownika wiąże się ze znaczną przewagą moralną i dlatego zawsze przedkładam Free Software nad wszelkie rozwiązania typu “”proprietary“”. logiczne
119-0 Ja także jestem zwolennikiem uwalniania kodu (z paru różnych względów). emocjonalne
119-1 "Np. - moim zdaniem firma wyda mniej wdrażając oprogramowanie open source a później płacąc za niewątpliwie potrzebny support niż wdrażając closed source… a później płacąc za support ;) - w przypadku otwartego źródła nad kodem pracują dziesiątki, setki, tysiące programistów więc jeżeli nasz lokalny “”team“” w firmie będzie miał problemy z uporaniem się z jakimś błędem jest duża szansa że reszta społeczności go wspomoże - podobnie z bezpieczeństwem, co prawda bug w oprogramowaniu łatwiej jest znaleźć kiedy mamy jego źródła, jednak z rzeszą pracujących nad kodem ludzi łatwiej jest ten błąd usunąć" inne
119-2 BTW jak wiadomo w praktycznie każdym programie jest zawsze jeszcze jeden błąd :) inne
120-0 Przykład słabej jakości kodu open source: team Firefoxa mówi “”most Linux drivers are so disastrously buggy“” http://news.slashdot.org/story/11/01/16/0657240/Why-Linux-Loses-Out-On-Hardware-Acceleration-In-Firefox rzeczowe
120-2 Istnieje wg mnie pewna prawidłowość na rynku dotycząca popularności i rozwoju open source. hipoteza
120-3 Ubuntu - rozwijane przez komercyjną firmę Canonical, udostępnia płatny support, podobnie jak RedHat Open Office - rozwijany przez Oracla, powoli projekt jest zamykany - http://www.pcpro.co.uk/realworld/363793/the-end-of-openoffice Mysql - wykupiony przez Oracla, powoli umiera Java - rozwijana przez konsorcjum złożone z Oracla, Googla, Microsoftu i innych. rzeczowe
120-7 Rynek open source i firm tworzących aplikacje closed source przyrównałbym do żywego organizmu, jedno nie może żyć bez drugiego. I wg mnie większość projektów open source (poza paroma wyjątkami) nie przetrwa bez wsparcia komercyjnych firm. Działa to również w drugą stronę: powstanie wiele firm dających płatny support. Na stronie http://www.networkworld.com/news/2008/090208-open-to-watch.html widać dokładnie, że open source stworzyło wiele nowych miejsc pracy. rzeczowe
121-0 Moim zdaniem najważniejsze jest nie tyle otwartość kodu, co wsparcie jakie twórca daje klientowi/użytkownikowi. hipoteza
121-1 Oczywistym jest, że posiadając kod, firma korzystająca z rozwiązania może sama poprawiać błędy, jednak w mojej opinii wsparcie takie wymagane jest też od twórcy, co w przypadku pojedynczego użytkownika (który nie zna się np. na programowaniu) jest praktycznie niezbędne. logiczne
121-2 W ten sposób właśnie jak już ktoś wspomniał można wprowadzać płatne wsparcie, dzięki czemu produkty mogą się utrzymywać, nawet kiedy są darmowe. Otwartość kodu tutaj, wydaje mi się, ma minimalne znaczenie. logiczne
121-3 Za to otwartość kodu tylko ułatwia to wsparcie, ponieważ twórca aplikacji może dostawać rozwiązanie od “”zapaleńców“” czyli po prostu zewnętrznych użytkowników dbających o sprawność aplikacji, którzy swoje rozwiązania im podeślą. logiczne
122-0 W kwestii może nie tego co jest lepsze, ale co jest chętniej wybierane przez przedsiębiorców. hipoteza
122-1 Jasne jest, że można minimalizować koszty, a przy tym używać oprogramowania dobrej jakości z solidnym supportem. logiczne
122-2 Bardzo często jednak kluczową rolę odgrywa prestiż. Firmy wolą zainwestować w oprogramowanie od znanej, cenionej i właśnie prestiżowej marki by móc się tym pochwalić przed partnerami biznesowymi. logiczne
122-3 Wspominał o tym Pan od SAP-a. Firmy, które wcale go nie potrzebowały wdrażały go, tylko po to, by móc się tym pochwalić. inne
122-4 Closed Sorce póki co ma ciągle lepszą markę i to jest również jeden z powodów, dla którego jest bardziej popularny. emocjonalne
123-0 Myślę, że w przeważającej części przypadków zamknięty kod jest lepszym rozwiązaniem od otwartego. Dlaczego? W dużej społeczności odpowiedzialność w jakiś sposób się jednak rozmywa. Rozumiem, że ludzie którzy działają w takich grupach są pasjonatami i chcą oferować swój czas i umiejętności za darmo, ale chodzi właśnie o kwestie organizacji. hipoteza
123-1 Są bardzo dobre przykłady na prowadzenie jej w sposób bardzo sprawny, jak np. OpenOffice, ale przypuszczam, że zdecydowanie więcej jest przypadków w których coś się nie udało na którymś etapie właśnie z ww. powodu(nie słyszy się od o nich bo się nie udają :) ) Jedynym za jakie widzę, są kody projektów z których można korzystać w celach edukacyjnych, bo czasami może to być dobra szkoła programowania. inne
123-2 Często można spotkać się z podejściem, które zakłada że przy budowie systemu informatycznego powinny być stosowanie najnowsze technologie i modele architektoniczne. Podejście takie jest oczywiście zasadne jeżeli budowany jest nowy system nie obarczony koniecznością integracji z innymi systemami / technologiami. logiczne
123-3 Co jednak w sytuacji w której budujemy system który musi się integrować ze “”starymi“” technologiami / architekturami? Czy zawsze mamy prawo żądać zmiany starych technologii? Kiedy się to nie uda? Podaj przykłady rozwiązań, które tak jak np. standard EDI mają już wiele lat i nadal są powszechnie wykorzystywane. hipoteza
124-0 Tworząc nowe systemy właściwie zawsze można by wykorzystać technologie będące aktualnymi standardami. hipoteza
124-1 Jednak w przypadku rozbudowy starych rozwiązań, niekoniecznie takie podejście będzie się opłacać. logiczne
124-2 Mając dostęp do starej i stabilnej architektury, lepszym wyjściem może się właśnie okazać jej integracja z nowo powstającym systemem. logiczne
124-3 Trzymanie się przez dłuższy czas pewnych technologii ma miejsce w dziedzinie bankowości. logiczne
124-4 Przykładowo system rozliczeń międzybankowych Elixir funkcjonuje już przez dłuższy czas - choć dzisiejsze możliwości technologiczne pozwalają na dużo więcej. inne
124-5 Dopiero od niedawna, powoli jest wprowadzana wersja Express i też nie wszystkie banki chcą od razu z tego korzystać, a i koszt usługi nie jest zachęcający. emocjonalne
124-6 Wewnętrzne systemy bankowe również nie są zbyt nowoczesne, w niektórych po godzinie 20-21 konta są zamrażane i nie można nawet usunąć lokat - ponieważ trwa codzienna przerwa konserwacyjna. rzeczowe
124-7 Więc widać, że systemy i technologie w niektórych dziedzinach są unowocześniane tylko drobnymi krokami. logiczne
124-8 Nowe interfejsy dla użytkowników są integrowane ze starymi, długo wykorzystywanymi rozwiązaniami. hipoteza
125-0 Korzystanie z najnowszych technologii nie jest zawsze pożądane. hipoteza
125-1 Przykład: złącze 8P8C, znane też jako RJ45. inne
125-2 Najstarszy formalny standard, jaki udało mi się znaleźć, jest opisany w dokumencie IEC 60603-7-7, którego pierwsza edycja datuje na rok 2002. Jednak historia tego złącza sięga aż do lat 70-tych, jak barwnie opisuje ten artykuł. rzeczowe
125-3 Mając w dzisiejszych czasach dostęp do Wifi, Bluetooth, podczerwieni itp. każda szanująca się serwerownia korzysta z tych kabli, gdyż, mimo że są stare, to są… po prostu dobre: rzadziej zrywają połączenie, wszystko jest z nimi kompatybilne itp. rzeczowe
125-4 "To właśnie to stanowi jedną z przyczyn, dla których nowe technologie są czasem niepożądane: if it works, why change it? Druga przyczyna to if it ain't broke, don't fix it. ;)" hipoteza
126-0 Moim zdaniem wszystko zależy od rodzaju projektu. Nowe technologie najczęściej są tworzone, żeby wnieść coś świeżego do skostniałego modelu jednak jeśli te nowinki nie są zbyt innowacyjne - a w szczególności nie koniecznie wnoszą nową jakość do tworzonego systemu lepiej je sobie darować. Poniżej przedstawiam kilka zalet sprawdzonych technologii. hipoteza
126-1 Po 1: Błędy: Starsze modele/technologie są już dobrze znane i przetestowane - oczywiście nie oznacza to że nie zawierają błędów, ale najczęściej największe wpadki są już za nimi. Nowinki bardzo często oprócz nowych funkcjonalności wnoszą nowe błędy i luki w bezpieczeństwie. W szczególności jeśli technologia jest zupełnie innowacyjna nawet jej twórcy mogą nie zdawać sobie sprawy z której strony może nastąpić najdotkliwszy atak na ich system. hipoteza
126-2 Po 2: Support Jeśli technologia jest na rynku już kilka lat i zdobyła sobie grono wiernych użytkowników można zakładać, że jest sens ciągłego wspierania jej w zakresie łatania dziur czy np dostosowywania do nowych systemów operacyjnych. W przypadku nowych technologii nie można mieć pewności, że przyjmą się one na rynku a co za tym idzie po kilku latach może się okazać, że dane rozwiązanie okazało się wielkim niewypałem i nikt z tego już nie korzysta, przez co twórca zaprzestał jego wspierania. hipoteza
126-3 Jest to najczęściej równoznaczne z przejściem na inną technologię co jak wiemy na etapie wdrożenia jest o rzędy wielkości droższe niż w trakcie projektowania systemu. (Zasada 1-10-100) rzeczowe
126-4 Po 3: Czy nowa technologia jest nam rzeczywiście potrzebna? Jak już wspomniałem we wstępie, nowe technologie powstają żeby w jakiś sposób usprawnić wykorzystanie wybranego obszaru zastosowań. Bardzo często w ramach projektów studenckich powstawały prototypy aplikacji wykorzystujących najnowsze technologie ponieważ… no właśnie… ponieważ są nowe… O ile na etapie studiów mamy czas na zgłębianie nowych technologii i powinniśmy pochłaniać ich jak najwięcej o tyle pracując zawodowo musimy już zdawać sobie sprawę z zalet i wad każdego rozwiązania. hipoteza
126-5 Jeśli nowa technologia nie wnosi niczego innowacyjnego ani nie ułatwia/przyspiesza tworzenia systemu nie ma moim zdaniem sensu poświęcać jej więcej czasu. Korzystajmy z nowości jeśli są rzeczywiście nowe! (Od razu nasuwa mi się myśl o produktach Apple które w praktyce zmieniają tylko numery wersji oraz cenę, jednak nie jest to dyskusja na ten temat). emocjonalne
127-0 Zgadzam się z przedmówcami, że starsze technologie mają szereg zalet - większość błędów pewnie wyłapano, użytkownicy są już przyzwyczajeni i nie widzą potrzeby innowacji. hipoteza
127-1 Jednak, moim zdaniem, takie podejście jest bardzo niepraktyczne i przypomina mi sytuację, którą opisywał Pan z IBM na jednej z prezentacji - do firmy (banku chyba) napisano nowe super oprogramowanie, jednak panie w okienkach nawet nie chciały słyszeć o tym, że będą musiały przestać używać starego oprogramowania. Po co miałoby się uczyć, jeśli jest i działa. Jak napisał Marcin: if it works, why change it? Ponieważ w ten sposób firma nie dość, że straciła pieniądze na pisanie nowego software'u, to wciąż musi korzystać z gorszych narzędzi. logiczne
127-2 Czy nowości są tworzone, żeby wnieść coś nowego? Moim zdaniem są tworzone dlatego, bo ktoś stwierdził, że może coś ulepszyć. Więc dlaczego z tych ulepszeń nie korzystać? Z powodu strachu przed nowością? Do mnie to nie przemawia. Jeśli widzimy, że nowe oprogramowanie ma funkcje, które mogą nam ułatwić pracę, to strach nie powinien sprawiać, że będziemy się przed zmianami wzbraniać (jak w pewnej opowieści o myszach i serze…). emocjonalne
127-3 Oczywiście rozumiem, że czasami nie opłaca się tracić czasu i pieniędzy na zmianę sprawdzonego oprogramowania, ale uważam, że jeśli jest okazja i możliwości, to można próbować integrować (sprawdzone oczywiście) nowości. hipoteza
128-0 Wydaje mi się, że nie powinno się rozpatrywać technologii na zasadzie nowe-stare, ale raczej stosować podział dobre-złe. Świetnie obrazuje to przytoczony wyżej przykład technologii Ethernet, która mimo wielu lat użycia wciąż się sprawdza. If it ain't broken, don't fix it to świetna zasada, jest z nią tylko jeden problem - jak zdefiniować słowo “”broken“”. inne
128-1 Czy spełnianie przez oprogramowanie pierwotnej funkcji znaczy, że wszystko jest w porządku? A co jeśli jest nierozszerzalne, technologia nie jest już wspierana (w związku z czym z ew. problemami technicznymi zostajemy sami) albo nie możemy jej wykorzystać w naszym nowym systemie(ze względu na problemy z kompatybilnością)? hipoteza
128-2 Tak jak napisał Emil Łodygowski, nie powinniśmy na siłę trzymać się starych rozwiązań, gdyż wieczne ich rozbudowywanie prowadzi do zaniku użyteczności - pierwotny koncept nie wytrzymuje przeładowania nowymi funkcjonalnościami. Wystarczy tu podać przykład języka C++, którego implementacja obiektowości należy do najmniej klarownych, m.in. ze względu na zachowanie jak największej kompatybilności z C. logiczne
128-3 Z drugiej strony, zanim zdecydujemy się na nowe rozwiązanie, powinniśmy upewnić się, że jest nam potrzebne - nowe funkcjonalności bywają zupełnie zbędne, za to często potrafią wpływać na stabilność systemu. Brakuje im też standaryzacji, co może kończyć się przebudowywaniem całego projektu. logiczne
128-4 Warto wspomnieć o jeszcze jednym istotnym czynniku, jakim jest wsparcie techniczne, którego stare wersje oprogramowania często nie posiadają. Niestety (lub stety) informatyka jest (wciąż) bardzo dynamicznie rozwijającą się dziedziną, a postęp techniczny w produkcji elektroniki przekłada się na konieczność rozwijania warstwy programowej. logiczne
128-5 Co jakiś czas zmienić technologię jesteśmy po prostu zmuszeni. Mało kto jest w stanie zaryzykować, że jego system napotka kłopoty z jakimś błędem, a producent odpowie, że wsparcie tej wersji wygasło 5 lat wcześniej. logiczne
128-6 Podsumowując - decydując się na technologię, powinniśmy mieć na uwadze jedno: to ona ma służyć nam, a nie my jej. Jeśli potrzebujemy nowych funkcjonalności, których nie da się osiągnąć na starych wersjach, albo w związku z rozwojem jakiejś dziedziny stworzono nowy, dedykowany software - nie wahajmy się. hipoteza
128-7 Nie dziś, to za rok - postępu nie da się zatrzymać. Jeśli jednak wszystko działa dobrze, nowa wersja wyróżnia się głównie zbędnymi wodotryskami, a producent gwarantuje nam wsparcie starej - poczekajmy. Unikniemy pierwszego etapu łatania bugów, poczekamy na opinie, ograniczymy ryzyko nieprzewidzianych sytuacji. logiczne
129-0 Zgodzę się z przedmówcami, że nie powinno się stosować najnowszej technologii, głównie dlatego, że jest nowa, bo nowsze nie znaczy od razu lepsze, a jeszcze rzadziej znaczy stabilne. hipoteza
129-1 Uważam też, że na siłę nie należy się trzymać “”starych“” technologii czy architektur, tylko dlatego, że je dobrze znamy (IMHO taka argumentacja z reguły wcale nie oznacza, że je dobrze znamy, tylko że nie znamy dobrze żadnych innych). Bo, jak już zostało powiedziane powyżej, istniejące ograniczenia w funkcjonalnościach itp. mogą sumarycznie przynosić mniejsze korzyści (np. jeżeli chodzi o czas pracy). hipoteza
129-2 To mi przypomina jednego ze znanym mi “”kierowników“”, który co jakiś czas wpada na pomysł, czego to nie dodać do własnego frameworka, w którym tworzy większość interfejsów webowych, a ostatecznie okazuje się, że są one już oferowane przez większość nawet nie tak nowych frameworków. inne
129-3 A co w przypadku konieczności komunikacji ze “”starszymi“” systemami? Porządnie napisany/przemyślany powinien oferować sensowne API. Jeżeli takowego nie ma, to może wcale nie jest to coś porządnego i (skoro jest używane) warto zastanowić się nad przepisaniem części systemu? Jeżeli oczywiście jest to wykonalne. hipoteza
130-0 Jest to zawsze dylemat dla twórcy systemu. Ogólnie zależy to od wymagań, jakie musi spełniać system. hipoteza
130-1 Im system musi być bardziej bezpieczny, stabilny i niezawodny, tym bardziej będziemy skłaniać się ku wyborze technologii bardziej sprawdzonych i solidniej przetestowanych. Najczęściej jest to równoważne z wyborem rozwiązań starszych. logiczne
130-2 Jednak w większości zastosowań nie musimy wprowadzać aż tak restrykcyjnej polityki bezpieczeństwa. Im bardziej liczy się dla nas funkcjonalność i potencjał rozwoju, tym większa szansa, że wybierzemy nowsze rozwiązanie. logiczne
130-3 Te dwa aspekty się ze sobą ścierają i to od naszej oceny wymagań co do systemu zależy decyzja. Oczywiście nie jest to decyzja zero-jedynkowa, możemy wybierać rozwiązania będące pomiędzy najstarszym i najnowszym. hipoteza
130-4 Trafnym określeniem na stopień, w jakim dana branża jest podatna na nowinki w technologiach jest według mnie słowo “”bezwładność“”. Im większa bezwładność, tym branża jest mniej podatna na zmiany i kierunek rozwoju technologii, tak jak w fizyce bezwładne ciało powoli zmienia kierunek pod wpływem przyłożonej siły. logiczne
130-5 Dużą bezwładnością charakteryzują się takie branże jak: - bankowość i finanse - instytucje rządowe (tutaj często zmiana oprogramowania wiąże się z rozpisaniem przetargu a potem kosztownym wdrożeniem) - przemysł (sterowniki maszyn, itp) - NASA (Komputer pokładowy łazika Curiosity ma moc obliczeniową która może wydawać się śmieszna - za to jest wysoce niezawodny i przystosowanym do warunków marsjańskich. Obiło mi się też o uszy, że jego oprogramowanie nie tyle jest bardzo dobrze przetestowane, ale wręcz przeprowadzane były matematyczne dowody poprawności tego oprogramowania) logiczne
130-6 Branże o najmniejszej bezwładności to z reguły te skierowane na masowego odbiorcę, np: - webdeveloping (swego czasu rozwój ograniczał Internet Explorer 6, po pokonaniu tej przeszkody tempo rozwoju tej branży wystrzeliło w górę) - gry komputerowe logiczne
130-7 Namacalnym przykładem różnicy “”bezwładności“” są dystrybucje linuxa: te nastawione na zastosowania serwerowe (np. Debian) mają pakiety oprogramowania w starszych wersjach niż te dla użytkownika domowego (np. Ubuntu) rzeczowe
130-8 Wydaje się, że serwisy społecznościowe zaczynają wielu użytkownikom zastępować system operacyjny i dostępne na nim aplikacje i oferowane przez nie usługi. Ludzie logując się rano na facebooka spędzają na nim cały dzień, w tym czasie uzyskują dostęp dla istotnych dla nich informacji, pozostają w kontakcie z bliskimi, relaksują się (np. grają w dostępne gry) i w końcu informują innych o swoich aktywnościach. emocjonalne
130-9 Czy ten model funkcjonowania serwisu społecznościowego sprawi, że “”tradycyjny“” system operacyjny niedługo w ogóle nie będzie dla użytkownika widoczny, tak jak kiedyś system dos przestał być widoczny dla użytkowników Windowsa 3.0? hipoteza
131-0 Takie facebook tamagotchi? Hmm to mogłoby być ciekawe rozwiązanie gdyby nie fakt, że lepiej zainwestować w smartfona :) Moim zdaniem nie ma szans na powstanie systemów ograniczających się wyłącznie do facebooka czy innego portalu społecznościowego, gdyż uważam to za bezcelowe. inne
131-1 Podzielam zdanie kolegi. Serwisy społecznościowe są dobre do kontaktów oraz informowania znajomych o naszych poczynaniach, ale nigdy nie zastąpią w pełni funkcjonalnego systemu operacyjnego. To, że aplikacje osiągnęły niebywały sukces na Facebooku, to wpływ użytkowników, którzy nie są świadomi do końca na czym ta machina polega. Uruchamiając grę na portalu oprócz chwili rozrywki przyczyniamy się do wzrostu kapitału firmy oraz zezwalamy na przetwarzanie wszelkich danych osobowych firmom trzecim. logiczne
131-2 Wiem, że bezpieczeństwo w dzisiejszych czasach to fikcja (panuje wszelka inwigilacja), ale system operacyjny zapewnia mi pełną kontrolę. Zresztą wystarczy spojrzeć na ostatnie statystyki, gdzie liczba użytkowników portali zaczyna spadać, a sprzedaż systemów cały czas wzrasta. emocjonalne
131-3 A ja stanę po 2 stronie barykady. inne
131-4 Boję się że koncept systemu opierającego sie na modelu społecznościowym już po części istnieje. Jest coraz więcej aplikacji czy stron www, umożliwających np “”zalogowanie przez facebooka“”, twitera i wiele innych. Taka inwazja określana mianem “”integracji“” portali społecznościowych juz nastąpiła. emocjonalne
131-5 HTC w swoich telefonach np miał dodany dodatkowy przycisk “”F“” umożliwiający natychmiastowe połączenie z facebookiem. Każdy telefon praktycznie z androidem ma juz zainstalowana aplikację społecznościową, z której można odrazu korzystać. inne
131-6 A co z samym konceptem tradycyjnego SO? Wystarczy popatrzeć na nowego Windowsa 8. On umożliwia tworzenie “”kafelków“” z wyświetlaniem pewnych informacji od aplikacji. Już wkrótce pojawią się FBapp, Google+ app i wiele innych, które ułatwią dostep do społeczności. A sam klasyczny pulpit? Okno “”Mój komputer“”? Wszystko jest poukrywane, a może w przyszłości okaże się także zbędne? inne
132-0 Myślę, że problem leży dużo głębiej i należy go rozpatrywać na nieco innej płaszczyźnie. hipoteza
132-1 W dobie pełnej globalizacji, obfotografowanej całkowicie kuli ziemskiej, sklasyfikowanej na przeróżnych portalach solidnej części ludzkości oraz wszelkich przejawów ich działalności, anonimowość w sieci jest już echem dziejów. emocjonalne
132-2 Państwa powoli stawiają nieśmiałe kroki w drodze to obłożenia internetu wszelkiego rodzaju prawami, wprowadzenia międzynarodowych umów oraz kontroli przepływu informacji. rzeczowe
132-3 Jednakże pewne kwestie pozostają nadal otwarte. Czy przeciętny użytkownik sieci chce na wstępie wpisywać swój login i hasło i pod etykietką fejsbukowago screen name operować w sieci? Odciskać paluch w czytniku czy pokazywać tęczówkę do kamerki? I co za tym idzie operować swoim własnym elektronicznym podpisem, i przy każdej potrzebie automatycznie się legitymować? Sprawne, szybkie i wygodne. hipoteza
132-4 Społeczeństwo jednak nie jest jednogłośne, przykładem mogą być protesty przeciwko wprowadzeniu ACTA. inne
132-5 Ludzkość mogłaby stać się sprawnie funkcjonującym kopcem mrówek, z pełną kontrolą i informacją, o każdej porze dnia i nocy. emocjonalne
132-6 Ale z drugiej strony stwarza to ryzyko totalitarnej kontroli, a taka myśl raczej mało kogo pozostawia obojętnym. emocjonalne
132-7 Pewne jest jedno, jakieś rozwiązania trzeba będzie wybrać. emocjonalne
133-0 Myślę, że jest to bardzo możliwe, ale dziedzinie telefonii komórkowej, w której miał by bardzo duże szanse na wybicie się.. hipoteza
133-1 Na smartfonach mamy dość duży wybór systemu operacyjnego, ale żaden nie spełnia wszystkich wymagań dzisiejszych użytkowników. Ludzie często zmieniają telefony na których to są różne systemy operacyjne i to nie stanowi im problemów. hipoteza
133-2 Jeżeli facebook stworzyłby przemyślany i genialny system to zebrał by całkiem spore grono zwolenników. hipoteza
134-0 Facebook systemem operacyjnym? A co w przypadku braku połączenia z internetem np. po burzy. Wtedy komputer nadawał by się do wyrzucenia? Ja opowiem się za stroną kolegów wcześniej, tzn żaden portal społecznościowy nie zastąpi SO. hipoteza
134-4 Każdy z nas przynajmniej raz na jakiś czas ma potrzebę stworzenia dokumentu tekstowego, napisanie jakiegoś wypracowania, streszczenia… Pewnego dnia przychodzimy do domu chcemy pisać wypracowanie na dzień kolejny, a tu psikus nie ma internetu… Co gdybyśmy pisali i pisali online prace magisterską przez wiele miesięcy i przez błąd jakiegoś informatyka, który nie dostatecznie zabezpieczył nasze pliki, praca wyciekła by do internetu albo co gorsza przepadłą na zawsze? emocjonalne
134-5 Facebook owszem, służy do komunikowania jednak większość z nas korzysta z niego z nudów, wchodzimy co kilka minut, patrzymy co się zmieniło i w ten sposób zabijamy czas.. Wiec jako taki gadżet do zabijania czasu nadaje się świetnie. emocjonalne
134-6 Oczywiście możemy gdybać, a jeżeli by dawał nam możliwość tworzenia plików tekstowych na dysku, korzystanie z niektórych funkcji offline itp. Ale czy wtedy facebook jest jeszcze portalem społecznościowym czy może już bardziej można nazwać go SO z funkcją komunikowania się… hipoteza
135-0 Wybacz, ale napisałeś rzeczy, które dokładnie nic nie znaczą. Skąd wiemy że systemy mobilne nie spełniają wymagań użytkowników? Niestety fakt jest taki, że ludzi kompletnie nie interesuje to, jaki mają system. Mało z nich pewnie w ogóle wie, że jakiś wybór istnieje. Ludzie kupujący telefon chcą Nokii, Samsunga, iPhona. No, może czasem “”tej nowej niebieskiej nokii“” albo “”tego samsunga z reklamy“”. Koniec. Na tym kończą się wymagania przeciętnych użytkowników telefonów. emocjonalne
135-1 Obracamy sie w kręgach technicznych i czasem łatwo zapomnieć, że to co dla nas jest normą - porównywanie aplikacji, systemów, jakości, modeli - dla większości jest abstrakcją. logiczne
135-2 Telefon facebooka móglby być udanym produktem, ale nie ze względu na genialność systemu. Tutaj niewiele zostało do wymyślenia - można żonglować interfejsem, i tutaj coś ugrać, ale gdyby tak było, to Windows Phone miałby gigantyczny udział w rynku. logiczne
135-3 Sukces Facebook mógłby odnieść tylko dzięki gigantycznemu zasięgowi swojej marki. Ludzi chcieliby telefonu Facebooka, a nie telefonu z systemem faceOS, bo nawet wtedy nie wiedzieliby, że coś takiego istnieje. logiczne
135-4 Odnośnie dyskusji - myślę, że systemy operacyjne w chmurze, bez lokalnego systemu plików lub z bardzo ograniczonym dyskiem to mimo wszystko będzie technologiczna ciekawostka. Google i ich ChromeOS nie odnosi większego sukcesu, bo nikt nie postawi na komputer, który bez internetu jest nieużywalny. logiczne
136-0 Myślę, że większość osób powyżej zbyt dosłownie potraktowała zdanie “”Facebook jako system operacyjny“”. hipoteza
136-1 Moim zdaniem nie chodzi o to, aby Facebook obok swoich funkcjonalności społecznych, udostępniał takie funkcjonalności jak tereźniejsze systemy operacyjne. hipoteza
136-2 Facebook SO, byłby systemem wyspecjalizowanym w jednym celu, a mianowicie obsługi portalu Facebook. Tak jak większość ludzi postrzega Linuxa, jako system dla administratorów i profesjonalistów, tak FSO byłby postrzegany jako system dla ludzi, którzy cenią sobie szybki i wygodny kontakt z przyjaciółmi. I to było jedyne jego zastosowanie. hipoteza
136-3 Jak wspomniano wcześniej, większość osób uruchamia komputer tylko po to, aby zajrzeć na facebooka. Nie zwracają w ogóle uwagi na całą otoczkę. Więc tablet/smartfon dedykowany dla Facebooka mógł by odnieść sukces. hipoteza
137-0 Jeśli taki system miałby powstać, szanse sukcesu miałby tylko na urządzeniach mobilnych. Już teraz wielu ludzi przy wyborze telefonu zwraca uwagę na to, czy da się na nim wygodnie obsługiwać facebooka, sieci telefoniczne tworzą pakiety z nielimitowanym dostępem właśnie do tego portalu itd. Powód jest prosty głównym zadaniem zarówno telefonu jak i facebooka jest umożliwienie użytkownikom kontaktu ze sobą. hipoteza
137-1 Jednakże taki system nie ma przyszłości. Dzisiejsze smartphony oferują więcej możliwości niż sam dostęp do portalu społecznościowego, który już działa w sposób wygodny dla użytkownika. Więc po co się ograniczać? hipoteza
137-2 Co do tematu komputerów: Już widać to, że osoby, które używały komputera tylko na potrzeby przeglądania internetu, słuchania muzyki, bądź oglądania filmów, przesiadają się na tablety. Pozostali ludzie korzystający z komputerów w jeszcze innych celach (np. praca, przechowywanie dokumentów, gry) raczej trudno będzie znaleźć wśród nich potencjalnych klientów dla takiego FB OS. inne
137-3 "Podsumowując: Facebook OS na telefony i tablety - “”Wielkie może""" hipoteza
137-4 Facebook OS na komputery stacjonarne - “”Nie ma szans“” hipoteza
139-0 Niespecjalnie rozumiem wszechobecny sceptycyzm - nie wiem, czy to akurat Facebook będzie autorem sieciowego systemu operacyjnego (Google ma większe szanse), ale sam scenariusz jest jak najbardziej możliwy, a nawet całkiem prawdopodobny. hipoteza
139-1 Od jakiegoś czasu możemy zauważyć, że historia powoli zatacza koło - wszystko zaczęło się od komputerów typu mainframe, potem pojawił się komputer osobisty, a teraz znowu wracamy do wielkich serwerów i małych terminali. inne
139-2 Wszystkie urządzenia mobilne i aplikacje na nie opierają się na interakcji z serwerami - Facebook, GMail, Google Calndar, Evernote, Dropbox czy Skydrive, Google Docs - to tylko kilka przykładów. Nie potrzebujemy mieć mocy “”pod ręką“” - ważne, że mamy do niej szybki, wygodny dostęp. inne
139-3 Jak dużo ostatnio się pisze o komputerach PC? Sporo, głównie w kontekście tracenia przez nie pozycji. Mnóstwo za to czytamy o wszelkiego rodzaju cloudach, Big Data, Software as a Service itd. Daleki jestem od nazwania tego dobrym trendem - nieco przerażająca jest wizja, w której znacząca część moich danych jest w cudzych rękach, a ja jestem szpiegowany 24/7 - liczę jednak, że znajdziemy jakieś rozwiązania i wizja Orwella się nie ziści. emocjonalne
139-4 Trzeba jednak spojrzeć też na pozytywne strony - to właśnie dzięki usługom sieciowym nasze życie wygląda tak jak wygląda. Rozwój Gmaila uniezależnił nas od konkretnego komputera, jeśli chcieliśmy odebrać pocztę, podobnie Docsy zmieniły sposób pracy z dokumentami. Wszystkie współczesne usługi zapewniają nam synchronizację między urządzeniami, co w dobie tabletów i smartfonów jest nie do przecenienia. inne
139-5 Jak widać, nie musimy na nic czekać - właśnie jesteśmy świadkami narodzin sieciowego systemu operacyjnego, który wymaga tylko przeglądarki. Już dzisiaj można korzystając TYLKO z usług Google wykonywać właściwie wszystkie czynności, do których większość ludzi używa komputera. inne
139-6 Zwykły użytkownik nie potrzebuje żadnej kontroli nad systemem, mocy małej stacji roboczej czy super-zabezpieczeń prywatności. On chce poczty, dokumentów, komunikatora, internetu i portalu społecznościowego, żeby pogadać ze znajomymi. emocjonalne
139-7 Piszecie: a co jeśli nie będzie Internetu, bo zdarzy się burza/trzęsienie ziemi/inwazja kosmitów? Zostaniemy bez niczego? Równie dobrze można spytać: a co, jeśli nie będzie prądu? Wtedy w ogóle komputery staną się bezużyteczne. Coraz większe zużycie i znaczenie zasobów internetowych wymusi budowę redundatnych sieci, a za jakiś czas brak dostępu do internetu będzie pewnie równie częsty, jak brak prądu - czyli będzie okazją do zrobienia sobie przerwy. hipoteza
139-8 Zresztą, patrząc uczciwie - czy przypadkiem już dziś nie jest tak, że brak dostępu do sieci znacząco ogranicza naszą produktywność? Śmiem twierdzić, że epoka “”sieciowa“” już się zaczęła, co najwyżej nie zdajemy sobie z tego jeszcze sprawy. hipoteza
139-9 A, tak na koniec: ktoś może napisać, że przecież “”Chromebooki się nie przyjęły“”. To prawda, na dzień dzisiejszy ograniczenie się TYLKO do usług sieciowych jest dość mało pociągające, tym bardziej, że lubimy mieć inne możliwości “”w zapasie“”, nawet jeśli przeglądarka internetowa jest najczęściej wykorzystywaną przez nas aplikacją. emocjonalne
139-10 Patrząc jednak na rozwój technologii w rodzaju HTML5 i przenoszenie do sieci kolejnych mediów (telewizja i filmy w postaci VOD, muzyka dostępna na Deezer czy Spotify, gazety wypierane przez portale inernetowe), jest dla mnie całkiem prawdopodobne, że wkrótce pojęcie “”systemu operacyjnego“” będzie znane tylko informatykom i zawodom pochodnym - cała reszta będzie po prostu wpinać się do Sieci. inne
140-0 Ja jestem zdanie że jest to możliwe by facebook czy google lub inny potentat rynkowy zrobił swój własny kompletny System operacyjny który bedzie tak samo użyteczny jak np win 8 tylko że do tego systemu raczej nie bedzie potrzeba normalnego kompa tylko właśnie z clouda trzeba by skorzystać itd Ale do tego jeszcze nam troche brakuję i póki co nie musimy się oto martwić :) inne
141-0 Osobiście jestem stanowczo przeciwny SO od Facebooka przede wszystkim ze względu na i tak znikome w dzisiejszych czasach bezpieczeństwo i ochronę danych osobowych. Dopóki FB jest tylko osobną aplikacją, można choć częściowo blokować jego zależności między innymi stronami a obawiam się, że przejście na system operacyjny stworzony przez jego twórców będzie niestety o wiele prostsze niż próba odejścia od niego… logiczne
141-1 Mimo tego, że moje zdanie jest takie a nie inne, praktycznie w pełni zgadzam się z wypowiedzią Rafała. Spróbujcie zrobić jakiekolwiek zadanie na uczelnię bez dostępu do internetu, nie chodzi tu o kopiowanie rozwiązań innych ale spójrzmy prawdzie w oczy, w dzisiejszych czasach do książki zagląda się na samym końcu bo znalezienie przydatnych informacji w sieci jest po prostu szybsze - przynajmniej jeśli bierzemy pod uwagę pokolenia internetu, starsi są często zbyt konserwatywni i czują awers do nowych technologii. emocjonalne
141-2 Dodatkowo zawężając się do naszego kierunku, książki informatyczne są praktycznie zawsze nieaktualne w momencie ich wydania. W naszym przypadku praca bez internetu jest bardzo trudna a często nawet nie możliwa… Oczywiście do wprowadzenia w pełni sieciowego systemu jeszcze wiele wody w Wiśle upłynie ponieważ jakość internetu w Polsce w wielu miejscach pozostawia wiele do życzenia, jednak myślę, że przeskoczenie tej bariery technologicznej to tylko kwestia czasu. inne
141-3 Nie od dziś wiadomo, że twórcy aplikacji już od dawna starają sie gdziekolwiek to możliwe przenosić aplikację wprost do przeglądarki. Kosztem narzutu obliczeniowego jaki wnosi obsługa przeglądarki otrzymujemy masę zalet tj chociażby uruchamianie tej samej aplikacji na wielu urządzeniach (O wiele łatwiej napisać - a w szczególności rozwijać - stronę WWW dopasowującą się do telefonu, tabletu i pc niż tworzyć 3 osobne aplikacje). logiczne
141-4 Poprzednicy wspomnieli wiele o usługach Google itp, to prawda, rynek usług opartych o pracę w chmurze rozrasta się oferując coraz więcej naprawdę ciekawych rozwiązań, przy okazji przynosząc nową, ciekawą dla wielu opcję: Jeśli wszystko przeniesiemy do chmury, użytkownik nie będzie więcej potrzebował mocnego sprzętu komputerowego. Jedynym ograniczeniem stanie się wtedy szybkość/przepustowość łącza internetowego ale jak już wspomniałem, uważam że uporanie się z tym problemem to tylko kwestia czasu. inne
141-5 Z punktu widzenia użytkownika chyba lepiej zapłacić niewielki abonament za dostęp do gry która działa płynnie, niż co 1-2 lata kupować nowy sprzęt + licencję na oprogramowanie, o ile nie pobierze pirata. Tutaj właśnie dochodzę do ostatniej z najważniejszych moim zdaniem zalet systemu Facebookowego, mianowicie walka z piractwem. System w całości oparty o architekturę klient-serwer pozwoliłby na praktycznie kompletne usunięcie piractwa z rynku a użytkownik nie byłby obarczony ręczną instalacją oprogramowania - 1 kliknięcie i żadnego wybierania folderów, opcji itp, tak jak to dzisiaj wygląda z aplikacjami na FB. inne
141-6 W takiej sytuacji to system zapewnia, że aplikacja została pobrana z jedynego słusznego źródła a nie np z torrentów. inne
142-0 Czy idea open source ma sens? Kiedy oprogramowania powinno być tak dystrybuowane? A może należy zamykać oprogramowanie i udostępniać je tylko komercyjnie? hipoteza
142-1 Według mnie idea Open Source ma sens w przypadku nowych formatów, czy to dźwięku, obrazu, lub na innych polach. Tak, by każdy produkt mógł zapisywać w tym rozszerzeniu i użytkownicy bez problemu mogli kooperować ze sobą. logiczne
142-2 Świetnym przykładem jest Ogg Vorbis, używany w wielu grach, FLAC w przypadku bezstratnej muzyki, czy COLLADA w przypadku programów do edycji 3D. rzeczowe
142-3 Ale nie widzę go w aplikacjach end-user. Jestem wielkim fanem z fundacji Blendera i podoba mi się ich podejście, mianowicie, tworzą produkt. Wiele projektów Open Source nie posiada tego podejścia. inne
142-4 Kiedyś, gdy był tworzony Big Buck Bunny, twórca Open Source-owego projektu DAW Ardour skrytykował kompozytora muzyki Jana Morgensterna, że ten tworzy muzykę na systemie Apple używając zamkniętego oprogramowania. Napomnę, że Pan Morgenstern tworzył za darmo tę muzykę. Osobiście zdenerwowało mnie podejście twórcy Ardour, zwłaszcza, że jego projekt był beznadziejny, jedynym jego argumentem było to, że “”jest on Otwartym oprogramowaniem“”. inne
142-5 Mam przyjaciela, który zajmuje się tworzeniem muzyki i sam ocenił, że ten projekt nic nie ma, brak pożytecznej funkcjonalności, nadaje się do śmietnika. Sam Ton Roosendal zamknął tamten wątek i wyraził swoje rozgoryczenie wypowiedzą twórcy Ardour, jednocześnie broniąc stanowiska Pana Morgensterna. inne
142-6 Tamto wydarzenie pozostawiło u mnie niesmak w przypadku projektów Open Source, chyba, że są to nowe formaty, to co innego. inne
143-0 Nie rozumiem dlaczego w przypadku open source zamykasz się tylko do formatów? Zwłaszcza że “”source“” odnosi się do plików źródłowych z kodem a nie do standardu kodowania? Myślę że trochę odbiegasz od tematu. Jest wiele projektów informatycznych, które rozwijają się tylko dlatego że są “”open“” i każdy może je rozwinąć lub wykorzystać przykład z którego sam korzystałem to Andengine. emocjonalne
143-1 Framework do wykorzystania graficznych możliwości androida i nie tylko, który znacznie ułatwia projekt a jednocześnie mogę go sobie dowolnie zmienić i poprawić na własny użytek. rzeczowe
143-2 "Powstało na tym wiele aplikacji na androida, które mogły by nigdy nie powstać bo ktoś np nie napisał by odpowiednika sam. W budowie różnych wersji linuxa też można uczestniczyć samemu tworząc moduły. Ja zdecydowanie uważam że Open Source ma duży sens jednak nie mówię że wszystko powinno wychodzić na takich warunkach w końcu ktoś kiedyś musi zarabiać ;) sam zarabiam na programowaniu a przecież z Open Source ciężko czasem się czegoś dorobić." emocjonalne
144-0 Udostępniane źródeł ma sens w wielu przypadkach. hipoteza
144-2 Można również wybrać rozwiązanie łączone. Produkt z zamkniętym kodem jest normalnie sprzedawany, a po zakończeniu wsparcia do niego, wydaniu nowej wersji - otwiera się dostęp do całości lub wybranych części starych źródeł. inne
144-4 Może to wzbudzić zainteresowanie danym programem, a nawet kolejnymi nowymi tego samego twórcy. hipoteza
144-5 Na przykład zdarzało się tak w przypadku gier komputerowych i fani mogli łatwiej przerabiać takie gry lub dodawać nowe poziomy. inne
145-0 O tym, że open source ma sens świadczy popularność takich serwisów jak GitHub czy Bitbucket. Wprawdzie są to przeważnie nieduże projekty, ale widać, że ludziom podoba się taka idea. Poza tym open source trochę “”napędza sam siebie“”: ja coś stworzę, ułatwiając sobie korzystając z kodu udostępnionego przez innych, a potem sam to udostępnię itd. logiczne
145-1 Ale są i dużo większe projekty (Linux, Python, PostgreSQL, Emacs i wiele innych). Udostępnianie źródeł też nie oznacza od razu zamknięcia sobie drogi do zarabiania na tym. Takie firmy jak Red Hat Inc. czy Canonical Ltd. czerpią zyski ze wsparcia dla produktów dystrybuowanych w ten sposób. logiczne
145-2 A korzyści są duże, np. potencjalnie większe bezpieczeństwo aplikacji i jakość kodu, bo czyta i testuje go wielu różnych programistów, czy częstsze aktualizacje (por. (1) Actually, Open Source Code Is Better: Report, (2) Is Open Source Software “”Better“” Than Closed Source Software? (…), (3) Why Open Source?). rzeczowe
145-3 Jak wyżej - open source zdecydowanie sprzyja popularyzacji oprogramowania i tworzeniu standardów: jednym z lepszych przykładów jest OpenGL, który wyrósł właśnie dzięki udostępnieniu biblioteki przez SGI. Popularyzacja i standaryzacja przekłada się oczywiście na wzrost rynku, któremu można świadczyć odpowiednie usługi wsparcia - i zarabiać na tym niemałe pieniądze. logiczne
145-4 Byłbym jednak bardzo sceptyczny, jeśli chodzi o popularyzację OS poza te ramy - nikt jeszcze nie wpadł na to, jak zarabiać na takim oprogramowaniu (na oprogramowaniu - nie na usługach dookoła niego). Głównym bodźcem rozwoju informatyki zawsze były duże możliwości zysku w stosunku do nakładów. emocjonalne
145-5 Jeśli napisałem świetny program, mogłem na tym zarobić miliony (w skrajnych przypadkach - miliardy) dolarów. To działa na wyobraźnię i powoduje, że tak wiele jest start-upów w IT. Jest to również jedna z przyczyn błyskawicznego postępu, jaki dokonuje się w branży. emocjonalne
145-6 Mimo ponad 20 lat historii OS, nie udało się tego mechanizmu zastosować w opgoramowaniu tego typu. Więcej - jest on często potępiany przez środowisko OS jako mało moralny. Z drugiej strony, ukazywały się artykuły ludzi związanych z ruchem OS, którzy jasno stwierdzali, że brak pomysłu na monetyzację stanowi najpoważniejszą blokadę tego rodzaju oprogramowania. logiczne
145-7 "Zgadzam się z przedmówcami (oprócz Krzysztofa). Dla mnie Open Source napędza rozwój. Nie muszę wymyślać koła na nowo bo chcę stworzyć powóz - korzystam z już istniejącego źródła kodu dla koła i programuję swoją bryczkę ;) A nawet jeśli jakieś rozwiązanie nie przypadnie mi do gustu to przecież … uwaga … mogę je zmienić i dostosować do swoich potrzeb." emocjonalne
145-8 "A jak zarabiać na OS? Głównie na wsparciu (płatny support, płatna dokumentacja, książki, szkolenia, wykłady) i usługach (płatne dodatki, bądź utrzymanie - np hosting). Ewentualnie żebrząc co łaska ;)" emocjonalne
146-0 Czy w przedsiębiorstwach warto stosować narzędzia i metody inżynierii oprogramowania? Może rację mają Ci, którzy mówią że jest to obszar informatyki mało użyteczny i jedynie teoretyczny? hipoteza
146-1 Wydaje mi się, że cała praca poprzedzająca implementację jest potrzebna. Już podczas tworzenia projektów uczelnianych widzimy jak bardzo dokumentacja, tworzenie przypadków użycia czy diagramów klas jest użyteczne w dalszych pracach. Bez zaprojektowania nasze aplikacje byłyby pełne chaosu, moglibyśmy się w nich w końcu pogubić, nie wiedzielibyśmy jakie funkcjonalności należy zaimplementować, a w rezultacie efekt końcowy byłby zupełnie inny niż planowany. hipoteza
146-2 Poza tym to, że piszemy jakiś program nie znaczy, że nikt nie będzie go później poprawiał/uzupełniał/modernizował, a bez dokumentacji nie będzie wiedział za co się zabrać. inne
146-3 JJ, faktycznie - bez dokumentacji nikt nie będzie wiedział za bardzo za co się zabrać. Miałem tę przyjemność uczestniczyć w przejmowaniu komercyjnego projektu (tj. miałem rozwijać projekt rozpoczęty przez inną osobę), który był napisany w taki sposób, że w zasadzie ani ja ani osoba, która miała z kodem trochę więcej do czynienia nie wiedzieliśmy w ogóle, co się dzieje. inne
146-4 Skończyło się na tym, że połowę kodu wymieniliśmy - lepiej napisać kod, który się rozumie niż debugować magiczną różdżkę. Inną sprawą jest, że projekt był tak ustalony, że nie było żadnego dokumentu określającego jak ma działać urządzenie, które programowałem - jedynie fragmenty kodu, jakieś ramki pakietów napisane w C, czasami dowiadywałem się, że kiedyś na spotkaniu ktoś ustalił, że ma być tak a tak… :) inne
146-5 Po co tyle narzekam oprócz tego, że lubię? Otóż okazuje się, że o tym, jak bardzo inżynierai oprogramowania się przydaje najlepiej przekonać się w sytuacji, gdy nie została zastosowana. Jest to prawdziwy horror emocjonalne
159-0 "W zupełności zgadzam się z kolegami, że raczej mało prawdopodobna będzie sytuacja w której urządzania mobilne nagle przestaną korzystać z przeglądarek i pozostanie nam tylko opcja aplikacji mobilnych (chociaż nigdy nie wiadomo jak będzie wyglądać przyszłość ;) )." inne
159-1 Wydaje mi się, że w tym przypadku nie ma jakiegoś konkretnego zwycięzcy w starciu przeglądarki kontra aplikacje mobilne, ponieważ obydwie rzeczy mają swoje zalety i wady i nie wyobrażam sobie sytuacji w której jedno miałoby zastąpić drugie. logiczne
159-2 Zdecydowaną zaletą aplikacji mobilnych jest fakt, iż mogą sobie np. działać w tle i powiadamiać nas o tym, kiedy będzie się dziać coś ciekawego (nie wiem czy na chwilę obecną jest to możliwe z przeglądarkami, ale nie spotkałem się z tym jeszcze). logiczne
159-3 Jednak z drugiej strony pamiętajmy, że aplikacje mobilne mają jedną zasadniczą wadę: zajmują cenne miejsce na dysku, zwłaszcza kiedy naszego smartfona wykorzystuje się do np. słuchania muzyki, oglądania filmów, grania, jako przenośny dysk twardy, który zawsze mamy przy sobie itp. (wtedy każdy MB jest na wagę złota). logiczne
159-4 Wyobraźmy sobie sytuację w której nie ma przeglądarek, a są tylko aplikacje mobilne. Korzystając z wielu serwisów jesteśmy w pewnym stopniu zmuszani do instalacji wielu aplikacji i nasz system szybko jest zapychany dodatkowymi zasobami, a nasze miejsce na dysku szybko znika (być może problem ten będzie w przyszłości rozwiązywany przez np. chmury, czas pokaże). logiczne
159-5 W tym przypadku przeglądarki wydają się być lepszym rozwiązaniem zwłaszcza w momencie w którym większość serwisów występuje w np. 2 wersjach: zwykłej i mobilnej, która jest przystosowana do opcji: mały ekran + duże palce. logiczne
160-0 Moje zdanie może zalatuje nieco herezją ale sądzę, że od sytuacji podanej w temacie bardziej prawdopodobna jest sytuacja odwrotna gdzie aplikacje natywne na telefonach komórkowych zostaną zastąpione przez responsywne strony internetowe. Widzę ku temu kilka powodów. hipoteza
160-1 Coraz więcej nowych systemów operacyjnych: Wiemy że oprócz przodujących na rynku systemów Android, Windows Phone i iOS powstają inne mniejsze projekty. Jeśli do tego dołączy jeszcze jakiś większy gracz czego nigdy nie można przewidzieć otrzymamy sporo systemów które aplikacja powinna obsługiwać bo w końcu żaden programista nie chce żeby jego aplikacja ograniczała liczbę swoich użytkowników przez jej nieprzenośność. inne
160-2 Zwiększanie mocy smartfonów: Telefony stają się coraz silniejsze pod względem mocy obliczeniowej. Za jakiś czas narzut dodany przez przeglądarkę stanie się niezauważalny dzięki temu największa zaleta aplikacji natywnych może odejść do lamusa (albo mocno stracić na znaczeniu). logiczne
160-3 Tendencja rynkowa: Twórcy aplikacji na PC już od jakiegoś czasu starają się przenosić swoje aplikacje do chmury i przeglądarek. Granie w chmurze czy silniki wymagające jedynie przeglądarki internetowej z odpowiednią wtyczką (tj. Unity 3D) do uruchomienia gry komputerowej zystkują coraz większą popularność. rzeczowe
160-4 Coraz bardziej odchodzi się od aplikacji natywnych na rzecz wersji przeglądarkowych w modelu klient serwer choćby ze względu na walkę z piractwem. O ile w telefonach komórkowych mamy już wprowadzone “”jedyne słuszne źródła oprogramowania“” nadal pewnymi metodami można je obejść. inne
160-5 Korzystająć z aplikacji przeglądarkowej próby “”spiracenia“” oprogramowania na nic się nie zdadzą. Aplikacje webowe nie wymagają również instalacji a dają możliwość używania jednego adresu do aplikacji na PC i smartfona dzięki dopasowywaniu responsywnemu. rzeczowe
160-6 Pisanie jednej aplikacji + kilka layoutów jest znacznie mniej czasochłonne niż pisanie kilku osobnych aplikacji. Dodatkowo dochodzący narzut testowania i wspierania wielu różnych systemów daje ogromną przewagę jednej multiplatformowej aplikacji. rzeczowe
161-0 Także według mnie wizja zniknięcia WWW nie jest realna. Mało tego, jeśli by się tak stało, byłaby to KATASTROFA. emocjonalne
161-1 Ideą stron WWW jest ich niezależność od urządzeń. Tworzymy stronę internetową i mamy pewność, że zostanie wyświetlona na wszystkich urządzeniach z przeglądarką internetową. HTML i pokrewne technologie webowe to otwarte standardy, więc można je zaimplementować na każdym urządzeniu. Jest to swoisty uniwersalny język do publikowania w internecie. rzeczowe
161-2 Jak by to wyglądało gdyby zostały tylko aplikacje mobilne? hipoteza
161-3 Trzeba by było tworzyć kilkanaście aplikacji dla wielu urządzeń, a i tak nie obsłużylibyśmy wszystkich, ani tych nowo powstałych. Byłoby to faworyzowanie jednych firm, co mogłoby doprowadzić do powstania monopoli. logiczne
161-4 Jak w takim wypadku funkcjonowałby dostęp do informacji publicznej? Instytucje państwowe też byłyby zmuszone tworzyć aplikację pod różne platformy, a przecież państwo musi publikować w formacie powszechnie dostępnym, nie może faworyzować wybranych firm. Jednolity standard wymiany informacji jest konieczny. logiczne
161-5 Reasumując WWW nie zniknie - a jeśli nie zniknie, nie znikną także przeglądarki internetowe dla urządzeń mobilnych. hipoteza
162-0 Kiedyś żartobliwie mówiono, że niedługo komputer będzie już w każdej lodówce. Czy to “”niedługo“” jest już “”dzisiaj“”? Jakie zastosowania informatyki wdarły się do życia codziennego w taki sposób, że tego nie zauważamy? hipoteza
163-0 Komputery w życiu codziennym to już norma. Mamy z nimi do czynienia w kuchni, łazience oraz salonie. Firmy technologiczne dążą do stworzenia inteligentych domów, w zasadzie już takie domy istnieją, ale zwykły śmiertelnik może o nich tylko pomarzyć. emocjonalne
163-1 Zacznę więc może od wspomnianej lodówki. Na targach CES w 2011 roku firma LG zaprezentowała inteligentną lodówkę, która sama przeszukiwała internet w poszukiwaniu ciekawych przepisów, bazując przy tym na produktach, które znajdowały się w jej wnętrzu. Sprawdzanie terminów ważności produktów równeż nie było problemem. Wszystkie niezbędne informacje, dotyczące lodówki i produktów z jej wnętrza, użytkownik mógł odebrać przy pomocy komputera, bądź urządzenia mobilnego, podłączonego do internetu. rzeczowe
163-2 Samsung w tym roku zaprezentowały lodówki z wyświetlaczem dotykowym oraz możliwością dokonywania zakupów z poziomu lodówki. http://www.youtube.com/watch?v=yu3keu48hzY rzeczowe
163-3 Samsung i LG nie poprzestają tylko na konstruowaniu inteligentych urządzeń AGD, chcą również zapewnić swobodną komunikację pomiędzy urządzeniami bez naszej ingerencji. rzeczowe
163-4 Dwa tygodnie temu miałem okazję obejrzeć film dokumentalny o inteligentych domach. Prezentowane technologie mieściły się w centrum badawczym firmy Samsung, których oglądanie jest dostępne dla zwiedzających. Tak więc system rozpoznający domowników wybiera dla konkretnej osoby poziom oświetlenia w pomieszczeniu, załącza odpowiednią muzykę, itp. inne
163-5 Nie będę już wspominał o automatycznym nalewaniu wody do wanny o określonej godzinie, kabinach prysznicowych z telewizorem, łącznością telefoniczną i internetową czy podgrzewanych deskach sedesowych. Część tych rozwiązań jest już dostępna na rynku, a część będzie wdrażana w tym roku. inne
163-6 Zapewne część z Was słyszała o posiadłości Billa Gatesa, która jest w całości naszpikowana elektroniką. Jeśli nie to polecam poniższy artykuł: http://nt.interia.pl/gadzety/news-jak-mieszka-bill-gates,nId,690078 rzeczowe
164-0 Niestety taka komputeryzacja postępuje. Dlaczego niestety? hipoteza
164-1 Bo boje się iż ludzie przez nią staną się coraz bardziej leniwi i przepraszam za określenie zidioceni emocjonalne
164-2 Dlaczego? Mamy juz inteligentne lodówki, samo czyszczące odkurzacze, samo jeżdzące samochody. To co człowiek ma robić? Jak żyć, skoro nie ma nawet najprostrzych codziennych udręk i wyzwań? Co gorsza w ten sposób ludzie oduczaja się dbać o inne rzeczy. Bo po co skoro komputer zrobi to za nas? hipoteza
164-3 Inny przykład -> anegdota prowadzacego która myślę także dobrze ilustruje ten problem. Myślę że pamiętacie jak pan dr.Marciniak opowiadał o dziecku, które próbowało przewracać kartki gazety palcem, tak samo jakby to był tablet. I wyobraźcie sobie sytuację za powiedzmy 20 lat. Gdzie nie ma już gazet, tylko same e-papiery i tablety. A tu w piwnicy znajdzie stary album ze zdjęciami i próbując go otworzyć nieświadomie go zniszczy. emocjonalne
164-4 Jest to problem teoretycznie wielokrotnie wyśmiewany w naszej kulturze np w filmie animowanym WALL-E LINK 1 WALL-E LINK 2 gdzie mamy wiele scen pokazujących wręcz ludzka degenerację w pełni zautomatyzowanym świecie. Jednak moim zdaniem problem istnieje i sądzę że komputery nie powinny być wpychane gdzie popadnie. emocjonalne
165-0 Odwołując się do wypowiedzi Sławka 2 i 3 akapit. Co prawda powstaje coraz lepszy sprzęt ale kto z niego korzysta? Nie znam nikogo kto by miał samoczyszczący odkurzacz, czy inteligentną lodówkę. Zwykły szary obywatel woli te pieniądze przeznaczyć na coś innego, a ci co kupują taki sprzęt i tak by sami nie sprzątali. Wydaje mi się, że jeszcze sporo czasu pomęczymy się z odkurzaczem. inne
165-1 Jednak postem komputeryzacji w naszym życiu możemy zaobserwować np. siedząc na wykładzie. Kiedyś na nudnych zajęciach uczniowie/studyci grali w kółko i krzyżyk, statki itp., a notowali w zeszycie. Teraz co druga osoba siedzi z laptopem lub innym sprzętem elektronicznym, nieraz też słyszałam w telewizji rozmowy polityków by dzieci zamiast książek i zeszytów chodziły do szkoły z laptopami. Również ściąga pisana na kartce została totalnie wyparta przez elektronikę. logiczne
165-2 Twoje podejście pozwól że zripostuje cytatem Kena Olsena z 1977r. rzeczowe
165-3 Nie ma żadnego powodu, aby ktokolwiek posiadał w domu komputer. hipoteza
165-4 To że niestety Emilio ty nie posiadasz jakiegoś sprzętu, nie oznacza że nie moga go zdobyć inni. Zaś człowiek to istota niestety leniwa, praktycznie każdy wynalazek który powstał z ręki człowieka służył tylko temu aby życie było łatwiejsze i przyjemniejsze, więc zawsze znajdzie się ktoś kto kupi twoim zdaniem bezwartościowy sprzęt. emocjonalne
165-5 Podobne podejście miał właśnie wyżej wymieniony człowiek. Po co komputer w każdym domu? Do rachowania można wykorzystać liczydło! A ile kasy zostanie na “”coś innego“”. Zwykły szary obywatel zaczyna doceniać dobrodziejstwa tych przedmiotów gdy bezpośrednio dotkną jego najbliższego otoczenia. To czego ja się boję to fakt iż nikt nie zauważa płynących z tego zagrożeń i konsekwencji. emocjonalne
165-6 Może swoimi przykładami za bardzo wyszedłem w przyszłość. Spójrzmy na bardziej dziś rozpowszechnione użycie komputera. Np. E-ramki do wyświetlania zdjęć. Wygodne, 1 ramka losowo wybiera i zmienia w jednostce czasu zdjęcia. Inny przykład - już gorszy to komputeryzacja aut. W szczególności w przypadkach gdzie elektronika jest wpychana na siłę tam gdzie nie jest o to proszona. inne
165-7 Np. Automatyczna skrzynia biegów lub lepiej polecam zapoznać się z problemem “”Sudden Acceleration“” w samochodach Hundai czy Toyota. Wprowadzono elektroniczny, komputerowo sterowany system cruise control. który oczywiście nie najlepiej otestowany potrafił rozpędzić auto do 120 km/h uniemożliwiając hamowanie i zabijając/cięzko raniąc kierowcę. rzeczowe
165-8 Mniej drastyczny przykład. Z mojego życia. Dostałem latem “”strzała“” w tył samochodu, na parkingu sklepowym. Jakie było tłumaczenie sprawcy? Panie nooo przepraszam, ale komputer mi za późno zapiszczał jak cofałem… inne
165-9 Nie muszę dodawać faktu że ochrzan po tym zdaniu zebrał od góry do dołu. Człowiek tak się rozleniwił i polegał na komputerze w swoim SUV-ie że nie używał lusterek. I tym samym na ślepo przywalił w kuper. Dla mnie to jest coś nie do pomyślenia. emocjonalne
165-10 Nieraz też słyszałam w telewizji rozmowy polityków by dzieci zamiast książek i zeszytów chodziły do szkoły z laptopami. Również ściąga pisana na kartce została totalnie wyparta przez elektronikę. inne
165-11 Niestety prawda. I tym sposobem mamy plagę Dys-(wstaw dowolne słowo). Wszyscy piszą jak kura pazurem, robiąc błąd na błędzie (na kartce jakoś brak autokorekty). A matematyka? Po co, jest kalkulator!. Akurat pomysł z laptopami np w gimnazjach czy szkołach podstawowych uważam za fatalny. emocjonalne
165-12 Ale niektóre zastosowania komputerów w szkołach np. elektroniczne tablice są super, rozwijają, umożliwiają jak u mnie w Liceum szybkie rysowanie funkcji, czy brył przez co zajęcia matematyki były naprawdę fascynujące nie trzeba wyznaczać ucznia “”gąbkowego“” do czyszczenia tablic, etc. I na kredzie się oszczędzało! inne
166-0 Według mnie komputeryzacja ma także swoje zalety. Prawda jest taka, że użytkownik, który potrafi myśleć logicznie i konstruktywnie zawsze znajdzie sposób na wykorzystanie nawet tej przykładowej lodówki do swoich określonych zastosowań. Nie musi to koniecznie prowadzić do “”zidiocenia“” użytkowników danego urządzenia, lecz może sprawić, że będziemy w stanie poszerzyć nasz wachlarz możliwości. logiczne
166-1 Rozumiem katastrofalny przykład, który przytoczył Sławomir odnośnie niedostatecznie wykonanych testów układu elektronicznego w samochodzie, jednak należy wziąć pod uwagę, że był to błąd systemu, każda maszyna/system o średnim stopniu zaawansowania jest podatna na awarie, czy to w sensie fizycznym czy logicznym ( np. z powodu złych warunków zapisanych w programie). logiczne
166-2 Jestem bardzo zadowolony z tego powodu, że żyję w czasach bardzo szybkiego postępu technicznego i informatycznego. Nie wyobrażam sobie szczerze mówiąc życia bez komputera. Jest on zbyt dogodnym źródłem informacji, rozrywki oraz wszelakiej formy komunikacji bym mógł zwyczajnie się od niego odzwyczaić. inne
166-3 Zapewne wiele osób w przeszłości uważało, że komputer czy internet to są zbyteczne wynalazki, podczas, gdy przyczyniły się znacząco do rozwoju oraz wymiany informacji przez ludzi na całym świecie. rzeczowe
166-4 Co do przytaczania lenistwa ludzi podczas używania jakiegokolwiek udogodnienia technicznego, jedyne co mogę powiedzieć to, że istnieli i zawsze istnieć będą ludzie, którzy z powodu lenistwa będą zrzucać winę na cokolwiek innego niż na samego siebie. hipoteza
166-5 Nie zgadzam się do końca również z twierdzeniem, że osoba używająca komputera tudzież kalkulatora jest osobą z miejsca skazaną na dysortografię czy problemy matematyczne. Sam obcuję z komputerem od 7-go roku życia. Nie zauważyłem do tej pory żadnych większych (ponadprzeciętnych) problemów z ortografią tudzież składnią pisanych przeze mnie zdań. inne
166-6 Co więcej, uważam, że praca z komputerem wspomaga naukę czytania. W momencie gdy potrzebujemy uzyskać dostęp do jakiejś interesującej nas informacji musimy umiejętnie operować hasłami w celu wyszukania treści, która nas zadowoli. inne
166-7 Sławku rozumiem, że jesteś wielbicielem sprzątania :) Nie miałbym nic przeciwko jakbym włączył urządzenie, które za mnie odkurzy dom, a ja mogę się oddać innym zajęciom. emocjonalne
166-8 Chcesz oglądać zdjęcia to są albumy czy też komputery jeśli ma się zdjęcia w postaci cyfrowej. Mnie rozpraszałoby u denerwowało przeskakiwanie obrazu i dodatkowo jej światło nie pozwalało zasnąć (w przypadku posiadania czegoś takiego w sypialni). inne
166-9 Na chwilę obecną mamy możliwość wybierania rzeczy bardziej lub mniej skomputeryzowanych i cieszmy się z tego. emocjonalne
167-0 Kiedyś nie wyobrażano sobie, że można iść do sklepu i kupić chleb, czy słodycze. Bo po co, skoro można zrobić to samemu, dokładnie tak jak chcemy? Technologia rozwija się i nie ma od tego odwrotu. Życie staje się coraz prostsze i na pewno ma to swoje zalety. Można uprościć wiele uciążliwych czynności: automatyczne odkurzacze, automatyczne piekarniki, programowalne całe domy. Najważniejsze to mieć świadomość wad i zalet takiego rozwoju. emocjonalne
167-1 Zazwyczaj nikt nie zmusza do korzystania z nowych technologii. Można jednak zautomatyzować wykonywanie nielubianych czynności i dzięki temu zyskać czas na robienie tego, co się lubi. Jeśli ktoś lubi czytać papierowe książki czy jeździć samochodem bez elektronicznych systemów ciągle może to robić. Posiadamy coraz więcej i chociaż pewnie można się obejść bez 90% urządzeń, czy gadżetów to jednak znaczna część czyni życie bardziej komfortowym. logiczne
167-2 Cieszę się jednak, że jesteśmy pokoleniem przejścia, które zna jeszcze świat bez ogólnodostępnego internetu i komputerów w praktyczni każdym miejscu. Nowe pokolenie jest już inaczej ukształtowane - tracą umiejętność zapamiętywania informacji, na rzecz umiejętności ich wyszukiwania. Można zapytać co stanie się, kiedy padnie internet? A co stanie się z nami kiedy nie będzie prądu? Też nie potrafimy wykonywać wielu czynności, które były powszechne choćby 20 lat temu i jakoś większość ludzi nie zawraca sobie głowy, żeby się ich nauczyć. hipoteza
167-3 Choćby wspomniany wcześniej chleb - ile znacie osób, które potrafią zrobić go od zera, łącznie z zebraniem zboża i zrobieniem mąki? Bo jest to zbędne i może być traktowane w ramach hobby, ciekawostki. Internet jest już praktycznie wszędzie, jeśli ktoś chce może mieć do niego dostęp 24 godziny na dobę. inne
167-4 Jeśli ktoś nie chce, czy nie potrafi nauczyć się jeździć autem, będzie miał możliwość korzystania z automatycznych pojazdów. Jeśli ktoś uwielbia prowadzić i jest to jego hobby będzie mógł robić to częściej, ponieważ czynności domowe, na które poświęcał czas wykonają za niego roboty. logiczne
1 id paragraf tag
2 0-0 Często można spotkać się z podejściem, które zakłada że przy budowie systemu informatycznego powinny być stosowanie najnowsze technologie i modele architektoniczne. Podejście takie jest oczywiście zasadne jeżeli budowany jest nowy system nie obarczony koniecznością integracji z innymi systemami / technologiami. hipoteza
3 0-1 Co jednak w sytuacji w której budujemy system który musi się integrować ze “starymi” technologiami / architekturami? Czy zawsze mamy prawo żądać zmiany starych technologii? Kiedy się to nie uda? Podaj przykłady rozwiązań, które tak jak np. standard EDI mają już wiele lat i nadal są powszechnie wykorzystywane. hipoteza
4 1-0 Zmiana starych technologii na nowe nie uda się na przykład w następującym przypadku. System składa się z ogromnej liczby linii kodu napisanych w języku programowania, którego się już powszechnie nie używa. System ten jednocześnie jest rozpowszechniony - dużo osób z niego korzysta w różnych miejscach. Z tego powodu musi funkcjonować prawie przez cały czas, nie może mieć dłuższych przerw w działaniu. logiczne
5 1-1 Przykładem może być system, który we Francji zajmuje się lokalami (socjalnymi?). Napisany w Fortranie. Mnóstwo osób z niego korzysta codziennie, więc wyłączenie go na dłuższy czas i migracja danych nie są możliwe. rzeczowe
6 1-2 Kolejny przykład to niemiecki system związany ze służbą zdrowia. Zawiera kartoteki pacjentów. “”Przepisanie“” go od nowa również by nie było możliwe. rzeczowe
7 2-0 Czy zawsze mamy prawo żądać zmiany technologii? Nie, ale z czasem możemy być do tego zmuszeni. hipoteza
8 2-1 Przykład systemu napisanego w Fortranie przewijał się już kilkakrotnie. Podobno nikt nie odważy się go zmienić na jakiś inny. Pytanie brzmi czy wszystkie modyfikacje, które będzie trzeba wprowadzić będzie można zrealizować? W końcu Fortran jest językiem ograniczonym, nie obsługuje np. rekurencji, nie jest językiem obiektowym. Oczywiście nie potrzeba języka obiektowego, żeby programować obiektowo, ale z pewnością ułatwia to rozwiązywania problemów. hipoteza
9 2-2 Oczywiście wszystko się da zrobić w informatyce, pytanie za ile i na kiedy. Jednak były podane również przykład (na APO) systemu zdaje się napisanego w Delphi, który z czasem tak się rozrósł, że programiści stracili nad nim kontrolę i było trzeba go przepisać zgodnie z nowymi trendami. emocjonalne
10 3-0 Był jeszcze kontrprzykład na ASI - SOLSystem, który to ze względu na objętość pozostanie w języku Delphi. rzeczowe
11 3-1 Wydaje mi się jednak iż zmiany i unowocześnianie technologii powinno następować, nawet jeśli wydaje się to niemożliwe. Inaczej może się zdarzyć sytuacja podobna do tej w Kalifornii (przepraszam jeśli mylę miejsca) gdzie władze stanowe musiały “”wskrzeszać z martwych“” i ściągać z emerytury programistów COBOLa aby wprowadzili zmiany w używanym od zawsze systemie informatycznym. inne
12 4-0 Jeśli klientela się nie burzy - po co zmieniać coś co działa? Taki argument przesłonił mi motywację objętościową w tym przypadku (choć gdyby jej nie było to zapewne system rzeczywiście zostałbym przepisany). emocjonalne
13 4-1 Jak powszechnie wiadomo, klienta zazwyczaj interesuje tylko czy dany system spełnia jego wymagania, a nie jakie ma fundamenty. Skoro nie mają nawet problemów z nieco archaicznym interfejsem, a nowi klienci również się znajdują, może nie ma potrzeby inwestowania czasu i środków w żmudną przebudowę. inne
14 4-2 Rozumowanie oczywiście naiwne, ale myślę że i w niektórych (raczej niszowych) przypadkach praktyczne. Ostatecznie jednak zgadzam się, że modernizacje powinny mieć miejsce, bo może to zapobiec wielu potencjalnym problemom w przyszłości (a także wytworzyć wiele potencjalnych problemów w trakcie, ale to inna historia). logiczne
15 5-0 Większość moich przedmówców skupiła się głównie na, pewnie najistotniejszym, aspekcie procesu wymiany systemów na nowe - kosztach. Wydaje mi się jednak, że innym, całkiem ważnym, jest stabilność istniejących już systemów. Mając np. jakąś ważną (tzn. np. mającą podtrzymać czyjeś życie, albo czuwać nad sprzętem wartym miliony) aplikację, która działa bez szwanku, przejście na nowy, potencjalnie lepszy system, może spowodować więcej problemów niż zysków. logiczne
16 5-1 Ten błyszczący nowością produkt nie został przecież jeszcze przetestowany na równi z tym starym, który działa latami. Dlatego też w takich sytuacjach “”przesiadka na nowe“” nie jest czymś na co łatwo się zdecydować. logiczne
17 5-2 Jakiś czas temu czytałem, że w części pojazdów kosmicznych NASA nie wymienia się pewnych działających komputerów, gdyż dobrze działają i mają pewną “”zaletę“” nad nowymi. Otóż w przypadku przeniknięcia przez kadłub cząsteczek, które mogłyby “”zamieszać“” w operacjach, które wykonują są one bardziej odporne, jako, że ich podzespoły są większe. Nie wiem na ile jest to wiadomość wiarygodna, a na ile kolejna miejska legenda, ale brzmi sensownie. rzeczowe
18 5-3 Przyłączę się jednak również do zdania mówiącego, że należy się unowocześniać, bo nie wiemy co będzie konieczne w przyszłości. Tak jak często ludy, które nie musiały, z przyczyn ogólnego dobrobytu, rozwijać się padały łupem tych, na których rozwój był wymuszony, tak my możemy kiedyś zmierzyć się z problemem, że myślenie w stylu: “”jak działa, to po co zmieniać“” doprowadzi nas nad przepaść. emocjonalne
19 5-4 Dlatego też należy przeć do przodu, ale nie powinno się przesadzać w pogoni za unowocześnianiem wszystkiego. hipoteza
20 6-0 Widzę, że osoby wypowiadające się w tym wątku wymieniły już kilka kontrargumentach jak objętość dotychczasowego kodu, koszty, stracony czas czy stabilność. rzeczowe
21 6-1 Z wykładów kojarzę dwa projekty informatyczne, którym nie spieszy się do zmiany technologii. inne
22 6-2 Pierwszy to system do zarządzania lokalami socjalnymi we Francji napisany w Fortranie. Nie jestem pewny czy wzmianka o nim pojawiła się akurat na DASI czy na DTSI. W każdym razie poprawki do tego systemu są testowane co najmniej trzy miesiące przed wprowadzeniem ich w życie. Nie wydaje się być to zbyt efektywne. Mimo to sądzę, że ten system przetrwa aż do upadku obecnego rządu Francji. rzeczowe
23 6-3 Drugi przykład który kojarzę, to zintegrowany system obsługi lokali firmy SOL-System. Jako ciekawostkę dodam, że jednym z pracowników tej firmy jest kierownik laboratoriów wydziału matematyczno-informatycznego uczelni, której jeden z absolwentów sformułował twierdzenie, które wygrało drugą wojnę światową. System nie dojść, że napisany w Delphi (wcześniejsze wersje w Pascalu), to nie wykorzystuje systemu uprawnień po stronie bazy danych a aplikacja kliencka ma interfejs typowych dla programów biurowych systemu MS-DOS (przynajmniej jeśli chodzi o główne menu). rzeczowe
24 6-4 Jednakże system jest rozwijany już kilkanaście lat i wątpię, żeby kiedykolwiek doszło do zmiany języka (widzę ewentualną możliwość zmiany środowiska z Embarcadero/CodeGear Delphi na FPC/Lazarus). Ba, sądzę również, że ze względu na przyzwyczajenia obecnych klientów nawet interfejs aplikacji nie zostanie prędko zmieniony. logiczne
25 7-0 Na początek, zacznę od sprostowań dotyczacych systemu firmy SOL-SYSTEM 1. System w obecnej wersji budowany jest przy użycia środowiska Embracadrero Delphi (wciąż rozwijanego i stabilnego) 2. Poprzednie wersje nie były pisane w pascalu lecz w środwisku Clipper, przejscie z tego środowiska trwalo ok 4lat i było zaprojektowanie i zaimplementowaniem systemu od zera. 3. Srodowisko w którym tworzony jest system nie składa się tylko z języka programowania, ale również składa sie na nie serwer baz danych Firebird (ogólnie mówiąc struktury danych i procedury) oraz warstwa dostepu do danych IB-objects i komponenty wspomagające np do generowanie pdf, szyfrowania danych, administracyjnych modułów serwerowych, modułów integracyjnych z systemami zewnętrznym itd. 4. system jest dalej rozwijany w tym środowisku nie tylko ze względu na ilość kodu (na wykładzie był podane to tylko jako jeden z argumentów), ale po prostu nie ma powodu by to robić wszystko działa stabilnie, wydajnie, a pracy jest dość przy rozwoju funkcjonalnym obecnej wersji. rzeczowe
26 7-1 A teraz moje zdanie na temat wymiany srodowiska. inne
27 7-2 Należy sobie postawić pytanie: jaki miałby być cel zmiany środowiska? *jeżeli jest to środowisko stare, już dawno nie rozwijane, w którym występują błędy utrudniające prace programistyczną oraz wystepuja problemy z uruchamianiem aplikacji w nim wykonanych w nowych systemach operacyjnych - to oczywiście się zgodzę, że trzeba rozwarzyć możliwoć zmiany technologii *natomiast zmiana środowiska programistycznego tylko dlatego, że jest moda na inny język programowania, jeżeli środowisko jest cały czas rozwijane i suportowane, i nie występją w nim błędy oraz aplikacja spełnia wszystkie wymagania klientów oraz środowisk systemowych i bazodanowych, to jest to bez sensu. logiczne
28 7-3 Wymienie dodatkowych kilka inncyh powodów: * Zmiana technologi to nie tylko przepisanie kodu, to również często potrzeba zmiany modelu danych, motedy dostepu do nich, konieczność wymiany wielu współpracujących komponentów. Pociąga za sobą ogromne koszty, jest czasochłonna, wymusza koniecznośc zatrudniania specjalistów znających się na obu platformach przez długi okres, wsparcie dwóch różnych projektów przez długi czas. rzeczowe
29 7-4 Potrzebny jest długi czas na testowanie nowego rozwiązania. Często wymagana jest zmiana sprzętu. * W jaki sposób taka zmiana miała by poprawić komfort pracy użytkownika? Jeśli prowadziłby do zmiany interfejsu użytkownika to już z założenia utrudni ona życie uzytkownikowu przyzwyczajonemu do pracy z poprzednim systemami. A jesli mamy zachować dokładnie interfejs to użytkownik i tak nie zauważy zmiany ;) Oczywiście zakładamy, że system w obu środowiskach działa wydajnie i stabilnie. *Używając nowego środowiska natykamy się na nowe problemy, które nie występowały wcześniej w starym, a więc zmiana środowiska to nie tylko przepisanie kodu. *po co inwestować ogromne kwoty w zmiane srodowiska, klienci na pewno za to nie zapłacą! logiczne
30 7-5 Kilka pytań, które mnie zastanowiły po porzednich wypowiedziach : *Dlaczego środowisko Delphi jest gorsze od javy, c++, C#, VB, itd? Tylko dlatego, że ma składnie pascala? Czego nie umożliwia co umożiwają inne środowiska, a co może mieć wpływ na jakość produkowanej aplikacji? *W czym środowisko Lazarus miało by być lepsze od delphi? hipoteza
31 7-6 Na koniec, zgodzę się w 100% z ostatnim zadaniem autora poprzedniej wypowiedzi ;) inne
32 8-0 Na ile pamiętam Delphi (z zajęć jakieś 6 lat temu) to nie posiadało ono garbage collectora, chyba że coś się zmieniło od tego czasu? Konieczność ręcznego zarządzania pamięcią (i związane z tym błędy) jest moim zdaniem co najmniej tak samo uciążliwa jak niedostatki składni. inne
33 8-1 Nie twierdzę, że jest to argument, który uzasadniałyby przepisanie prawidłowo działającej aplikacji, która realizuje cele biznesowe klientów, ale gdybym miał pisać aplikację od zera to: brak garbage collectora, uciążliwa (przynajmniej dla mnie) składnia oraz mała w stosunku do Javy czy C# społeczność programistów wystarczałyby mi, aby odrzucić Delphi jako środowisko. emocjonalne
34 8-2 Niekiedy nie mamy już szansy przejścia na nową technologię - w USA dużo systemów było napisanych we fortranie i do dzisiaj programiści fortrana dzięki temu mają pracę a w kryzysie roku 2000 byli potrzebni do pracy nad tymi systemami. rzeczowe
35 8-3 Jeżeli chodzi o przestarzałe technologie wykorzystywane do dzisiaj, wspomnę tylko, że komputer wahadłowca kosmicznego ma tylko 1 MB RAM! Wszystko działa w UNIX-podobnym środowisku. Dlaczego nie jest to modernizowane? Otóż ta moc wystarcza do przeprowadzania bardzo skomplikowanych przecież obliczeń, a po drugie wdrożenie wymagało by bardzo bardzo wielu testów.. rzeczowe
36 8-4 Przykładem zastosowania starszego oprogramowania może być wersja Stable dystrybucji Debian, której kolejne wersje pojawiają się dosyć rzadko i z opóźnieniami. rzeczowe
37 8-5 Powodem tego jest nacisk deweloperów na poprawianie błędów krytycznych i latanie dziur bezpieczeństwa. Nie ma tam miejsca na najnowsze wersje programów. Właśnie dzięki temu dystrybucja ta jest stosowana na serwerach. rzeczowe
38 9-0 Wg mnie należy najpierw wyznaczyć wszelkie za i przeciw, przy zmianie oprogramowania(technologii) na nowsze. Czyli: - co nam daje obecna technologia - co zyskujemy, a co tracimy wprowadzając nową technologię - jakiego sprzętu/oprogramowania potrzebuje nowa technologia - czy będzie to opłacalne na dłuższą metę - czy będzie niezbędne - jakie korzyści z tego będziemy mieli my, a jakie nasi użytkownicy hipoteza
39 9-1 Na pewno ważnym czynnikiem będzie także czas potrzebny na przejście z jednej technologii na drugą, oraz budżet jakim dysponujemy. logiczne
40 9-2 Tytułem podsumowania: inne
41 9-3 Oczywiście trudno jest rozstrzygać jak to będzie. Ale wydaje mi się, że informatyka powoli wkracza na taki poziom rozwoju jak rozwiązania inżynieryjne sprzed powiedzmy 100 lat. We Francji jeździełem windami, które miały ze 100 lat prawie. Oczywiście były konserwowane, wymieniane były części i działały. inne
42 9-4 W Poznaniu mamy tramwaje sprzed kikudziesięciu lat i jeżdzą (i tak w sumie to jeżeli są ekonomiczne i tanie w utrzymaniu - nie wiem czy są - to niech sobie jeżdżą). Samoloty czasami mają po kilkadziesiąt lat i też im niczego nie potrzeba (oczywiście części sprzed kilkudziesięciu lat w nich pewnie za dużo nie ma). inne
43 9-5 Zatem niby dlaczego wszystkie systemy należy zastapić nowymi? Według mnie odpowiedź jest taka: zastępujemy tylko wtedy jeżeli ma to ekonomiczne uzasadnienie. Według mnie niektóre pisane współcześnie (tzn. przez ostatnie 10 lat) systemy w J2EE będą działały i 30-40 lat… hipoteza
44 10-0 Czasem łatwiej jest wprowadzić pewnego rodzaju nakładkę na istniejący już system ułatwiając tym samym pracę z nim. Np. Windows Forms jest to technologia praktycznie w całości bazująca na poczciwym już Win32. rzeczowe
45 10-1 Łatwość użytkowania + wprowadzona obiektowość (również ograniczenia wynikające z nieobiektowej biblioteki) przedłużyły żywotność Win32 na kolejne kilka lat. inne
46 11-0 Widze, że wszyscy raczej zgodnie są przeciwni zmianie technologii w starych systemach. Ogólnie wygląda na to że, nowsze jest wrogiem dobrego. Ale niekoniecznie zawsze. Na przykład w przypadku systemu via internet, z którego zdarza się, że korzystają jednocześnie miliony użytkowników, a są takie przecież, zmiana technologii na nowszą, tzn. dużo bardziej wydajną, no bo wydajność systemu przy tak dużej ilości użytkowników odgrywa w znacząca role, może być zbawienna w skutkach. hipoteza
47 11-1 Prosty scenariusz: Powstała aplikacja webowa w jakiejś prostej technologii, niech to będzie PHP - oklepane prawda? emocjonalne
48 11-2 Aplikacja zdobywa popularność, zyskuje użytkoników, liczba odwiedziń rośnie - strzelają korki od szampana. emocjonalne
49 11-3 Teraz załóżmy, że liczba odwiedziń osiąga krytyczny poziom. Szybkość działania aplikacji drastycznie spada, przez co rośnie niezadowolenie użytkowników. inne
50 11-4 Trzeba działać. Co robimy? Oczywiście inwestujemy spore kwoty w high-end hardware. Lecz zamiast tego można wziąć na warsztat asynchroniczny framework webowy z nieblokującym I/O (przy okazji, szkoda, że takich rzeczy nie ma w ramach programu kształcenia na naszej uczelni) i zacząć działać. inne
51 11-5 Uwaga teraz ekstremalny przykład: np Node.js - czyli właśnie taki framework do pisania aplikacji webowych. Uwaga, w czym? W javascripcie (oczywiście po stronie serwera). Wydajność systemu opartego właśnie na takiej technologii będzie tak zadowalająca, że o zakupie high-endu bedziemy mogli na długo zapomnieć. hipoteza
52 12-0 Przypomina mi to trochę sytuację na polu aplikacji internetowych, gdzie rynek czasami wręcz zniechęca developerów do używania najnowszych technologii. Jeżeli klient stawia wymagania, aby frontend strony był bardzo rozbudowany i estetyczny, a jednocześnie działał w najpopularniejszych przeglądarkach internetowych, to kulą u nogi staje się nieszczęsny IE6 sprzed niemal dziesięciu lat. inne
53 12-1 Nie wiem, czy HTML, CSS i JavaScript można nazwać nowoczesnymi, ale faktem jest, że w ostatnich latach nastąpił ich znaczny rozwój. Przy okazji producenci różnych przeglądarek zaczęli wprowadzać specyficzne dla siebie funkcjonalności. rzeczowe
54 12-2 Dodając do tego fallback dla “”dinozaurów“” nagle okazuje się, że musimy zaimplementować to samo kilka razy, dodając setki linii kodu JS i hacki na CSS. Jeżeli oprócz tego nasza strona ma działać nawet przy wyłączonym JS i wtyczkach typu Flash/Silverlight, oznacza to, że nie możemy polegać na nowoczesnych technologiach wogóle. emocjonalne
55 12-3 Być może trochę przejaskrawiam, zwłaszcza, że mamy dobre frameworki dla JS rozwiązujące za nas dużą część problemów z różnicą API i fallbackiem, jednak pewien niesmak pozostaje. Zwłaszcza, gdy ma się świetne rozwiązania na wyciągnięcie ręki (np. canvas + JS zamiast Flasha) i nie można z nich skorzystać, bo statystycznie ponad połowa ludzi i tak nie zobaczy efektu. logiczne
56 12-4 Oczywiście jestem jak najbardziej za używaniem nowych, dobrych technologii Ubolewam tylko nad faktem, że czasami przez problemy zaznaczone przeze mnie powyżej, idealistyczne podejście do projektu może zostać zabite przez deadline i budżet. emocjonalne
57 13-0 Zgadzam się z przedmówcą. Spójrzmy na problem ze strony otrzymanego zlecenia na system. Czemu mamy się martwić o to, co będzie X lat później i nad czym nie będziemy mieli nigdy pełnej kontroli. Niech zleceniodawca zapłaci nam za system, który jest “”w miarę“” aktualny na dzień dzisiejszy, nie koniecznie w najnowszej technologi, a w miarę upływu czasu, gdy on przestanie być aktualny.. emocjonalne
58 13-1 Niech zapłaci po raz kolejny. Nigdy nie będziemy mieli gwarancji, że technologia będzie najnowsza/aktualna. Piszmy w tym co jest dobre i aktualne, nie koniecznie najnowsze. hipoteza
59 13-2 Co do przykładu SOL-SYSTEM, to wydaje mi się, że co kilka lat (jeśli będzie na ten produkt jeszcze zainteresowanie) można go “”przepisać“”, ale to naprawdę w dramatycznych przypadkach. Po co zmieniać coś, co działa i jest wystarczająco użyteczne? hipoteza
60 14-0 Podobnie jak moi przedmówcy, uważam, że jeśli dane rozwiązanie spełnia swoją funkcjonalność, jest poparte długim okresem użytkowania świadczącym o stabilności i bezawaryjności danego systemu oraz nic nie wskazuje na potrzebę wprowadzania w przyszłości dość radykalnych zmian w systemie, to zmiana technologii raczej nie wydaje się być uzasadniona. logiczne
61 14-1 Jednym z ważnych czynników jak już jeden z kolegów wspomniał jest skalowalność systemu (sprostanie zwiększonej ilości użytkowników), zapewnienie stabilności działania i dostępności systemu - wówczas w przypadku nieprzewidzenia takiej sytuacji, lub napotkania na barierę ze strony aktualnie wykorzystywanej technologii, przesiadka na inną (być może wcale nie nowszą) technologię może okazać się nieuniknioną koniecznością. logiczne
62 14-2 Nigdy jednak nie jesteśmy w stanie do końca przewidzieć wszystkich czynników zewnętrznych, które kiedyś mogą sprawić, iż technologia, którą wybraliśmy może okazać się nieodpowiednia - dlatego uważam, że jeśli dostaniemy sygnały (nawet najmniejsze), mogące wskazywać na (być może) konieczność wprowadzenia w przyszłości drastycznych zmian w systemie wymagających zmiany technologii, to nie powinniśmy się tego bać i z wyprzedzeniem przygotować się (poczynić pewne kroki) do ewentualnej (gotowości do) zmiany technologii, by przebiegła ona możliwie ‘płynnie’ i bezboleśnie. hipoteza
63 15-0 Rozwój projektu, zmiana jego wersji musi iść w parzę z wymaganiami postawionymi przez klientów. Jednakże, nowe wersje oprogramowania powinny być wystawiane dla klienta nie jako wersja ‘Stable’ a np Release. To chyba rozwiązanie. Kto potrzebuje aktualizuje, kto nie czeka na opinie użytkowników odnośnie poprawnego działania. hipoteza
64 15-1 W kwestii kosztów przepisywania oprogramowania w celu dostosowania do nowszych technologii : jeśli firma, która ma stary i skomplikowany system będzie potrzebowała prostych zmian, a zmiany te będą zlecone innej firmie niż ta, która wdrożyła ten system , zmiany te mogą być z upływem czasu droższe lub może być problem ze znalezieniem firmy, która się tego zlecenia podejmie. inne
65 15-2 Takie sytuacje zdarzają się przy mniejszych projektach, gdzie klient nie chce unowocześniać swojego systemu przy okazji zmian, bo będzie za drogo. Oczywiście zgadzam się z tym, że jeżeli system działa mimo iż powstał nawet przy użyciu ekstremalnie starych technologii to należy go w takim stanie zostawić, szczególnie jeśli nie przewiduje się w nim zmian. inne
66 15-3 O korzyściach płynących ze stosowania cloud computing można usłyszeć na niemal każdej poświęconej mu prezentacji. O wysokim potencjale “”przetwarzania w chmurze“” świadczy nie tylko mocna pozycja weteranów tego rynku jak Amazon czy Rackspace, ale również pojawienie się nowych silnych graczy jak Microsoft i Google. Warto jednak zastanowić się również nad kilkoma kwestiami otwartymi związanymi z przetwarzaniem danych w chmurze. hipoteza
67 15-4 A. Jakie potencjalne problemy biznesowe mogą wyniknąć z utrzymywania aplikacji w chmurze? B. Jakie zagrożenia trzeba uwzględnić na poziomie architektury/projektowym przygotowując aplikację do umieszczenia w chmurze? C. Czy biorąc pod uwagę mnogość dostawców rozwiązań typu cloud computing oraz zróżnicowanie poszczególnych usług można (a jeżeli można, to czy warto) rozwijać aplikację działającą na wielu środowiskach typu cloud? D. Czy warto budować chmurę prywatną (private/internal cloud) w obrębie przedsiębiorstwa? E. Czy cloud computing ma szansę przebić się w instytucjach, które zwracają szczególną uwagę na ochronę danych (banki, instytucje finansowe itp.)? F. Jakiego rodzaju systemy powinny/nie powinny/mogą/nie mogą zostać przeniesione na chmurę w Polsce? Czy cloud computing może znaleźć zastosowanie w administracji publicznej np. w ZUSie ;) ? hipoteza
68 16-0 Pozwolę sobie na pierwszą wypowiedź w duchu krytyki cloud computingu. Widzę w tym podejściu zasadniczy problem - konieczność zarządzania czasem działania wynajmowanych maszyn wirtualnych (ze względu na koszty). Jest to kwestia, o której do tej pory firmy nie musiały myśleć. Przestawienie na nowy model może być dość oporne, co może doprowadzić do klęski cloud computingu. logiczne
69 16-1 Nie do końca rozumiem dlaczego konieczność zarządzania czasem działania maszyn jest aż tak wielką wadą tego rozwiązania ze mogła by doprowadzić do klęski. Z tego co wiem, to stawka jest, przynajmniej u niektórych dostawców, naliczana z dokładnością do 1 sekundy/minuty wykorzystanego czasu. Czas podłączania/odłączenia maszyny jest również dość krótki rzędu 10-60 minut. Stąd niebawem, jeśli jeszcze ich niema, pojawią się narzędzia do automatyzacji i optymalizacji ilości używanych maszyn w zależności od obciążenia obsługi. logiczne
70 16-2 Takie rozwiązanie mogło by pozwolić zoptymalizować wykorzystanie sprzętu, np: wcześniej przytoczony ZUS pracuje od poniedziałku do piątku i tylko powiedzmy od 8:00 do 15:00, ponieważ wiemy że w weekend nie będzie żadnego obciążenia systemu to możemy zmniejszyć ilość maszyn powiedzmy do 10% ilości niezbędnej do pracy w ciągu tygodnia. Pozwala to zaoszczędzić koszty, a jak coś pozwala zaoszczędzić to managment firmy już jest na to chetny :) emocjonalne
71 16-3 Stąd moje zdziwienie taka wadą, gdyż w moim rozumieniu jest to jedna z największych zalet cloud computingu - płacimy za sprzęt, który potrzebujemy w danym momencie, a nie za sprzęt, który musi podołać maksymalnemu obciążeniu które zdarza się co jakiś czas. hipoteza
72 16-4 Moim zadaniem większy problem może stanowić konieczność przestawienia się z myślenia o zasobach jako o konkretnym sprzęcie na myślenie o zasobach jako o usłudze. Wiele osób myśli, przecież jak będziemy im płacić po x $ miesięcznie to po 5 latach nazbieralibyśmy na własny sprzęt o wystarczającej mocy, a bylibyśmy przynajmniej niezależni. emocjonalne
73 16-5 Takie rozumowanie jest poprawne, przecież podobnie jest z wynajmem mieszkań, lepiej kupić własne mieszkanie niż przez całe życie je wynajmować. Jednak zakup mieszkania różni się od zakupu sprzętu komputerowego. Po pierwsze dom kupiony 10 czy 20 lat temu nadal spełnia wymagania znacznej większości współczesnych użytkowników. 20 letni komputer miał by zainstalowane Windows 3.0 (nawet nie 3.11 bo ten ma dopiero niecałe 19 lat). logiczne
74 16-6 Druga różnica polega na tym, że pojęcie 20 letni dom nikogo nie dziwi, co więcej takie domy sprzedaje się obecnie po cenie nieznacznie niższej od ceny nowowybudowanych. 20 letni komputer brzmi przynajmniej niezwykle, a 20 letni komputer zarządzający pewną niezawodną usługą wykorzystywana przez wielu użytkowników to naprawdę rzadkość (choć istnieją takie systemy, np system informacyjny na dworcu Poznań Główny), współczesne komputery o dużej mocy nie są przeznaczone do pracy przez 20 lat, lecz co najwyżej 2. inne
75 16-7 Dlatego w tym przypadku rozumowanie to nie uwzględnia dodatkowych kosztów i problemów. Jeśli chcemy kupić własną infrastrukturę to oprócz kosztu jej zakupu, utrzymania, trzeba również doliczyć koszt jej wymiany na nowa gdy ta już się zużyje. Wtedy jednak może się okazać ze lepiej będzie płacić już Im za usługę niż za własny sprzęt. logiczne
76 17-0 Przetwarzanie w chmurze wywołało spore zamieszanie w branży ogólnie określonej jako IT. Interesujące jest, a dodatkowo chyba jedno z najważniejszych, jak zostanie rozwiązana kwestia bezpieczeństwa. hipoteza
77 17-1 Jak podaje World Privacy Forum (organizacja non-profit zajmująca się m.in.problemem bezpieczeństwa danych w Internecie) nie jest do końca jasne, co się dzieje z danymi przechowywanymi w ramach tejże usługi, ani gdzie dokładnie przechowywane są dane. Na pewno osoby nieupoważnione mają łatwiejszy dostęp do danych przechowywanych w chmurze, przecież dane oprócz przechowywania muszą dodatkowo płynąć z i do chmury. W dużej mierze bezpieczeństwo opiera się o zaufanie do dostawcy usługi. rzeczowe
78 17-2 Żeby rozwiązać problemy na pewno trzeba zastosować odpowiednio mocne zabezpieczenia i to w wielu miejscach całej usługi. hipoteza
79 18-0 Bezpieczeństwo danych to jedno, gorzej jeśli w ogóle zostanie utracony do nich dostęp (szczególnie tyczy się to mniejszych providerów). Powiedzmy, że system nagle padnie i zewnętrzny usługodawca nie może (lub nie chce!) naprawić usterki - jesteśmy zdania na łaskę techników. Podobnie może się zdarzyć jeśli usługodawca nie będzie mógł dalej dla nas świadczyć usług. emocjonalne
80 18-1 Praca z chmurą ma to do siebie, że trzeba być podłączonym do internetu. Może to wydawać się śmieszne, ale w historii parę razy zdarzało się, że np. statek uszkodził kabel i co spowodowało albo gigantyczne zator ruchu lub odcięcie dostępu. Rozwiązaniem może być np. rozproszenie głównych węzłów, jednak nie jest ono zawsze możliwe choćby ze względu na różne systemy prawne. inne
81 18-2 W jednej z dyskusji w internecie poruszono też możliwość bankructwa providera w czasach kryzysu. Co prawda obecnie nic nie wskazuje na to aby np. Amazon miał ogłosić upadłość ;), ale patrząc na to jak Lehman Brothers nagle pożegnał się z rynkiem… inne
82 18-3 M.in. dlatego warto inwestować w prywatną chmurę, aby dane nie uciekały za daleko, a nadwyżce zasobów można też zarobić. hipoteza
83 19-0 Andrzej, tylko to o czym mówisz nie ma związku z samym cloud computingiem, a dostarczaniem przez kogoś usługi. Już w obecnych, powiedzmy klasycznych data canter, przy dzierżawie serwera albo wirtualki mamy do czynienia z takimi samymi zagrożeniami. To w kwestii dostawcy leży zapewnienie ciągłości usługi w tym np. redundantnych łącz. rzeczowe
84 19-1 Oczywiście część problemów tradycyjnie się pokrywa, jednak chyba źle rozłożyłem akcent w poprzedniej wypowiedzi ;) Poza aspektem technicznym jest też biznesowy. W klasycznym podejściu firmy mają względnie wąski zakres działalności. Główni potentaci świadczą szeroki wachlarz usług, więc istnieje realne zagrożenie, że część moich rozwiązań może być wykorzystywana w innych podmiotach usługodawcy bez mojej wiedzy. emocjonalne
85 19-2 Tam gdzie są wielkie korporacje jest duża sieć powiązań między firmami (m.in. poprzez kapitał), więc mojemu providerowi może bardziej zależeć na wspieraniu pośrednio własnych rozwiązań (które mogą pojawić się w późniejszym czasie) niż konkurencyjnych. inne
86 19-3 Cóż, nie jestem wielkim fanem korporacji, w szczególności tych które mają powód do grzebania w moich danych, jak np. Google ;) emocjonalne
87 20-0 Obecnie cloud computing stał się bardzo głośnym tematem. Czasami mam wrażenie, że za kilka lat stanie się czymś dla nas naturalnym. Już teraz zdecydowaliśmy się oddać swoje dane innym firmom (patrz: mail, kalendarz, filmy u “”wujka“” Google), pytanie czy oddawanie swoich “”obliczeń“” również możemy przekazać innym? hipoteza
88 20-1 Wydaje się, że wszystkie zalety chmur są też ich wadami. hipoteza
89 20-2 Owszem nic nie zapowiada upadku Amazona, ale nigdy nie wiemy, czy rząd USA nie zdecyduje się zmusić ich do oddania ich wszystkich danych w celu “”walki z terroryzmem i pedofilią“”. emocjonalne
90 20-3 Statki często przepływają nad kablami i wszystko działa, ale zdarzają się pojedyncze przypadki, gdy coś się psuje. Wystarczy przypomnieć sobie “”odcięcie“” ZEA i Arabii Saudyjskiej w zeszłym roku (przecięte zostały dwa z pięciu światłowodów łączących te kraje z siecią). rzeczowe
91 20-4 Do tego, pomimo pozornego rozproszenia. Internet należy (jest pod kontrolą) kilku dużych organizacji. Jak zapewnić ich niezależność i sprawiedliwość? Czy nie będą nas “”podsłuchiwać“”? hipoteza
92 20-5 Do tego rozwój sieci - infrastruktury nie nadąża za potrzebami. Coraz częściej zdarzają się przestoje spowodowane zapchaniem się łącz. Czy sieć jest wsatnie utrzymać dużo chmur? hipoteza
93 20-6 Jedyną naszą obroną jest anonimowość przez masowość. Giniemy w tłumie informacji i dopóki jesteśmy “”nieciekawi“” dla innych możemy czuć się bezpiecznie. Możemy też zadbać o własne zabezpieczenia danych (np. szyfrując je), ale potrzebujemy do tego własnej mocy obliczeniowej, czy to nie psuje idei cloud computingu? hipoteza
94 20-7 Nie twierdze, że CC jest złe, ale należy się solidnie zastanowić czy jest adekwatne do naszych potrzeb. logiczne
95 20-8 Idealnie pasuje tu komiks. Dzisiejszy (07 Stycznia) Dilbert: http://dilbert.com/strips/comic/2011-01-07/ inne
96 21-0 Zastanawia mnie, dlaczego wszyscy burzą się tak bardzo o bezpieczeństwo. emocjonalne
97 21-1 Czy każdy z nas będzie przechowywał w chmurze dane z hasłami albo inne bardzo ważne dane? Skoro tak, to wtedy niestety trzeba zapłacić więcej dla lepszej ochrony. logiczne
98 21-2 Dla mnie to jest wygodne, tak samo jak dostęp do dokumentów umieszczonych na google, zawsze i wszędzie ma się do nich dostęp (pod warunkiem dostępu do internetu). Nie trzeba wszystkiego zapisywać np. na pendrive, a potem martwić się czy przypadkiem się nie uszkodzi). inne
99 21-3 Co do zastosowania chmury w bankach i innych instytucji, które muszą mieć większe zabezpieczenia, to jaki w tym problem, jeżeli dostęp do takich danych miałyby tylko banki? hipoteza
100 21-4 Banki i tak muszą się komunikować w celu weryfikacji np. kredytobiorcy, więc banki z przyczyn oczywistych nie robiły ataków na konkurencje, bo wtedy skończyło się to źle dla wszystkich. inne
101 21-5 Z pewnością trzeba dość dobrze opracować szyfrowanie (jak to koledzy pisali wcześniej) i to chyba jest największym problem. hipoteza
102 21-6 Z pewnością za parę lat to już niewiele osób będzie cokolwiek instalować na komputerze tylko korzystać z tego co jest w necie. hipoteza
103 21-7 Podobnie było z kartą płatniczą. Ludzie myśleli jak to nie płacić gotówką, tylko jakąś plastikową kartą? A teraz w co 2 sklepie można płacić kartą (byłoby lepiej, gdyby były mniejsze prowizje banków :evil: ) inne
104 22-0 Musze się zgodzić z tą uwagą a nie zgodzić z Patrykiem. Uważam iż może powstać w firmie konflikt tego typu iż pracownicy będą naciskani do wykonania zadania w jak najszybszym czasie aby rachunki przychodzące za używanie clou computing były jak najmniejsze. Przez co powstaje niemiła atmosfera w pracy a efekty pracy mogą być gorsze. emocjonalne
105 22-1 Co do bezpieczeństwa to pewna organizacja europejska o nazwie ENISA zajmująca się bezpieczeństwem informacji zaproponowała cloud computing jako obecnie najlepszy wybór jako “”showstoopera“”. rzeczowe
106 23-0 W tej kwestii się zgadzamy. Oczywiście, wynajmowanie platformy w cloudzie może okazać się bardziej opłacalne, niż kupienie własnego sprzętu, ale musi być ktoś, kto to wyliczy i będzie zarządzał pracą w cloudzie (czytaj: będzie za to odpowiadał). logiczne
107 23-1 Na wykładzie zostało podane ciekawe porównanie: przestawienie się na cloud computing ma być tym, czym było przestawienie się z generowania prądu agregatami na zakup energii elektrycznej. Obawiam się jednak, że w przypadku cloud computingu, sytuacja jest inna. Dzisiejsze “”agregaty“”, czyli komputery są znacznie lepiej dostępne, niż agregaty prądotwórcze były kiedyś. logiczne
108 23-2 Dopiero pojawienie się dostarczycieli energii elektrycznej dało szansę mniejszym odbiorcom na pobieranie prądu. Moim zdaniem, to właśnie zadecydowało o sukcesie modelu sprzedawania prądu. Cloud computing nie ma takiej cechy. Czy mimo to da sobie radę? hipoteza
109 24-0 Nie nazwałbym tego “”naciskiem“”, a raczej dbałością o to, aby zadania uruchamiane na chmurze były dobrze zaprojektowane, skalowalne i odpowiednio przetestowane. Programiści i tak ulegają presji związanej z dotrzymywaniem harmonogramu, w obliczu której jakość dostarczanego kodu często schodzi (choć nie powinna) na drugie miejsce. inne
110 24-1 To, że zły design w chmurze przekłada się bezpośrednio na podwyższone koszty utrzymania aplikacji jest raczej zaletą niż wadą. Programistów zmusza to do skoncentrowania się na jakości rozwiązania, a pracodawcom pozwala łatwo ocenić co jest bardziej korzystne - płacić amazonowi/ibmowi/googlowi więcej za utrzymanie aplikacji, czy zatrudnić (lepszego/droższego) developera, który dobrze rozumie specyfikę chmury. logiczne
111 24-2 Odnośnie przechowywania danych (mam na myśli dane zastrzeżone osobowe) należy pamiętać, że jest to kwestia regulowana prawnie. Normy dotyczące przechowywania takich danych nie są spójne (w rozumieniu ogólnoświatowym). Wytyczne są dość rygorystyczne co do ich zabezpieczeń (także fizycznego zabezpieczenia nośnika), nie wiem czy dobrze pamiętam ale w naszym kraj obowiązuje konieczność przechowywania takich danych na terenie europy/kraju??. rzeczowe
112 24-3 Wydaje mi się, że jest to istotne ograniczenie wykorzystania CC. hipoteza
113 25-0 Pewne klasy problemów, związanych z bezpieczeństwem danych w chmurze stara się ominąć IBM. rzeczowe
114 25-1 Dzięki teorii krat i ideałów (ciężka algebra) udało się wypracować metody analizy i prowadzenia obliczeń na zaszyfrowanych danych. W ten sposób wyniki obliczeń mogę zostać odczytane przez klienta dopiero po odszyfrowaniu. rzeczowe
115 25-2 Źródło: http://websphere.sys-con.com/node/1015761 rzeczowe
116 26-0 Wydaje mi się, że jest jeszcze za wcześnie, aby polskie instytucje finansowe zaczęły korzystać z cloud computingu. W sferze takiej jak bankowość, gdzie przechowywane są ogromne ilości poufnych danych wskazana jest ostrożność. Mam na myśli tutaj dokładne sprawdzenie istniejących rozwiązań pod względem wydajności jaki i bezpieczeństwa. logiczne
117 26-1 Zapewne dużo będzie także zależeć od poczynań konkurencji, od tego jak sprawdziły się wprowadzone u nich rozwiązania. Na świeci banki stopniowo zaczynają korzystać z tego typu rozwiązań np. w Australii. Jak przy wprowadzeniu każdej nowej technologii musi upłynąć trochę czasu zanim ludzie się do niej przekonają. logiczne
118 26-2 Odnośnie administracji publicznej to takie rozwiązanie na pewno pozwoliłoby ograniczyć koszty a zarazem umożliwiłoby przeznaczyć te pieniądze na inne cele budżetowe. Znając polskie realia obawiam się jednak, że wprowadzenie mogłoby przysporzyć dużo niepotrzebnych kosztów i problemów dla nas, zwykłych obywateli. hipoteza
119 27-0 Czytając każdą z odpowiedzi widzę że każde myśli o kupowaniu chmury w jakimś DataCenter. Istnieje przecież jeszcze inne rozwiązanie. Taką chmurę można zbudować na sprzęcie zakupionym, gdzieś w lokalnym ‘garażu’. Owe Banki posiadające masę sprzętu, dzięki wykorzystaniu Chmury, mogłyby zachować aktualne bezpieczeństwo danych, równocześnie zwiększając wydajność sprzętu. W tym wypadku dostępność usługi jest raczej problem dalszym bo zbudowanie redundantnej sieci LAN jest ‘prostsze’ niż MAN czy WAN. inne
120 27-1 Podsumowując Cloud'y, instytucje które chcą lepiej wykorzystywać zasoby mogą budować własne chmury w oparciu o już dostępne urządzenia, bez konieczności utraty bezpieczeństwa (do tej chmury tylko oni mają dostęp). hipoteza
121 28-0 Pozostają jeszcze kwestie prawne, które są najmniej zrozumiałe obszarach cloud computingu. Na przykład, odpowiedzialności za własności intelektualne. Są dwa przykłady zagadnień prawnych, które często są przedmiotem dyskusji. Inne kwestie związane z umowami to koniec wsparcia eksploatacji - w przypadku gdy stosunki dostawca-nabywca, dane klientów i wnioski powinny być dostarczane do klienta, a wszelkie pozostałe kopie danych klienta powinny być usuwane przez operatora infrastruktury, itd. rzeczowe
122 28-1 Uważam, że cloud computing ma przed sobą przyszłość. hipoteza
123 28-2 Umieszczanie usług w publicznej chmurze jest dobre dla małych, nowopowstałych firm. Nie muszą się one martwić np. o opóźnienia powstałe w trakcie zamówienia i instalacji własnej infrastruktury, dzięki czemu nasza usługa może wystartować szybciej. My studenci, jako potencjalni przedsiębiorcy i twórcy przełomowych usług internetowych, zdajemy sobie sprawę z tego, że popularność takich produktów może rosnąć lawinowo, a raczej nikt z nas nie startuje z budżetem pozwalającym na własne Data Center. emocjonalne
124 28-3 Całkowicie się z tym zgadzam. Prywatny cloud utworzony wewnątrz firmy pozwala na skalowanie działających w nim aplikacji oraz na wyłączanie części clouda (ponieważ usługi nie są bezpośrednio powiązane z konkretną maszyną), gdy nie jest potrzebny cały, w celu obniżenia kosztów. Dodatkowo jeżeli nasze usługi działają na maszynach wirtualnych, bardzo upraszcza to sprawę wymiany sprzętu. Przy takim podejściu mamy zalety zarówno własnej serwerowni, jak i chmury. logiczne
125 29-0 Ja również się zgadzam. Chciałbym też zaznaczyć, że chmura prywatna prawdopodobnie sprawdzi się w niewielu sytuacjach. Jest dobra dla naprawdę dużych firm, które stać na postawienie odpowiedniej serwerowni u siebie. Albo ewentualnie firmy (być może także banki), które nie mogą całości danych czy aplikacji wynieść z serwerowni a chciałby korzystać z tej skalowalności, którą daje chmura. hipoteza
126 30-0 Główny problem biznesowy - brak dostępu do usługi/awarie. Rynek cloud computingu udownodnił, że potrafi wielokrotnie zawieść: http://www.reuters.com/article/idUSTRE6BB1TH20101213 http://webhosting.pl/Ciagle.awarie.Amazon.S3..Czy.uzytkownicy.sie.zbuntuja rzeczowe
127 30-1 Bardzo dobrze opisuje to artykuł: http://webhosting.pl/SaaS.entuzjazm.maleje.firmy.odwracaja.sie.od.aplikacji.w.chmurze rzeczowe
128 30-2 Firmy wycofują sie z cloud computingu, niedojrzały do tego typu inwestycji. Objawiły się nowe problemy z “”synchronizowaniem danych w chmurach i przenoszeniem danych między aplikacjami“” (cytat z podanej wcześniej strony). Początkowa fascynacja i popularność tego typu usług przechodzi w raczej w stan “”ochłodzenia“”. W dużej mierze winę ponoszą lobbiści tego typu rozwiązania, którzy forsowali w mediach/magazynach cloud computing jako świetne rozwiązanie dla biznesu. rzeczowe
129 30-3 Najbardziej w cloud computingu obawiałbym się bezpieczeństwa. Z racji tego, że cloud computing stawia na masowe ilości danych, wyciek jakichkolwiek danych/dziury byłby o skalę większy niż dostęp do pojedynczego serwera dedykowanego. logiczne
130 30-4 Jeśli chodzi o rozwijanie applikacji u wielu dostawców coud computing, jest to w chwili obecnej niemożliwe, albo bardzo trudne. Google korzysta z BigTables, Amazon ma własne S3 - takich przypadków możnaby mnożyć w nieskonczoność. Różnie w specyfikacji oraz sdk są nie do zunifikowania w najbliższym czasie. rzeczowe
131 30-5 Oczywiście istnieje amatorskie narzędzie do przeniesienia aplikacji z Google App Engine do Amazona EC2 o nazwie AppDrop (http://waxy.org/2008/04/exclusive_google_app_engine_ported_to_amazons_ec2/), ale niestety nie stanowi to w żadnym wypadku komfortowego rozwiązania na tego typu problemy. rzeczowe
132 30-6 Prowadzona na tym forum dyskusja pokazała, że w zakresie cloud computingu jest jeszcze wiele do zrobienia. Podniesione przez dyskutantów problemy takie, jak poziom bezpieczeństwa, jakość usług (bezawaryjność) czy kwestie prawne stanowią realne wyzwania dla dostawców chmur i pewnie w niedługim czasie doczekają się one bardziej wyszukanych “”chmurowych“” rozwiązań. hipoteza
133 30-7 Cloud computing ma duży potencjał, ale ma też swoje wady. Przetwarzanie w chmurze nie jest “”srebrną kulą“” informatyki. Nie powinno być to zaskoczeniem dla tych z Państwa, którzy doceniają zdobycze inżynierii oprogramowania, bowiem już jej klasyk (F. Brooks) stwierdził, że srebrnych kul nie ma. hipoteza
134 30-8 Dziękuję wszystkim za owocną dyskusję w tym wątku. inne
135 31-0 Wydaje się, że serwisy społecznościowe zaczynają wielu użytkownikom zastępować system operacyjny i dostępne na nim aplikacje i oferowane przez nie usługi. Ludzie logując się rano na facebooka spędzają na nim cały dzień, w tym czasie uzyskują dostęp dla istotnych dla nich informacji, pozostają w kontakcie z bliskimi, relaksują się (np. grają w dostępne gry) i w końcu informują innych o swoich aktywnościach. hipoteza
136 31-1 Czy ten model funkcjonowania serwisu społecznościowego sprawi, że “tradycyjny” system operacyjny niedługo w ogóle nie będzie dla użytkownika widoczny, tak jak kiedyś system dos przestał być widoczny dla użytkowników Windowsa 3.0? hipoteza
137 32-0 W pewnym sensie wydaje się, że jest to możliwe, ale rozumiem, że poza serwisami społecznościowymi mówimy tutaj również o udostępnianiu pewnego oprogramowania on-line, jak np. pakiet Office. W tym sensie wydaje się możliwe, że system operacyjny jako taki przestanie istnieć lub odgrywać istotną rolę. logiczne
138 32-1 Wystarczyły by wtedy terminale dające tylko przeglądarkę i dostęp do Internetu. I szczerze dla osób które tylko potrzebują dostęp do pakietów biurowych i Internetu było by to genialne rozwiązanie, praktycznie nic nie zepsują, o nic nie będą się pytać. logiczne
139 32-2 Inna sprawa, że dla osób mniej zaznajomionych z obsługą komputera coś takiego jak system operacyjny nigdy nie istniało, była tylko ikonka worda i przeglądarki internetowej zwana przez niektórych internetem. W tym sensie system operacyjny już jest niewidoczny dla użytkownika. inne
140 32-3 Z drugiej strony jednak osoby bardziej doświadczone nie pozwolą na takie rozwiąznie, bo straciły by całkowitą kontrolę nad własną maszyną. logiczne
141 32-4 Mam jeszcze tylko wątpliwości co do tego stwierdzenia. Wydaje mi się, że serwisy społecznościowe zastępują użytkownikom lokalne aplikacje. Systemu operacyjnego potrzebują tak jak zawsze, korzystając z urządzeń, karty sieciowej, klawiatury, zapisując pliki na dysku, itd. hipoteza
142 33-0 Zgadzam się z tą wypowiedzią. Moim zdaniem to właśnie przeglądarka internetowa (a właściwie to dostęp do Internetu) może zastąpić system operacyjny. Nie sądzę za to by facebook sam w sobie przejął funkcję systemu operacyjnego. Mimo dużej popularności tego serwisu większość osób nie korzysta tylko i wyłącznie z niego. logiczne
143 33-1 Google nadal utrzymuje się na drugiej pozycji najczęściej odwiedzanych stron. A może za chwilę facebook przestanie być potrzebny? Rozwój technologi może jeszcze wiele zmienić. (Więcej na temat złych prognoz dla facebooka: http://wnet.bblog.pl/wpis,co;zastapi;facebooka;i;dlaczego;twoja;lodowka;polubi;polsat,47672.html :wink: ) rzeczowe
144 34-0 Facebook bardzo dynamicznie się rozwija, dostarcza coraz więcej możliwości - to fakt. Być może jednak w niedługim czasie zastąpi tradycyjny system operacyjny - ale jedynie przeciętnemu użytkownikowi (co w sumie oznacza większość rynku :)). hipoteza
145 34-1 Swoją drogą facebook odniósł, przynajmniej tak wynika z pewnych statystyk, które niedawno widziałam, sukces w pewnych dziedzinach, który mnie dziwi. Mianowicie, jako źródło wiadomości z różnych stron. Jak dla mnie RSS dużo lepiej się sprawdza w tej roli! Ale widocznie facebook ma lepszy PR ;). emocjonalne
146 34-2 Jeszcze jedno, to czy facebook zastąpi ‘zwykłego’ maila? Słyszałam o planach uruchomienia maila w domenie facebook.com. Google już drży o swojego Gmaila, tym bardziej, że ponoć frima Zuckerberga współpracuje z Microsoftem nad połączenia tegoż maila z pakietem biurowym MS Docs.com, który jak wiadomo konkuruje z Google Docs. rzeczowe
147 34-3 Dlatego właśnie powstaje (powstało?) Chrome OS od Googla :). Zgadzam się jak najbardziej z Mateuszem, ale wydaje mi się, że jeszcze na to za wcześnie, a Google ze swoim systemem wyprzedziło swoje czasy. hipoteza
148 35-0 Postępujące sprzęganie wielu procesów z Facebookiem zwiększa szanse, że odpowiedź na zadane pytanie będzie brzmiało “Tak”. Pisząc procesy mam tu na myśli zatrudnianie pracowników (bywa, że jedyną możliwością złożenia aplikacji o pracę to zgłoszenie via Facebook), organizacja zbiórek pieniężnych ( sponsor przydziela tym większą kwotę, im więcej wirtualnych znajomych zdobędzie fundacja na Facebook-u ) czy też reklamowanie firm. logiczne
149 35-1 Odnosząc się do \rzeczywiście Internet oferuje co raz więcej funkcjonalności, które zastępują ich wersje desktopowe. Na dzień dzisiejszy nie potrzebujemy już klientów e-mail, konwersji formatów dokumentów dokonujemy on-line, powstają projekty które w przyszłości mogą zastąpić nawet oprogramowanie do obróbki grafiki typu Photoshop ( przykład tutaj : http://www.pixlr.com/editor/ ). rzeczowe
150 35-2 Gdyby pytanie dotyczyło Google, to odpowiedź byłaby jasna, ponieważ Google stworzył już prototyp komputera ( Cr-48 ), którego, nieprecyzyjnie mówiąc, systemem jest przeglądarka. Nie posiada on dysku twardwego, operacje wykonywane są w przegladarce a gromadzenie danych oparte jest o Cloud Computing. logiczne
151 35-3 Źródło : http://www.youtube.com/watch?v=zL2tuhjRFyw. rzeczowe
152 35-4 Jeśli technologia będzie dalej dążyć w tym kierunku - mam na myśli rozpowszechnienie Cloud Computingu i zastąpienia aplikacji desktopowych - internetowymi, należy zadać sobie pytania: 1) Czy nasze dane będą bezpieczne ? 2) Co się stanie gdy nie będziemy mieli dostępu do internetu? hipoteza
153 36-0 Nie prototyp a działające maszyny. Pierwsza seria została rozesłana losowym testerom w USA. rzeczowe
154 36-1 ChromeOS - system operacyjny google netbookach prawdopodobnie będzie hitem tego roku. A stąd już o krok od zadomowienia się w systemu - przeglądarki w komputerach osobistych i laptopach. rzeczowe
155 36-2 2) Co się stanie gdy nie będziemy mieli dostępu do internetu?Zwykli użytkowicy komputerów, gdy nie mają dostępu do internetu i facebooka zaczynają oglądać filmy w telewizji bądź czytać książki. Brak internetu w naszych czasach jest dla użytkowników komputerów prawie jednoznaczny z brakiem prądu. emocjonalne
156 37-0 Zwróć uwagę, że Facebook daje łatwą oraz szybką możliwość dyskusji i dzielenia się ze znajomymi jakimś newsem lub wydarzeniem. Mało tego, w RSSie nie zaznaczę, że wybieram się na koncert mojego ulubionego zespołu ;). inne
157 37-1 Jeśli technologia będzie dalej dążyć w tym kierunku - mam na myśli rozpowszechnienie Cloud Computingu i zastąpienia aplikacji desktopowych - internetowymi, należy zadać sobie pytania: 1) Czy nasze dane będą bezpieczne ?Jeżeli dostęp do całej mojej poczty i plików ma polegać tylko na jednym haśle, to odpowiedź nasuwa się sama :) hipoteza
158 37-2 Prztyczkiem w nos Facebooka może być startująca powoli Diaspora, jednak czy zamieni się to w nokautujący cios? Raczej nie zależy to od tego czy internauci kupią idee, które za nią stoją. Być może wytworzy się zjawisko mody na Diasporę, ale w tym momencie jest to wróżenie z fusów. emocjonalne
159 38-0 Wydaje mi się, że jak to Zuckerberg określił facebooka, jako “”social operating system“” tym zostanie i raczej tego nic nie zmieni. Tak jak inni pisali, przeglądarka to nie wszystko i są jeszcze ludzie, którzy używaja innych funkcji systemów operacyjnych. hipoteza
160 38-1 Natomiast chciałam kontynuować coś, co napisał Kamil. Jeżeli idąc tym tokiem myślenia, że jeśli nie ma internetu ludzie sięgaja do filmów i telewizji, to co jeśli facebook zaatakuje i ta strefę życia/rozrywki? Czytałam właśnie artykuł o tym, że przyszłością telewizji ma być właśnie facebook! http://www.businessinsider.com/facebook-tv-2011-1 inne
161 38-3 Jeśli dobrze zrozumiałam ten artykuł, jeżeli podłączymy telewizję do internetu, to będziemy mogli mieć zawartośc internetu w telewizorze oraz mieć opcje zwykłego telewizora. Czyli nie ma to jak dwa w jednym. Pomysł wziął się chyba z tego, że google i apple też mają zamiar ruszyć z własną “”telewizją“”. hipoteza
162 38-4 Ale co by nie było, możliwość przeglądania swoich friendsów na telewizorze w tym samym czasie oglądając swój ulubiony program telewizyjny brzmi interesująco. Facebook jest juz zintegrowany z Xbox live, więc czemu by nie pójśc o krok dalej? emocjonalne
163 38-5 Podsumowując, wydaje mi się, że obawa o to, że Facebook mógłby się stać systemem operacyjnym nie jest najgorszym, co może nas spotkać w niedalekiej przyszłości. hipoteza
164 39-0 W moim “”zagajeniu“” chodziło mi o to, że facebook to coś zupełnie innego niż przeglądarka (i również system operacyjny). System operacyjny to środowisko, w którym można uruchamiać różne aplikacje w celu uzyskania dostępu do pewnych usług. Z tej perspektywy przeglądarka to na pewnym poziomie abstrakcji to samo - dzięki niej mogę uzyskać dostęp do określonych aplikacji/usług. Facebook to coś więcej. Na pierwszym miejscu jest sprofilowana usługa (kontakt ze znajomymi, rozrywka, informacja, itp.) bez konieczności zastanawiania się jaką to też aplikację muszę zainstalować aby uzyskać dostęp do określonej usługi. rzeczowe
165 39-1 Czy na pewno tak jest? Czy będzie tak, że przy starcie komputera (albo terminala - bo po co komputer?) od razu uruchomi się facebook jako nakładka? Czy użytkownik (nie programista) musi wiedzieć jak to wszystko działa tzn. czym ten facebook jest “”napędzany“” (tak samo jak i my nie wiemy w większości jak działa oprogramowanie sterujące silnikiem/absem/esp w samochodzie)? hipoteza
166 40-0 Moim zdaniem facebook ma szansę zastąpić system operacyjny, bo tak jak napisał pan dr Marciniak, wszystkie niezbędne aplikacje są pod ręką i nie musimy się zastanawiać jaki program należy uruchomić jeżeli np. chcemy odtworzyć film. hipoteza
167 40-1 Sama mam wielu znajomych dla których podjęcie decyzji jaka aplikacja jest odpowiednia do otworzenia danego pliku graficznego jest nie lada wyzwaniem. A nie daj boże jeżeli np. podczas uruchamiania filmu pojawi się informacja o brakującym kodeku – wtedy lepiej zrezygnować z filmu:) inne
168 40-2 Z drugiej strony uważam, że teraz jest po prostu moda na Facebook i dlatego ludzie tak oszaleli na jego punkcie. Zauważcie, że tak samo było z Naszą Klasą… wystarczyło, że zaczęli wprowadzać za dużo nowinek i ludzie zniechęcili się do tego portalu – przynajmniej takie jest moje odczucie. emocjonalne
169 41-0 Moim zdaniem póki co facebook przypomina bardziej portal społecznościowy niż pewnego rodzaju abstrakcje systemu operacyjnego. Na razie ma mało wspólnego z abstarakcja wspomniana przez dr Marciniaka i prędzej zsiwieje niż to się zmieni. Wydaje mi się, że głównie użytkownikami są osoby które logują się an Facebooka w celu skomentowanie zdjęć znajomego, czatowania i dodawania “”sweetasnych foci“” i nie sadzę aby takie osoby potrzebowały facebooka na kształt systemu operacyjnego. emocjonalne
170 42-0 Facebook to oczywiście portal społecznościowy i pewnie zawsze (?) nim będzie. W moich wypowiedziach chodziło nie o to, że facebook przyjmie postać znanych obecnie systemów operacyjnych, ale że przejmie (dla użytkownika) rolę systemu operacyjnego (tzn. że użytkownikowi takiemu windows do niczego nie będzie potrzebne bo wszystko co mu będzie potrzebne do działania będzie miał w facebooku). Czyli systemy operacyjne jakie znamy znikną. No właśnie, znikną? hipoteza
171 43-0 Zgodzę się z twierdzeniem, że portale społecznościowe (czy ogólne przeglądarka internetowa) mogą przejąć niektóre funkcje systemu operacyjnego i programów użytkowych. Przede wszystkim kontakt ze znajomymi może być z powodzeniem realizowany przez portale społecznościowe. Znam kilka osób, które odłożyły standardowe komunikatory na rzecz rozwiązań proponowanych przez portale społecznościowe. inne
172 43-1 Równie dobrze portale internetowe mogą służyć do publikowania zdjęć, nawet całych galerii. Sądzę, że niektórym może to nawet zastąpić tradycyjny album. Ostatnio namnożyło się serwisów oferujących telewizję internetową czy internetowych wypożyczalni filmów. Dalej, istnieją aplikacje internetowe pozwalające na zarządzanie i edycję dokumentów. inne
173 43-2 Chyba wszyscy tutaj słyszeli o Google Docs. Równie a nawet bardziej rozwinięty jest przemysł gier “”przeglądarkowych“”. Sam od czasu do czasu pogrywam w Burnin Rubber 3 czy Burnin Rubber 4 . Istnieją nawet wyspecjalizowane aplikacje webowe do edycji grafiki, animacji czy nawet muzyki (sic!) - chociażby AjaxAnimator czy Aviary Tools . inne
174 43-3 Poza tym powstało wiele innych ciekawy rozwiązań oferujących webowy interfejs. Od programów do fakturowania na zarządzaniu systemem operacyjnym kończąc (Webmin, Usermin, Virtualmin, ISPConfig). Nikogo już dziś nie dziwi możliwość zarządzania routerem, serwerem wydruku, serwerem plików czy zasilaniem awaryjnym przez przeglądarkę internetową. Stało się to wręcz czymś naturalnym. emocjonalne
175 43-4 Mimo to uważam, że portale społecznościowe ani nawet przeglądarka internetowa nie są w stanie zastąpić systemu operacyjnego. Producenci oprogramowania już się o to zatroszczyli. hipoteza
176 43-6 Kilkanaście lat temu na cyfrowy aparat fotograficzny mogli sobie w Polsce pozwolić nieliczni. Dzisiaj ten wynalazek nikogo nie dziwi. Jest on w zasadzie wypierany przez coraz lepsze aparaty w telefonach komórkowych . Podobnie z kamerami cyfrowymi. Obróbka filmów z wakacji na komputerze, przygotowanie filmu na DVD i oglądanie na później na telewizorze nie jest już niczym niezwykłym. inne
177 43-7 Do tego jednak potrzebne jest odpowiednie oprogramowanie. A tego na razie nie zapewni nam Facebook czy żadna inna aplikacja internetowa. rzeczowe
178 43-8 Od lat do komputerów Mac dołączane jest oprogramowanie iLife. W skład pakietu wchodzi program do zarządzania i prostej obróbki zdjęć (iPhoto), tworzenia cyfrowych filmów video (iMovie, iMovie HD), authoringu DVD (iDVD), tworzenia muzyki (GarageBand), tworzenia prostych stron internetowych (iWeb). Dodatkowo już w samym systemie dostępne jest oprogramowanie do zarządzania muzyką zintegrowane ze sklepem internetowym (iTunes), klient poczty (Mail), kalendarz (iCal) i książka adresowa (Address Book). rzeczowe
179 43-9 Całość jest ze sobą mocno zintegrowana jak również z zewnętrznymi usługami internetowymi. Na przykład iPhoto poza możliwością tworzenia albumów ze zdjęciami, kart okolicznościowych i kalendarzy, pozwala wygenerować galerię zdjęć w postaci strony www i umieścić ją w Internecie, tworzyć fotokasty, czy też zamówić przez Internet odbitki zaznaczonych zdjęć. Zadania, wydarzenia, kontakty oraz inne dane możemy łatwo zsynchronizować z urządzeniami przenośnymi za pomocą iSync. rzeczowe
180 43-10 Do niedawna w Windows musieliśmy szukać oprogramowania wśród produktów firm trzecich. Czasami było one dołączane do zakupionego sprzętu w szczególności laptopów czy kamer cyfrowych, jednak nie oferowało takiej integracji jakiej możemy doświadczyć w przypadku oprogramowania Apple. inne
181 43-11 Microsoft obudzi się jednak nieco przy premierze Visty wprowadzając Windows Calendar, Windows Contacts, Windows Mail, Windows Photo Gallery, Windows Movie Maker (w tym przypadku akurat ulepszając istniejący program) czy Windows DVD Maker. rzeczowe
182 43-12 O ile zgodzę się, że blogi czy portale społecznościowe są w stanie zastąpić oprogramowanie takie jak iWeb to jednak do innych tradycyjnych programów nadal portalom społecznościowym daleko. Uwierzę jeszcze w przeniesienie niektórych programów częściowo do chmury czy wzbogaceniu obecnych rozwiązań o publikację materiałów w serwisach społecznościowym, ale nie widzę możliwości zastąpienia wszystkich aplikacji przez przeglądarkę internetową a już na pewno nie przez portale społecznościowe. inne
183 44-0 Wciąż obstaję przy opcji, że facebook ma szansę odgrywać dla zwykłego użytkownika (nieinfromatyka) rolę systemu operacyjnego. Bo zastanówmy się z czego taki zwykły użytkownik najczęściej korzysta? hipoteza
184 44-1 Do szczęścia potrzebne mu są: Aplikacje: - do tworzenia dokumentów tekstowych, arkuszy kalkulacyjnych, prezentacji, do przeglądania, edytowania zdjęć, - słuchania muzyki, - oglądania filmów, - do komunikacji ze znajomymi. Funkcje: - możliwość sprawdzenia poczty, - śledzenie aukcji, - możliwość personalizacji swojego profilu (zmiana tapety, kompozycji, ikonek, itp.), - no i oczywiście możliwość pogrania w gry. rzeczowe
185 44-2 Jak widać wszystkie te funkcje są realizowane przez facebook, a jeżeli nie to pewnie pojawią się w przyszłości. Co więcej wszystko znajduje się w jednym miejscu, nie musimy szukać po folderach odpowiednich aplikacji. logiczne
186 44-3 Ale z drugiej strony, są jeszcze również użytkownicy bardziej zaawansowani, którzy wymagają znacznie więcej. Dlatego możemy być spokojni, bo facebook na pewno nie zastąpi SO, jedynie dla mało wymagającego użytkownika może pełnić taką rolę. logiczne
187 45-0 SilveOS jest tego dobrym przykładem: http://silveos.com/ Polecam wypróbować ten “”system operacyjny“” (Logujemy się bez hasła) rzeczowe
188 46-0 Po części zgadzam się z Justyną Z. W moim przekonaniu nie ma najmniejszej szansy aby jakiś serwis społecznościowy zastąpił choćby promilowi użytkowników internetu system operacyjny. Na pewno znajdą się szaleńcy którzy przesiedzą na tym portalu mnóstwo czasu ale zapewne wynika to z jednej podstawowej funkcjonalności FB “”łatwy kontakt ze znajomymi“”, najprawdopodobniej są to ci sami ludzi którzy siedzieli tak na NK, czy też jeżeli chodzi o polaków to np. na gg i spędzali na tym tyle samo czasu. emocjonalne
189 46-1 Jeżeli chodzi o kwestie tego, że niektórym posiadaczą komputera wystarczył by terminal z przeglądarką i dostępem do internetu to faktycznie coś w tym jest. Pakiet biurowy, mail, komunikator, jakieś forum i strona z newsami to często wielu osobom wystarcza. logiczne
190 46-2 Ale jest ogromna ilość osób posiadająca większą świadomość oraz większe potrzeby (tzw. bardziej wtajemniczeni ;) ), którzy potrzebują więcej. Jakże wielka grupa ludzi którzy wykorzystają komputer w celach rozrywkowych tj. gracze (mam na myśli takie prawdziwe gry nie takie przeglądarkowe) tutaj bez porządnego sprzętu się nie obejdzie. emocjonalne
191 46-3 W teori można było by to zrealizować ale w praktyce nie wyobrażam sobie tego. Oglądanie filmów w jakości full hd (który jest standardem na dzień dzisiejszy) też było by ciężkie do zrealizowania (łącza internetowe tutaj by za mocno nas ograniczyły, nie każdy posiada >1Mb/s). logiczne
192 46-4 No i pozostaje jeszcze cała masa ludzi która korzysta z bardziej zaawansowanych programów, które nie zanosi się aby były dostępne przez przeglądarkę. inne
193 46-5 Podsumumowując FB nie zastapi SO. Sam system na pewno się zmieni w kilku najbliższych lat (np. http://windows8beta.com/2010/03/windows-8-will-be-a-cloud-based-os) ale to temat na inną dyskusję. hipoteza
194 47-0 Widzę, że zdania co do zastąpienia systemu operacyjnego Facebook'iem są dość podzielone. Ja także nie jestem do końca przekonany, czy taki obrót spraw będzie możliwy. Chociaż warto się zastanowić dla kogo taki FacebookOS byłby skierowany i jak miałby wyglądać. hipoteza
195 47-1 Wydaje mi się, że dzisiaj większość przeciętnych użytkowników komputera, to osoby, które nie pracują na nim w żaden sposób, a po prostu szukają rozrywki w internecie. Robią to także dość długo, sam znam kilka takich osób w pewien sposób już “”uzależnionych od internetu“”, które po prostu czują, że dzień bez surfowania w internecie jest dniem straconym. hipoteza
196 47-2 Nie należy długo szukać jeśli chodzi o miejsce gdzie warto surfować. Facebook jest do tego idealny - nie dość, że możemy “”spotkać się“” ze swoimi znajomymi, to jesteśmy przez niego informowani co ostatnio zdażyło się na świecie jeśli chodzi o sprawy trafiające w nasze upodobania. inne
197 47-3 W zasięgu ręki mamy przeglądarkowe gry, gdybyśmy chcieli poćwiczyć refleks lub umysł, nowe utwory muzyczne ulubionych wokalistów, gdy chcemy poobcować z muzyką itd. Można wymieniać prawie w nieskończoność. Internet jest gigantycznym źródłem informacji i faktycznie dzisiaj nie wyobrażamy sobie nie posiadać do niego dostępu gdy włączamy komputer, a Facebook jest miejscem ułatwiającym bez wątpienia dostęp do tego co nas interesuje. inne
198 47-4 Użytkowników naszego FacebookOS'a na pewno by nie zabrakło, gdyż ludzi użytkujących komputera tylko (a może i aż) w taki sposób są miliony. Co ze stroną techniczną? hipoteza
199 47-5 Na mniej więcej takich samych, wyżej wymienionych założeniach ma opierać się ChromeOS już wcześniej wspomniany w dyskusji. Oparcie głównie o aplikacje webowe i ogólnie zasoby internetowe w dzisiejszych czasach wydaje się dobrym pomysłem. logiczne
200 47-6 Zatem może faktycznie Facebook mógłby konkurować z systemami operacyjnymi jakie znamy dzisiaj. Być może nasz FacebookOS będzie klonem nadchodzącego ChromeOS lub pewnego rodzaju nakładką na coś bliższego dzisiejszym systemom operacyjnym. Ja jestem ciekaw co przyniesie przyszłość. logiczne
201 48-0 Nazwał bym to pytaniem o koncepcje Tannebauma - dane i ich przetwarzanie będzie w sieci. rzeczowe
202 48-1 Przeglądarki zaczynają coraz bardziej wspierać “”technologie“” takie jak javascript, jquery, gdzie mamy programowanie po stronie klienta. Łatwo możemy się połączyć z jakimś zasobem, bez odświeżania przeglądarki - facebook tak działa i m.in. dlatego jest popularny. rzeczowe
203 48-2 Dla firm, facebook udostępnił api programistyczne, jak to wygląda dzisiaj? Użytkownik naszej aplikacji internetowej podaje nam login i hasło do facebooka a my następnie przetwarzamy jego dane( miejsce zamieszkania, data urodzenia, znajomi, atrybuty profilu ) - narazie nie ma wszystkich informacji w api, ale pewnie gdyby nie kwestie prawne, już teraz mogłoby to spowodować jeszcze większy rozwój facebooka i dążenie do zastąpienia systemu operacyjnego. rzeczowe
204 48-3 Wyobrażmy sobie że wiele firm ma w swoich aplikacjach 20% danych pobranych z facebooka - powstaje dużo więcej programów dla danych z facebooka, a że wszystko jest łatwo dostępne, to firmy uzależniają się od facebooka lub są ich partnerami. Usługi internetowe takie jak facebook api, czy webservice, oraz rozwój przeglądarek i przetwarzania po stronie klienta, zrewolucjonizują internet i wpłyną na funkcje systemów operacyjnych. inne
205 49-0 Odnosząc się od wypowiedzi kolegi zgadzam się że Facebook nie zastąpi systemu operacyjnego, sprawdził by się on zapewne na komputerach typu netbook czyli małych, mobilnych laptopach z których mało kto korzysta w celu np grania w wymagające gry, oglądania filmu w jakości HD czy pisania programów lub innych rzeczy wymagających przynajmniej większego ekranu w celu komfortowej pracy i rozrywki. inne
206 49-1 Netbooki są głównie używane do mobilnego dostępu do Internetu, pisania maili, krótkich notatek, dokumentów tekstowych itp. W takiej roli portal społecznościowy Facebook miałby duże szanse powodzenia, udostępniając użytkownikowi w jednym miejscu wszystkich potrzebnych funkcjonalności. logiczne
207 50-0 Z mojej strony mam nadzieję, że facebook nie zastąpi systemu operacyjnego… W końcu to jest portal społecznościowy - byłoby to wręcz doskonałe narzędzie do monitorowania każdego ruchu użytkownika… Czasem warto mieć coś swojego lokalnego ;-) Oczywiście to tylko moje zdanie. Taką mam jednak nadzieję, mimo że technicznie pewnie byłoby to możliwe… emocjonalne
208 51-0 Moim zdaniem facebook mógł by spokojnie zastąpić system operacyjny. Nie, nie chodzi mi o to, że umiał by zarządzać pamięcią, szeregować procesy itd. Bardziej widzę facebooka jako nakładkę do czegoś, co posiada już wszystkie te funkcje, taki system udostępniał by użytkownikowi wszystkie funkcjonalności z facebooka i tylko te. Dla przeciętnego użytkownika korzystającego z facebooka przez większość swojego czasu było by to rozwiązanie optymalne, nie musiał by się martwić o rzeczy typu „przez przypadek usunąłem plik i system nie chce się uruchomić”. inne
209 51-1 System sam w sobie zajmował by bardzo mało miejsca, a jego możliwości konfiguracyjne były by w znacznym stopniu ograniczone, dzięki czemu użytkownik nie mógł by go „zepsuć”. Najbardziej przypomina mi to system obsługi towarów u pani na kasie w sklepie. inne
210 51-2 A jeżeli chodzi o ludzi którzy chcieli by więcej, tzn. programowanie i te sprawy, to mam na to jedną prostą odpowiedź: Zainstalujcie inny system operacyjny!(Albo doinstalujcie, bo zawsze można mieć ich kilka) emocjonalne
211 51-3 Wyobraźmy sobie że, posiadamy jeden komputer w domu i nagle przyjeżdża rodzina z młodszym kuzynem, który chce sobie „pograć” na komputerze, wtedy ze spokojem włączacie mu komputer, wybieracie system Facebook OS i spokojnie możecie iść wypić kawę z rodziną, bez obawy, że kuzyn usunie wam jakieś ważne plik itd. bo w systemie nie będzie w ogóle takiej możliwości(Oczywiście kuzyn musiał by mieć konto na facebooku, by nie powypisywać na naszym profilu dziwnych rzeczy, ale pewnie znając nasze piękne polskie społeczeństwo miał by je założone tuż po swoim urodzeniu). inne
212 52-0 To znacznie ograniczyłoby problemy przeciętnego użytkownika i co za tym idzie sytuacji, w których trzeba mu pomagać. logiczne
213 52-1 Całkowicie zgadzam się z opinią, że w przyszłości dla większości użytkowników jakiś portal będzie synonimem systemu operacyjnego, właśnie przez oferowanie wszystkich podstawowych, potrzebnych im funkcjonalności. logiczne
214 52-2 Ale to bardzo mało prawdopodobne, żeby moja mama założyła sobie konto na facebooku, gdyż dla niej funkcjonalność -kontakt ze znajomymi -jest zbędna i wręcz niepożądana. Dlatego myślę, że niekoniecznie to właśnie facebook stanie się tym synonimem OS. logiczne
215 53-0 Ja rozpatrywał bym pokolenie nasze oraz przyszłe, a jak widać po dość sporej grupie społecznej lepiej przesiedzieć pół dnia na facebooku niż zrobić cokolwiek.( I tu przypomina mi się wizja rodem z filmu matrix, w której to ludzie są “”zniewoleni“” przez system komputerowy, ale to już temat na zupełnie inną dyskusję) emocjonalne
216 54-0 Ja zgodziłbym się z Michałem. Raczej aplikacje typu FB nie zastapią OS ale na pewno aspirują do tego. Funkcjonalności typu kontakt ze znajomymi, gra przez internet, oglądanie filmów, wymiana plików w skrócie rozrywkę (dla większości użytkowników nie związanych z informatyka do tego właśnie służy komputer) bez wątpienia można przenieść z komputera użytkownika na stronę oferującego (np w chmurę) . logiczne
217 54-1 Wtedy użytkownik nie musiałby się martwic instalacjami na dysku, posiadaniem aktualnej wersji, czy dostępnością stanu gry z innego komputera :). Wystarczyłby mu dowolny komputer, dowolny system operacyjny na nim i dowolna przeglądarka żeby mógł korzystać ze swoich zgromadzonych danych. (tak działa np q3live gdzie wystarczy mały plugin do przeglądarki i możemy grać) inne
218 54-2 Zostaje aspekt: a co jeśli nie ma internetu ? no wtedy taki system staje się bezużyteczny i wydaje mi się że to będzie jego największą potencjalna wada. logiczne
219 55-0 Brak dostępu do internetu w przypadku tego typu systemu mógłby być problemem, ale: -wydaje się kwestią czasu to, że internet będzie dostępny niemal w każdym miejscu na świecie -wiele osób włącza komputer tylko po to żeby skorzystać z facebooka, więc jeśli nie mają w danej chwili połączenia z internetem to i tak z niego nie korzystają inne
220 55-1 Myślę, że taki system mógłby odnieść duży sukces komercyjny. Reklama załatwiona. Inna sprawa, czy zatrzymałby użytkowników (nawet wielkich fanów) na dłużej. hipoteza
221 55-2 W dodatku całkiem niedawno portal Nasza-Klasa przewyższał popularnością Facebooka. Teraz się to zmieniło. Za rok, dwa może pojawi się jakiś inny popularny portal społecznościowy. Jeszcze kilka lat temu taki pomysł na system operacyjny zostałby wyśmiany. Może niedługo pojawi się coś zupełnie nowego co również “”wciągnie“” internautów. inne
222 56-0 Nie rozważyliśmy jeszcze dwóch kluczowych dla wielu osób kwestii: anonimowości oraz bezpieczeństwa. rzeczowe
223 56-1 Taka unifikacja logowania pozwala na łatwe zidentyfikowanie osoby oraz jej nawyków, stron które odwiedza czy też zainteresowań przez nie tylko Facebook'a, ale też firmy trzecie. Dla mnie jest to zła praktyka, poświęcamy naszą anonimowość w sieci na rzecz wygody - jeden login dla większości stron. logiczne
224 56-2 Twórcy takiego systemu mają w tym bardzo duży interes, posiadanie takich danych pozwala, na przykład, na dokładne wybieranie reklam dostosowanych do odbiorcy (Google już od dawna takie zabiegi stosuje). rzeczowe
225 56-3 Idzie to coraz dalej… Facebook pozwala na dostęp do coraz większej ilości naszych danych personalnych (http://tinyurl.com/4fkubzu), dla nas może nie jest to kluczowe ale na przykład dla mieszkańców USA to może być problem - zaczną się telefony z reklamami. A nie każdy wie o możliwości zapisania się do specjalnej listy (https://www.donotcall.gov/) aby ukrócić te praktyki. inne
226 56-4 W końcu to jest portal społecznościowy - byłoby to wręcz doskonałe narzędzie do monitorowania każdego ruchu użytkownika… Czasem warto mieć coś swojego lokalnego Oczywiście to tylko moje zdanie. Taką mam jednak nadzieję, mimo że technicznie pewnie byłoby to możliwe… emocjonalne
227 56-5 Nie jest to tylko Twoje zdanie, jest nas więcej niż myślisz ;) emocjonalne
228 56-6 Biorąc pod uwagę wspomniane już plany integracji Office Online z Facebook'iem nasuwa się kolejna kwestia: bezpieczeństwo naszych danych. Aplikacje zamiast przechowywać dane na naszych, lokalnych, dyskach będą przechowywane u producenta danego rozwiązania. rzeczowe
229 56-7 Poprzez “”zachmurzanie“” horyzontu internetowego firmy takie jak Google czy Microsoft będą w posiadaniu ogromnych ilości danych użytkowników. Oczywiście w regulaminach korzystania z tych usług gwarantowana jest pełna dyskrecja oraz bezpieczeństwo danych, ale czy na pewno nikt postronny nie ma do nich dostępu? hipoteza
230 56-8 Drugą sprawą jest fizyczne bezpieczeństwo naszych danych. Nawet największym firmom zdarzają się awarie powodujące utratę danych klientów (Microsoft - http://tinyurl.com/yhydpu2). Oczywiście równie łatwo dane mogą “”zniknąć“” z lokalnych dysków ;) inne
231 56-9 Ogólnodostępne portale społecznościowe czy zestawy aplikacji biurowych nie sprawdzą się także w firmach, gdzie bezpieczeństwo danych jest kwestią kluczową. Oczywiście sama technologia Cloud nie jest zła, poprzez tworzenie lokalnych chmur w obrębie instytucji można udostępniać funkcjonalności pakietów biurowych dla wszystkich ich pracowników. rzeczowe
232 56-10 Niestety funkcjonalność takich rozwiązań jest na razie dość ograniczona - udostępniają one jednak tylko podstawowe funkcje dla programów nie wymagających dużych zasobów. rzeczowe
233 56-11 Podsumowując: zgadzam się z opinią, że systemy a'la FacebookOS dla “”szarego“” człowieka mogą spełnić swoje zadanie, ale mają one swoją cenę. hipoteza
234 57-0 Odnosząc się do wypowiedzi przedmówców to internet w telewizorze nie jest chyba żadną nowością już od dawna różne dekodery na to pozwalały, potem do tego grona dołączyło PlayStation a od jakiegoś czasu już bez żadnych dodatkowych urządzeń można podłączyć telewizor do internetu. Patrząc na to, że w przeszłości już się tak dało a nie widać ludzi posiadających PS i korzystających z FB przez TV to raczej dalej tak zostanie (szybciej skype + TV będzie popularne zamiast telefonów). inne
235 57-1 Kolejnym aspektem jest popularność FB dość znana jest taka teoria, że migracja pomiędzy portalami społecznościowymi następuje co 4 lata ( mieli mało czasu aby to wyliczyć ale jakoś się to mądrym ludziom udało). Chciaż patrząc na google.com/trends facebook rośnie w siłe. rzeczowe
236 57-2 Ktoś wspomniał o programach do edycji zdjęć przez internet. Moim zdaniem skoro Gimpowi nie udało się dogonić Adobe do tej pory to nikt inny jak Adobe sobie z tym nie poradzi. Chyba, że mówimy o podstawowej edycji. logiczne
237 57-3 Oglądanie filmów z internetu czy to przez FB czy inne strony jak MegaVideo w jakości HD jest raczej póki co fikcją. YouTube jeśli dobrze pamiętam do dziś nie przynosi dochodów(w 2008r. przyniósł im z kolei 470 milionów straty) ponieważ zyski z reklam nie zwracają im przestrzeni dyskowej, prądu etc a tu nawet nie mamy porządnej jakości. Przyzwoity HDrip waży jakieś 10GB. inne
238 57-4 10.000MB / 90min/60sek = 1,8MB/s czyli około 15Mbit/s potrzeba żeby przesłać taki obraz. Nie oszukując pomimo że możemy wziąć np. z UPC 25Mbit/s to i tak jest to transfer ciężki do osiągnięcia dziś na przeciętnym internecie. inne
239 57-5 Do tego dochodzi kwestia legalności filmów. Muszą być płatne jeśli mówimy o nowościach kinowych. A jak dobrze wiemy, żaden polak nie zapłaci za to co można mieć za darmo. Sadzę, że dużo szybciej popularne będzie VOD, które już jest dostępne u większości operatorów telewizji kablowej. emocjonalne
240 57-6 Następną sprawą jest to, że FB się rozwija ale nie bardzo widać, żeby tempo było zatrważające. Raczej zmiany wprowadzane są dość powoli (chyba, że o czymś nie wiem nie jestem fanem). A bez dużych zmian sytuacja, że FB zastąpi nam OS jest mało prawdopodobna. logiczne
241 57-7 Mogą przejąć nasze maile itp. Tak jak to niedawno było słychać, że za parę milionów od amerykańskich farmerów kupili domene fb.com, podobno żeby nie mieszać kont firmowych( z końcówka @facebook.com) i użytkowników i przy okazji pokłócili się z google, że nie będą im dawać danych o preferencjach użytkowników jeśli oni nie pozwolą im grzebać w gmailach ludzi. inne
242 57-8 Na koniec chciałbym jeszcze dodać, że bardziej prawdopodobna wydaje się sytuacja jak już kilka osób wspomniało, że przeglądarka przejmie role systemu operacyjnego. Google z Chrome jest na dobrej drodze, są dodatki rozszerzające przeglądarkę o proste funkcje ale także jest https://chrome.google.com/webstore z ciekawszymi rozwiązaniami. A ostatnia wersja silnika od JS zdyskwalifikowała przy okazji chwilowo konkurencję. Jeśli już dopatrywać się przejęcia przez coś roli OS to właśnie w chrome. logiczne
243 58-0 Skoro Google postanowił stworzyć system operacyjny oparty na przeglądarce internetowej uważam, że Facebook może przejąć taką rolę. hipoteza
244 58-1 Urządzenia, których systemem operacyjnym byłby rozbudowany klient Facebooka (nie mam tutaj na myśli przeglądarki) z pewnością trafiłyby do pewnej określonej grupy ludzi. hipoteza
245 58-2 Wydaje się jednak, że oczekiwania potencjalnych użytkowników z czasem zaczęłyby rosnąć, co sprowadza się do systemu operacyjnego. Chyba, że Facebook zacząłby udostępniać bardziej użyteczne narzędzia w chmurze. Obecnie poza komunikatorem można na facebooku pograć we flashowe gierki, a nie np. wysyłać maile i tworzyć dokumenty. logiczne
246 58-3 Systemy operacyjne nie znikną ze względu na to, jakie możliwości udostępniają użytkownikom. logiczne
247 59-0 W tej chwili wydaje się, że internetowe systemy operacyjne są gotowe do pracy. Nie oferują one jednak tego samego komfortu jak systemy desktopowe, ale wydaje mi się, że dla każdego fana technologii, prawdopodobnie będzie równie użyteczny. Bardzo przydatną funkcją jest przesyłanie danych. System operacyjny może służyć jako miejsce składowania kopii zapasowych danych i zapobiega awarii komputera. Warto wypróbować. Jeżeli byłoby to zintegrowane z Facebookiem to całość byłaby uslugą godna uwagi. inne
248 59-1 Wydaje mi się, programy do obróbki zdjęć dla zwykłych, domowych, użytkowników to zupełnie inny kaliber niż Gimp czy Photoshop. Dla prostej obróbki aplikacje internetowe, działające oczywiście najpierw na lokalnych danych (model “”upload-to-process“” tutaj się nie sprawdza), mogą się całkiem nieźle sprawdzać. Szczególnie jeśli są połączone z usługami do publikacji (Picasa) czy drukowania odbitek. logiczne
249 59-2 Niekoniecznie, warto rozważyć model stosowany na przykład przez Hulu. Jest on stosowany przez iplex.pl. rzeczowe
250 60-0 Wszystko zależy od definicji słowa “”fan“”. Jak dla mnie dla osób biegłych w obsłudze komputera dzisiejsze aplikacje internetowe po prostu udostępniają zbyt małe możliwości. Problem jest podobny do różnicy pomiędzy graniem na PC i konsolach - PC udostępniają większe możliwości za cenę większych kosztów developowania oprogramowania na nie, gdyż konsole posiadając ujednolicony sprzęt ułatwiają proces optymalizacji. logiczne
251 60-1 Fan może sobie taką funkcjonalność oskryptować używając na przykład Dropbox'a ;) emocjonalne
252 61-0 Jeżeli facebook miałby zastąpić system operacyjny to (według mnie) tylko dla “”przeciętnych“” użytkowników, którzy nie pracują przy pomocy komputera. Nie mogę sobie wyobrazić, aby na dzień dzisiejszy na facebooku umieścić kompilator lub programy do profesjonalnej obróbki zdjęć. logiczne
253 61-1 W dzisiejszych czasach wiele filmów powstaje “”w komputerze“” - również nie widzę, aby facebook mógł sprostać temu zadaniu. Niemniej jednak wiem, że większości użytkowników do szczęścia nie są potrzebne takie “”profesjonalne“” narzędzia i dlatego myślę, że gdyby powstał taki system operacyjny mógłby się cieszyć dużym powodzeniem. logiczne
254 62-0 Moim zdaniem facebook to tylko portal społecznościowy z przeróżnymi “”bajerami“” i jeśli utrzyma tak wielką popularność i w najbliższym czasie nic podobnego nie pojawi się na rynku co spowodowałoby nagły spadek tego „wzięcia” to możliwe, że powstanie coś takiego jak facebook OS . logiczne
255 62-1 Ale zgadzam się, że taki system byłby tylko dla użytkownika, który korzysta z takich funkcji jak sprawdzenie poczty, stworzenie dokumentu tekstowego, słuchanie muzyki itd. czyli korzysta z podstawowych funkcji, gdyż również sobie nie wyobrażam, żeby zastąpił system operacyjny na którym można profesjonalnie pracować. logiczne
256 62-2 Wydaje mi się, że facebook nigdy nie zastąpi systemu operacyjnego chociażby dlatego, że jak już wspomniano, każdy na pewno chce mieć coś swojego lokalnie i wiedzieć w 100% gdzie to coś się znajduje oraz że nikt nie ma do tego dostępu/wglądu jeśli tego chcemy. logiczne
257 63-0 Stwierdzenie “”tylko dla użytkownika“” bardzo bagatelizuje sprawę. Ja bym tu raczej użył sformułowania “”aż dla użytkownika“” :wink: emocjonalne
258 63-1 Pół roku temu liczba użytkowników Facebooka przekroczyła 0,5 mld… Jest to ogromny sukces, spowodowany właśnie dostępem w jednym miejscu do większości funkcjonalności potrzebnych użytkownikom. A taki użytkownik, jak to wiele osób wcześniej słusznie zauważyło, nie potrzebuje innych profesjonalnych narzędzi ani tym bardziej nie musi wiedzieć, że coś gdzieś coś szereguje i jak to wykorzystać. rzeczowe
259 63-2 Ale spójrzmy też na to z drugiej strony, jeżeli w przyszłości ludzie będą korzystać z Facebook OS i załóżmy, że będzie to dla większości pierwszy system z jakim mieli kontakt, to odsetek specjalistów w dziedzinach informatyki (i tak już niski w skali świata) znacznie spadnie. Stare systemy staną się “”zbyt skomplikowane“”, bo tu trzeba instalować, konfigurować, wiedzieć gdzie co kliknąć itp. A tak od razu ma się wszystko na tacy :wink: emocjonalne
260 63-3 Społeczeństwo wykona krok w tył… ale to dobrze dla nas informatyków oraz nawet “”informatyków“”, bo staniemy się elitą :lol: emocjonalne
261 64-0 Aż się zdziwiłem że przy tylu wystąpieniach słowa “”przeglądarka“” w poprzednich postach nikt nie wspomniał o dość ciekawym projekcie Facebooka czyli RockMelt http://www.rockmelt.com/ rzeczowe
262 64-1 Jest to, w skrócie, przeglądarka integrująca w sobie Facebooka, która sprawia że FB jeszcze bardziej “”scala się“” z użytkownikiem na bieżąco widzącym to co dzieje się z jego znajomymi tudzież to co ostatnio udostępnili. rzeczowe
263 64-2 Oglądając film demonstrujący jej działanie, oprócz świetnego marketingu, widzimy przykład przepisania przeglądarki jako hm… serwisu społecznościowego mającego ambicje zostania takim właśnie systemem operacyjnym dla “”mało wymagającego“” użytkownika. emocjonalne
264 64-3 Sprawa jest bardzo ciekawa, zachęcam do ściągnięcia wersji beta :) emocjonalne
265 65-0 Wszystko fajnie z tym RockMeltem, ale pierwsze na co zwróciłem uwagę, to fakt, że ta “”przeglądarka“” wymaga konta na Facebooku. Rozumiem, że w tym przypadku to oczywiste założenie, ale patrząc w ew. przyszłość z Facebook OS oraz idąc tym tropem, łatwo można zauważyć, że czy chcemy czy nie, będziemy musieli dać się zapisać w bazie danych, jeśli chcemy z tego wszystkiego korzystać. inne
266 65-1 To jest poważna wada dla systemu, bo oznacza dla wielu użytkowników po prostu brak wolności (choćby nawet tylko w ujęciu ideologicznym, ale jednak). logiczne
267 65-2 Anonimowość albo chociaż jej złudzenie jest jednak w cenie :wink: Dlatego też przejście na system oparty na portalu społecznościowym może nie być aż tak atrakcyjne jak się wydaje… emocjonalne
268 66-0 Z tego co zdołałem zauważyć większość przeciętnych użytkowników wcale nie chce anonimowości nawet jeżeli zdaje sobie sprawę z zagrożeń jakie niesie jej brak. inne
269 66-1 Swobodnie rozrzucają swoje dane osobowe gdzie tylko się da, podobnie z danymi innego rodzaju. Kwestia tego czy po odpowiednim uświadomieniu może się to zmienić. Pamiętajmy też że przynajmniej teoretycznie anonimowość w sieci nie istnieje :wink: emocjonalne
270 67-0 Temat tej dyskusji wydał mi się dość dziwny ze względu na zestawienie portalu społecznościowego jakim jest facebook z systemem operacyjnym :) być może dla mało doświadczonego użytkownika komputera wizja zastąpienia systemu operacyjnego przez facebooka wiele w jego życiu by nie zmieniła, zakładając, że używa on komputera jedynie w celu zalogowania się na fb, jednakże ciężko jest sobie wyobrazić, że wizja ta spotkałaby się z uznaniem profesjonalnego użytkownika komputera, dla którego to serwis taki jak facebook jest jedynie małym dodatkiem / gadżetem urozmaicającym jego czas wolny (zakładając, że w ogóle czuje on potrzebę i chęć korzystania z tego typu serwisów). inne
271 67-1 Facebook nie jest w stanie zapewnić użytkownikowi dostępu do zaawansowanych narzędzi do pracy, czy też innych celów. System operacyjny stanowi podstawę dla oprogramowania dedykowanego dla poszczególnych użytkowników szukających danej funkcjonalności, daje możliwość pełnej personalizacji i dostosowania do potrzeb użytkownika, czego nie jest w stanie zapewnić żaden serwis, w szczególności serwis społecznościowy jakim jest facebook. rzeczowe
272 67-2 Moim zdaniem, dla przeciętnego użytkownika, niekoniecznie polskiego - u nas popularność Facebook'a nijak ma się do “”manii“” jaka ogarnęła np. USA (i co wiem z doświadczenia - Turcję), taki “”system“” byłby w sam raz. Po prostu włączasz komputer i masz możliwość komunikacji ze znajomymi. emocjonalne
273 67-3 Oczywiście konieczna byłaby obsługa dokumentów, etc. ale dla przeciętnego zjadacza chleba, to idealna możliwość posiadania systemu, którego praktycznie nie da się zepsuć (zakładając, że np. system byłby całkowicie ładowany z sieci,a dane użytkownika dostępne w chmurze). inne
274 67-4 Przecież podobna idea przyświeca Google ChromeOS (choć on zdaje się być bardziej uniwersalny). A po ruszeniu Buzz'a (usługi społecznościowej Google) na pewno ChromeOS będzie z nim zintegrowany. rzeczowe
275 67-5 Druga sprawa to “”zaawansowani“” użytkownicy (co jest dość szerokim terminem), którym takie rozwiązanie na pewno nie wystarczy, ale jak to się mówi - nikt ich do korzystania z niego nie zmusza. ;) emocjonalne
276 68-0 Dyskusja miała właśnie dotyczyć tego, czy mało zaawansowany użytkownik potrzebuje czegoś więcej niż umowny facebook, który integruje potrzebne temu użytkownikowi usługi. Po co takiemu użytkownikowi “”walka“” z instalowaniem kolejnych kodeków, żeby obejrzeć film, czy też zastanawiania się która to też aplikacja do robienia albumów zdjęć jest dobra (bo ta windowsowa jest np. do niczego). inne
277 68-1 Gdyby usługi takie były zintegrowane w miejscu, z którego taki użytkownik korzysta (umowny facebook) i gdybym miał możliwość wybrać narzędzi, z którego korzysta ktoś do kogo mam zaufanie (istota działania facebooka i społecznościówek wszelkiego rodzaju) to taki użytkownik miałby wszystko czego potrzebuje (oczywiście przy założeniu że na facebooku będą integrowane różne usługi, co chyba już teraz ma miejsce). logiczne
278 68-2 A jeżeli chodzi o bardziej zaawanwsowanego użytkownika tzn. programistę/Panią z banku/grafika komputerowego. Taki człowiek usiądzie sobie przy dedykowanym narzędziu, tak samo jak dzisiaj przy takim narzędziu siada mechanik samochodowy, który sprawdza jak działa silnik w moim samochodzie (przy uszkodzeniu zaworu jakiegoś tam zapaliła mi się tylko lampka ostrzegawcza, a nie dostałem na deskę rozdzielczą 40 komunikatów co mam zrobić żeby to naprawić, czy 8 wyjątków że posypał się program obsługujący komputer sterujący silnikiem). logiczne
279 68-3 I to jest właśnie istota rzeczy - użytkownik wg. mnie nie potrzebuje zaawansowanego ustrojstwa typu system operacyjny (wszystkich tych plug and pray, 1000 niepotrzebnych aplikacji, magicznych czynności żeby zainstalować drukarkę - ostatnio pod Windows 7 sam walczyłem przez 1/2 h z instalacją prostej laserówki), ale potrzebuje prostoty i usługi. hipoteza
280 68-4 Facebook nie jest w stanie zapewnić użytkownikowi dostępu do zaawansowanych narzędzi do pracy, czy też innych celów. System operacyjny stanowi podstawę dla oprogramowania dedykowanego dla poszczególnych użytkowników szukających danej funkcjonalności, daje możliwość pełnej personalizacji i dostosowania do potrzeb użytkownika, czego nie jest w stanie zapewnić żaden serwis, w szczególności serwis społecznościowy jakim jest facebook.Nikt nie mówi, że wszystko ma się dziać na facebooku. logiczne
281 68-5 Tak jak dzisiaj nikt nie oczekuje że Windows 7 będzie wykorzytane do obsługi silnika w moim samochodzie, czy promu kosmicznego :) logiczne
282 69-0 Pytanie o przyszłość “”Portalu“” jako systemu operacyjnego z późniejszymi doprecyzowaniami dr Marciniaka zdaje mi się być pytaniem/dyskusją o preferencjach/potrzebach “”zwykłych użytkowników“”. hipoteza
283 69-1 Czy podstawowe potrzeby mogą być zaspokojone przez aplikacje internetowe? hipoteza
284 69-2 Cóż: *komunikacja (czat facebookowy, gTalk w GMailu) *filmy (hulu, iplex, ekino.tv ;)) *zdjęcia (nie potrafię wskazać konkretnego serwisu, który pozwala na edycję ale już gdzieś spotkałem się z edycją rozmiaru obrazu, przycinaniem, zmianą kolorystyki zdjęć) *muzyka (znam last.fm z płatnym radiem, chyba można tworzyć własne listy, ale nawet jeśli nie to dlaczego nie stworzyć serwisu z indywidualnie układaną playlistą?) *edycja dokumentów (Google Docs) *podstawowe gry (nie znam pojedynczego serwisu, ale jak mam ochotę zagrać w coś prostego, to to znajduję bez problemu) rzeczowe
285 69-3 już dzieją się (i to z sukcesami) w internecie. Co prawda nie pod sztandarem jednej firmy, ale można sobie wyobrazić, że pojawia się nowy portal, który zawiera wszystkie te podstawowe możliwości, zatem myślę, że można stwierdzić, że w małej skali już przenieśliśmy swoje ‘komputerowe życie’ do sieci. inne
286 69-4 Czy ludzie zdecydują się używać tych wszystkich funkcjonalności za pomocą jednego portalu to już kwestia marketingowców/projektantów interfejsów. W Facebooku akurat zdaje się, że pracują nieźli psycholodzy i zadbają o to, by korzystanie z FaceDocs czy FaceVideo było powodem do dumy ;) (choć przez niektóre kręgi kulturowe sam FB przedrzeć się jeszcze nie może; Japonia) emocjonalne
287 69-5 Istnieje kilka przeszkód przez które, moim zdaniem, stanowią przeszkodę w realizacji w najbliższym czasie idei sieciowego OS'a na wielką skalę: inne
288 69-6 *HTML nie został stworzony do bycia interfejsem systemu operacyjnego; choć się rozwija to zdaje mi się być zbyt ograniczony by traktować taki projekt (przenosin OS'a do sieci) jako coś poważnego *infrastruktura do realizacji takiego projektu byłaby przeogromna, nie wiem czy jej sprawne działanie nie leży poza zasięgiem przez najbliższe długie lata (synchro, niezawodność, szybkość, storage) *czysto subiektywnie; we mnie tego typu molochy budzą strach. Facebooka głównie czytam, ograniczam używanie niektórych produktów Google'a, żeby dać sobie iluzję opierania się Goliatowi, może w pewnym momencie, gdy “”Portal“” stanie się dostatecznie duży więcej ludzi zacznie myśleć o tym w taki sam sposób inne
289 69-7 Zastanawiające jest czy pojawią się nowe potrzeby wirtualnego dnia codziennego, których nie będzie można realizować poprzez www? hipoteza
290 70-0 W Japonii po prostu od dawien dawna mają swoje mixi.jp. Dla nich Facebook nie był specjalnie niczym nowym, ot pewnie cały sekret. Chyba, że podasz jeszcze jakiś przykład :). rzeczowe
291 70-1 Obecny kierunek jest chyba zgoła odmienny, w wielu przypadkach odcięcie komputera od internetu oznacza niemożność spełniania swojej funkcji. rzeczowe
292 70-2 Wyobrażam sobie, że ciężko byłoby np. renderować grafikę jedynie online, ale to też pewnie tylko do czasu. inne
293 71-0 Stale rosnące możliwości przeglądarek internetowych, dużo nowoczesnych, lekkich oraz stosunkowo łatwych frameworków, jak również większe zainteresowanie użytkowników sprawiają, iż coraz więcej współcześnie tworzonych aplikacji wybiera platformę web i przeglądarkę internetową jako interfejs użytkownika. logiczne
294 71-1 Czy są aplikacje których nie da się napisać pod przeglądarkę ? Czy na rynku istnieje jeszcze miejsce dla aplikacji desktopowych ? hipoteza
295 71-2 Wszystko wskazuje na to że, aplikacje desktopowe nie znikną z rynku, przynajmniej przez dobre parę lat. Świadczyć o tym może chociażby dynamiczny rozwój frameworków dla tych aplikacji takich jak: Eclipse RCP, NetBeans Platform, czy Spring RCP dla Javy. logiczne
296 72-0 Z tego co zauważyłam, a nie trudno wykonać to co ja zrobiłam, wrzuciłam porównanie samych wyników dla web application framework oraz dla desktop i widać, że web app ma dużo więcej wyników i łatwiej znaleźć jakieś informacje na ten temat. W języku polskim szukanie czegos o aplikacjach desktopowych wogóle już nie jest łatwe - bynajmniej z poziomu zwykłego użytkownika, który nie wie czego konkretnie szuka. inne
297 72-1 A jest wiele aplikacji, które nie służą przecież tylko programistycznym potrzebom, np. biznesowym potrzebom, jak np. Tryton (akurat desktopowa aplikacja), a wiele ludzi biznesu, będzie podążać za tym co jest teraz nowe, czy popularne. Ale mimo wszystko myśle, że ludzie z czasem mogą woleć wybrać aplikacje webowe, bo nie przejmują się tym, na jaki system aplikacja dana działa, co trzeba do niej posiadać, tylko ze po prostu działa. A jeżeli działa równie sprawnie, to czemu nie. logiczne
298 72-2 Mimo że aplikacje webowe mają obecnie swoje pięć minut, to jestem zdania, że programy stand-alone nie znikną. Nie wyobrażam sobie, aby pisać webowo program obsługujący procesy produkcyjne w fabrykach i rezygnować z możliwości podglądu parametrów danego procesu w czasie rzeczywistym (aplikacja webowa w końcu będzie miała niewielkie opóźnienia). inne
299 72-3 Aplikacje webowe są rzeczywiście bardzo popularne ostatnio. Dzieje się tak za sprawą szybszych łącz i ogólnego rozwoju internetu. Jednak według mnie ich naturalne minusy: zależność od łącza, opóźnienie w działaniu, mniejsze bezpieczeństwo, zwykle słabsza funkcjonalność itd. Sprawiają, że nie są wstanie zastąpić aplikacji typu stand-alone. logiczne
300 72-4 Aplikacje tego typu zawsze będą bardziej zawodne: więcej elementów, które mogą nie działać: łącze, lokalny terminal/komputer, serwer w porównaniu z tylko lokalnym komputerem w stand-alone. Poza tym nie nadają się do przetwarzania bardzo dużej ilości informacji. logiczne
301 72-5 Istnieje również rynek gier komputerowych (aktualnie 2 miejsce na świecie po filmie pod względem dochodów spośród branż rozrywkowych), w którym aplikacje webowe nie mają szans. rzeczowe
302 73-0 Moim zdaniem nigdy nie dojdzie do tego, że wszystko przejdzie do sieci i to z kilku względów. hipoteza
303 73-1 Po pierwsze, nawet jeżeli użytkownik używa tylko przeglądarki, to ona sama musi być natywną aplikacją środowiska. Jest to aplikacja na tyle duża, że potrzebuje sporego frameworka chociażby dlatego, że aby spełnić wymagania takich technologii jak HTML5 czy WebGL potrzeba masy oprogramowania, sterowników i wsparcia ze strony systemu operacyjnego. logiczne
304 73-2 Po drugie części rzeczy nie chcę robić w sieci. Z tych czy innych powodów mogę nie ufać dostawcy aplikacji internetowej. Nie wiem komu udostępni moje dane. Najczęściej w różnego rodzaju regulaminach dostawcy zabezpieczają się na wypadek udostępnienia naszych danych komukolwiek. emocjonalne
305 73-3 Po trzecie, wydajność. Jeśli mamy milion klientów z aplikacją, która musi wykonać trochę konkretniejszych obliczeń, lub też musi przesyłać sporo danych to może być problem ze zgromadzeniem wystarczających zasobów. logiczne
306 73-4 Używanie programu do obróbki graficznej, gry komputerowej czy edytora wideo do dużych rozdzielczości nie zadziała przez sieć chociażby z racji fizyki otaczającego nas świata. Tego typu aplikacji sami w całości nie napiszemy. Najczęściej będziemy potrzebowali pomocy w postaci frameworków itp. inne
307 73-5 Kolejnym problemem może być założenie leżące u podstaw protokołu HTTP, który napędza dziś sieć. Otóż jest on protokołem bezstanowym. Dotychczasowe próby obejścia tego założenia jak na razie najczęściej kończą się ziejącymi lukami bezpieczeństwa. rzeczowe
308 73-6 Trochę poza tematem. Moim zdaniem flashowa gierka, którą uruchamiam w przeglądarka to nie żadna aplikacja webowa. Najczęściej to plik binarny, w całości wykonywany na naszym komputerze korzystając z przeglądarki tylko w charakterze łapacza zdarzeń systemu ewentualnie w pewnym stopniu komunikujący się z siecią. inne
309 74-0 Czy na rynku istnieje jeszcze miejsce dla aplikacji desktopowych? Tak, istnieje i jeszcze przez dłuższy czas, według mnie, będą one gościły w różnych gałęziach rynku z różnych względów. hipoteza
310 74-1 Jak zauważyli moi przedmówcy, aplikacje webowe “”mają swoje pięć minut“” i ostatnio stają się coraz bardziej popularne i co do tego nie można mieć wątpliwości. Jak sama ich nazwa wskazuje jednak, korzystanie z nich wymaga dostępu do sieci. Oczywiście dzisiaj nie jest problemem, żeby podłączyć się do internetu nawet w środku Puszczy Białowieskiej, ale nie do tego dążę. inne
311 74-2 Chciałem natomiast opowiedzieć po krótce pewną historię, którą usłyszałem ostatnio na naszym wydziale. Wynikało z niej, że szef pewnej firmy, kierując się swoim głębokim przekonaniem, że jest to najlepsze rozwiązanie aby zmusić pracowników do pracy, a nie obijania się w godzinach jej trwania m.in. pozbawił ich dostępu do sieci. inne
312 74-3 Na nic zdały się wtedy tłumaczenia programistów, że potrzebują internetu do poszukiwania rozwiązań problemów itd., szef wie bowiem lepiej. Zwróćmy uwagę zatem na problem. Zawsze znajdzie się ktoś, kto będzie wiedział lepiej i kogo nie przekonamy do swojego zdania. Nawet jeśli korzystanie z aplikacji webowej byłoby dla niego lepszym rozwiązaniem, to on wybierze rozwiązanie desktopowe, bo tak uważa… inne
313 74-4 Oczywiście można mieć także bardziej uzasadnione zastrzeżenia co do użytkowania aplikacji webowej. Jak wyżej wspomniano korzystanie z aplikacji webowej powoduje pewne wątpliwości co do bezpieczeństwa danych, szczególnie jeśli pracujemy z danymi ważnymi. Dlatego wybierzemy aplikację desktopową. Będziemy wtedy spokojniejsi o bezpieczeństwo. logiczne
314 74-5 Zatem wydaje mi się, że aplikacje desktopowe nie znikną, nawet jeśli będzie kontynuowany trend związany z aplikacjami webowymi. logiczne
315 74-6 Mianowicie wydaje mi się, że warto w tym wątku wspomnieć o ChromeOS, który będzie opierał się na wykorzystywaniu aplikacji internetowych. Jeśli system zostanie przyjęty przez użytkowników pozytywnie, może to jeszcze bardziej ugruntować pozycję aplikacji webowych na rynku. Być może programiści zaczną porzucać aplikacji desktopowe i frameworki jak Eclipse RCP czy NetBeans Platform i przerzucą się na Java EE czy Ruby on Rails? hipoteza
316 74-7 Czy właśnie to wróżycie nowemu dziecku Google i wspomnianym framework'om? hipoteza
317 75-0 Aplikacje desktopowe były, są i będą obecne, choćby to ze względów technologicznych. logiczne
318 75-1 Są one: - szybsze - nie wymagają(zazwyczaj) połączenia z internetem - nie są podatne na tzw. „lagi” spowodowane przez przeciążenie serwera(Nie jednego użytkownika przyprawiły one o chęć wyrzucenia komputera przez okno). - można z nich korzystać niezależnie od tego, czy serwer hostujący jest włączony. emocjonalne
319 75-2 W grach np. widać diametralną różnicę między desktopowymi, a webowymi produkcjami(tak, tak, grafika renderowana w czasie rzeczywistym) i wątpię w to, by się ona w najbliższym czasie zatarła. inne
320 75-3 Do tego dochodzi prywatność. Pliki które tworzymy za pomocą programów desktopowych zazwyczaj przechowujemy u siebie na dysku, do którego żadna niepożądana osoba nie ma dostępu. rzeczowe
321 75-4 Patrząc na nowe zlecenia dotyczące tworzenia oprogramowania można odnieść wrażenie, że zapotrzebowanie klientów na aplikacje desktopowe znacząco zmalało w ostatnim czasie. Z tego co zauważyłem to znaczna część klientów woli aplikacje działające w sieci, których nie potrzeba przechowywać na własnych stacjach roboczych. Wydaje się to słusznym rozwiązaniem, ponieważ niezależnie od stacji roboczej na jakiej pracujemy wystarczy nam tylko dostęp do internetu, żeby użytkować program. logiczne
322 75-5 Z drugiej jednak strony nie wszystko da się przenieść lub stworzyć w ten sposób. Istnieje wiele aplikacji pisanych w mało już używanych językach programowania, które realizują ważne funkcje np. w ministerstwach. Przykładem takich programów mogą być pisane w języku Fortran aplikacje dla urzędów w USA. Głównie dla takich aplikacji, musi istnieć wsparcie, żeby mogły one być rozwijane i naprawiane w razie awarii. logiczne
323 75-6 Moim zdaniem nie dojdzie do takiej sytuacji, że aplikacje deskotpowe znikną w przyszłości z rynku. hipoteza
324 76-0 Wiadomo, ze aplikacji desktopowych nie pozbedziemy sie. Nie zamierzam powtarzac tego samego po raz setny. Aplikacje webowe sa bardzo wygodne, ale polityka prywatnosci i praca bez dostepu do neta sprawia, ze desktop jest niezbedny. emocjonalne
325 76-1 Dodam tylko, ze faktycznie zapotrzebowanie na aplikacje desktopowe zmalalo,owszem, ale trzeba uwazac o jakim sektorze mowimy. W przypadku przecietnego zjadacza chleba na dzien dzisiejszy rzadzi web. Teraz juz istnieje mozliwosc pracy offline nawet (google gears, a teraz html5). Gdy mowimy o sektorze finansowym, bankowosc itp, lub stacje robocze w jakis fabrykach to desktop rzadzi. Ale nie sa to aplikacje ktore sciagniemy sobie z rapida. inne
326 76-2 Ja chcialbym zwrocic uwage na cos innego. Wlasnie na frameworki. W koncu to o tym jest ten temat. inne
327 76-3 Czego wymaga od nas, jako programistow, aplikacja webowa i desktopowa? Pisanie tych dwoch rodzajow aplikacji rozni sie znaczaco. hipoteza
328 76-4 Obowiazuja nas rozne wzorce, rozne podejsie. W obu przypadkach trzeba zwrocic uwage na calkiem cos innego. rzeczowe
329 76-5 Podejmujac prace w firmie (lub zakladajac wlasna) musimy sie zdecydowac: web czy desktop? Jednoczesna praca nad aplikacja webowa z wykorzystaniem JEE oraz Ajaxa, a z drugiej strony z poteznym frameworkiem jak NB Platform lub EclipseRCP graniczy z cudem. logiczne
330 76-6 Owszem, mozna, ale albo cos prostego albo cos bedzie do bani. emocjonalne
331 76-7 Bycie dobrym z architektury webowej oraz desktopowowej wymaga wielkiego doswiadczenia. Ktos kto bardzo dlugo pisal jakas duza aplikacje z wykorzystaniem NB Platform na przyklad bedzie mial spory problem z przesiadka. Mam nadzieje, ze kazdy zdaje sobie z tego sprawe. inne
332 76-8 Nie chodzi mi tu o napisanie czegos na kolanie, tylko o porzadne aplikacje. Nie mowie tez o szarym programiscie, ktory sobie poradzi szybko, tlyko o architekcie, ktory bedzie chcial swoje przyzwyczajenia z frameworka, popdatrzone metody itp przeniesc na framework webowy, ktory wymaga calkiem czegos innego. emocjonalne
333 77-0 Nie mogę się z tym zgodzić moim zdaniem nie jest tak, że zapotrzebowanie na aplikacje desktopowe zmalalo, tylko zapotrzebowanie na aplikacje webowe wzrosło. Wiąże się to bezpośrednio z faktem, że coraz więcej grup społecznych ma stały dostęp do internetu i co ważniejsze chce to wykorzystać. Jest sporo aplikacji, które swoje zastosowanie mają tylko przy założeniu, że są to aplikacje webowe np. dzienniki szkolne (odpowiednik USOSa, dla niższych szkół). logiczne
334 77-1 Polemizował bym z tym stwierdzeniem. Nie wiem kto dla Ciebie jest przeciętnym zjadaczem chleba ale większość ludzi korzysta z programów desktopowych. Kilka programów z których taki przeciętny zjadacz chleba będzie korzystać: inne
335 77-2 Wydaje mi się, że zwykły użytkownik z niczego innego nie korzysta. hipoteza
336 77-11 Sądzę, że desktop w każdym sektorze rządzi. Frameworki dla aplikacji desktopowych będą rozwijane i moim zdaniem nigdy nie odejdą do lamusa. hipoteza
337 78-0 Przy taki zdecydowanych stwierdzeniach to ja bym poprosił o wyniki badań które pokazują, ze większość użytkowników ma takie a nie inne preferencje. Inaczej to jest Pana punkt widzenia i tak zdecydowane stwierdzenia nie mają racji bytu. inne
338 79-0 Jesteś w wielkim błędzie. Spojrzeć na to trzeba z innej strony. Użytkownicy (mówię o zwykłych użytkownikach komputera: czyli od czasu do czasu Word, GG i jakiś portal społecznosciowy, czy allegro) są strasznie leniwi. Jak już ktoś się pofatyguje zainstalować przeglądarke i wszystkie ptorzebne komponenty (Java, Flash etc.) to już chce mieć potem święty spokoj. Takie rozwiązanie jest wygodniejsze! inne
339 80-0 Masz prawo tak uważać, ale dziś ludzie są bardzo leniwi. Wolałbyś mieć desktopową aplikację do NK/Facebooka czy webową? Wolisz wejść na “”fejsa“” czy “”naszą“” :mrgreen: z praktycznie każdego kompa, czy nosić na penie exe'ka? emocjonalne
340 82-0 Tak jeżeli chodzi o frameworki i aplikacje webowe to wydaje mi się, że trendy są dwa: a) RIA - bogate frameworki, które moga działać na desktopie i jako aplikacji webowa (z pluginem). Przykładem niech będą Flex, WPF/Silverlight, JavaFX. Zaciera to granice pomiędzy tradycyjną webową aplikacją (opartą na html + css) a tradycyjna desktopową aplikacją (opartą na jakimś systemie kontrolek/widżetów). b) Zyskiwanie przez aplikacje webowe na rzecz desktopowych. Edumtic i eduwiki, z których korzystamy na tych zajęciach to przykłady takich webowych aplikacji. Masywny sukces facebooka i pojawianie się każdego dnia nowych aplikacji webowych nie mogą być zignorowane. Bardzo ciekawe są powody tej migracji: * Aplikacje webowe nie muszą bać się piractwa, wszystko jest wykonywane po stronie klienta. * Aplikacje webowe są z natury modularne - jeśli coś nie zadziała na stronie to zazwyczaj reszta stron działa. Błąd w aplikacji desktopowej często zabija całą aplikację. * Niskie oczekiwania użytkowników - aplikacje webowe może i są szybsze, ale tak naprawdę nikt tego w aplikacjach webowych specjalnie nie potrzebuje - facebook to nie quake. * Niska bariera użytkowania - wystarczy względnie nowa przeglądarka internetowa (i oczywiście internet), nie trzeba nic instalować (wizja instalowania czegokolwiek przeraża znaczną liczbę użytkowników) * Niska bariera tworzenia - języki webowe zazwyczaj są dynamicznie typowane, przyjemnie i ekspresywnie się w nich pisze, języki, w których pisane są aplikacje webowe zazwyczaj są statycznie typowane - szybkie, ale niewygodne. rzeczowe
341 82-1 Oczywiście powódź aplikacji webowych przeżyją aplikacje, których zwyczajnie nie da się przenieść do sieci - gry, aplikacje ciężkie obliczeniowo, aplikacje wymagające bardzo szybko reagującego interfejsu etc. logiczne
342 82-2 P.S. Quake Live - gra, nie jest aplikacją webową. Część webowa to tylko przeglądarka serwerów/profile/friendsi, gdyby usunąć te kawałki to mamy z powrotem Quake 3. rzeczowe
343 83-0 Rozumiem, że pod pojęciem aplikacji desktopowej kryje się szeroko rozumiany typ aplikacji okienkowej. inne
344 83-1 Myślę, że do rozpowszechnienia budowania tego rodzaju interfejsu znacznie przyczynił się system Windows. Budowanie interfejsu okienkowego przy użyciu Win32 i VisualStudio na system Windows to bajka w porównaniu z ręcznym budowaniem, laytów, modeli i dostosowywania kontrolek we frameworkach typu Swing, czy AWT. inne
345 83-2 Rok programowałem w Swingu przez Eclipsa i z doświadczenia, wiem, że Java kuleje bardzo jeśli chodzi o okna, a jej flagowe: “”Write once use everywhere“” nijak się ma do rzeczywistości przy interfejsie okienkowym. inne
346 83-3 NetBeans Platform znacznie upraszcza problem, ale byłbym ostrożny jeśli chodzi o uniwersalność tej technologii. logiczne
347 83-4 Uważam, że desktopy prędzej, czy później sprowadzą się do wysoko wyspecjalizowanych narzędzi(aplikacje typu IDE, photoshop itp.), a zwykły użytkownik(oglądający filmy, używający komunikatora, grający w gry, surfujący po internecie itp) korzystał będzie jedynie z przeglądarki internetowej. hipoteza
348 83-5 Do tej rewolucji szykuje się Google, czając się ze swoim ChromeOS, integrującym w jedno swoje flagowe produkty. inne
349 83-6 Czynnikiem który może również wpłynąć na wyparcie aplikacji desktopowych jest łatwość walki z piractwem w przypadku web aplikacji. Wiele z firm posiadających aplikacje desktopowe traci sporo pieniędzy z powodu piractwa lub też na walkę z nim. W przypadku web aplikacji są one w stanie w 100% weryfikować czy ktoś posiada odpowiednią licencję czy też nie. Nawet jeżeli z utrzymaniem takiej aplikacji po stronie serwera wiązały by się koszty to i tak firmy takie docelowo wyszły by na plus. rzeczowe
350 83-7 Innym czynnikiem jaki może wpłynąć na rezygnacje z aplikacji desktopowych jest brak dostępu do danych z innych miejsc. Z własnego doświadczenia przekonałem się jak bardzo jest to przydatne, kiedy potrzebowałem kiedyś pilnie pewien numer telefonu, a telefon miałem rozładowany. Dzięki temu że telefon miałem “”zbindowany“” z kontem na google mogłem dostać się do tych danch przez przeglądarkę. inne
351 84-0 Widzę, że dość jednomyślnie większość z Was opowiada się za tym że aplikacje desktopowe nie dochodzą do lamusa. hipoteza
352 84-1 Zgodziłbym się z tym, biorąc pod uwagę najbliższe kilka lat. Jednak w perspektywie dłuższego czasu, uważam, że aplikacje webowe całkowicie wyprą desktopowe. hipoteza
353 84-2 Przecież głównym motorem napędowym takich zmian są największe firmy takie jak MS, IBM czy google. Gdyby nie widzieli oni przyszłości w aplikacjach web, nie wspierali by ich i nie inwestowali w nie pieniędzy (chociażby w przypadku CloudComputingu). logiczne
354 84-3 Ktoś wspominał o tym, że jeśli szef jakiejś firmy chce aplikacje desktopową i nie da się go przekonać to nie ma wyjścia. Uważam, że skoro nie da się takiej osoby przekonać to znaczy, że się nie potrafi tego zrobić;] emocjonalne
355 84-4 Prosty przykład: W danej firmie mamy system księgowy. Nasza główna księgowa wyjeżdża na wakacje za granicę. Nagle okazuje się, że “”zapomniała“” wykonać jakiś operacji w systemie. Firma ma problem jeśli korzysta z aplikacji desktopowej ponieważ musimy czekać na powrót z urlopu pracownika. Jeśli korzystamy z aplikacji webowej to pani księgowa w dowolnym miejscu ma możliwość wykonania wymaganych operacji. Przykład może dość abstrakcyjny, ale myślę że idea jest jasna;] inne
356 84-5 Generalnie wraz z dynamicznym rozwojem internetu można zauważyć równie szybki rozwój aplikacji webowych. Zarówno aplikacje web’owe jak i desktopowe mają swoje plusy i minusy, ale stwierdzenie, że „desktop w każdym sektorze rządzi” jest niestety mylne a bynajmniej nie obiektywne. Głównym atutem przemawiającym za aplikacjami web jest możliwość dostępu do nich z praktycznie każdego miejsca na świecie o ile jesteśmy „online” i tutaj bywa różnie. logiczne
357 84-6 Pomijając przypadki gdzie internet jeszcze„ nie sięga ” jest szereg czynników które pracę z aplikacjami webowymi mogą nam znacznie utrudnić (usterki, ograniczenia ze strony providera etc.). Aplikacje desktopowe przywiązują do stanowiska pracy, korzystać z niej możemy o ile jest zainstalowana na danym komputerze i tutaj pojawia się kolejny problem. inne
358 84-7 Tak jak wspomniał Kamil. Użytkownicy są strasznie leniwi , app desktopowe to ciągła instalacja/deinstalacja/aktualizacja itd. inne
359 84-8 Odnosząc się do pytania Patryka o frameworki, myślę że dużą siłą napędową frameworków desktopowych są, wbrew nazwie, aplikacje mobilne. Sprzęt w platformach mobilnych nie posiada zwykle wystarczającej mocy, aby “”udźwignąć“” rich applications oparte na tzw. technologiach webowych, z uwagi na powolność użytych rozwiązań takich jak wykonywany w przeglądarce javascript. Aktualnie dużym sukcesem cieszy się, moim zdaniem doskonały, framework Qt rozwijany przez firmę Nokia. inne
360 84-9 Nie służy on wyłącznie do pisania aplikacji na platformy mobilne (takie jak Maemo/Meego), lecz przede wszystkim jest wpełni rozwiniętym frameworkiem desktopowym, na tyle jednak dobrze zaprojektowanym, iż pisząc taki sam lub bardzo podobny kod można uzyskać oba typy aplikacji. Dodatkową przewagą jest użycie języka C++, który jest kompilowany do kodu natywnego co dodatkowo zwiększa szybkość działania, co jak już wspomniałem, jest ważnym czynnikiem w przypadku platform mobilnych i urządzeń wbudowanych. rzeczowe
361 84-11 A co kiedy urządzenia mobilne zgodnie z prawem Moore'a osiągną już odpowiednią wydajność? ;) hipoteza
362 84-13 Zasadniczo ciekawią mnie poczynania google (www.docs.google.com) przenoszącego każda możliwą z “”podstawowych aplikacji“” potrzebnych userowi do sieci. inne
363 84-14 W sumie cały standard jak komunikatory, pakiety office, zarządzanie naszymi plikami (oczywiście umieszczonymi “”gdzieś“” np. chmurze) jest już wdrożony w wersji online, najczęściej dostępnej za darmo. inne
364 84-15 To właśnie od poczynań takich gigantów i ich polityki będzie zapewne zależało to jak będą się układały trendy za którymi pójdą rzesze zarówno userów jak i programistów. logiczne
365 84-16 Oczywiście nie twierdzę że frameworki dla aplikacji deskopowych odchodzą do lamusa, zasadniczo trudno byłoby sobie to w ogóle na chwilę obecną wyobrazić, bo niby jak bez nich życ? :wink: hipoteza
366 85-0 Ale czy aby na pewno wszyscy chcą, żeby wszystkie ich dane były przetwarzane zdalnie(przy pomocy aplikacji webowych)? Mnie osobiście nie kręci jakoś idea jaką stara się wypromować kilka firm z Googlem na czele. Jednym z pytań które się nasuwają jest właśnie to, co stanie się kiedy nie mamy dostępu do Netu(a na szczęście jeszcze jest dużo takich miejsc)? Czy nie lepiej najważniejsze dane mieć “”pod ręką“”? Widzę, że dyskusja skupia się głównie na kwestiach technologicznych, ale zadajmy sobie także pytanie o kwestie prywatności - czy powierzanie jednej czy kilku wiodącym firmom danych milionów ludzi nie stwarza dla niej zagrożenia? Wiem, że można machnąć na to ręką, ale wydaje mi się że jednak lepiej rozsądnie zapobiegać. hipoteza
367 85-1 Nie jest tak, że jest przeciwny aplikacjom webowym, ale nie jestem też za przerzucaniem na ich barki odpowiedzialności za losy całego świata :wink: emocjonalne
368 86-0 Zaletą pisania aplikacji webowych jest o wiele tańszy i krótszy czas testowania produktu. Na rynku dominują 3-4 przeglądarki, pod które należy przygotować aplikację, dla aplikacji deskopowych niestety nie jest tak łatwo. Konfiguracja sprzętowa + wersja systemu operacyjnego + zainstalowane aplikacje + wcześniejsze wersje naszej aplikacji = o wiele większy czas i koszta testowania aplikacji deskopowej. rzeczowe
369 86-1 Aplikacje webowe są z zasady multiplatformowe (chodzi mi o system operacyjny) - bez większych nakładów pracy aplikacja zadziała na Windowsie, linuksie, Mac Os. Dla frameworków deskopowych np. .Net sprawa nie jest taka prosta - linuksowy odpowiedniki Mono jest stanowczo więcej niż niekompletny, dla Javy występują duże problemy ze stworzeniem identycznej warstwy prezentacyjnej dla Windowsa i linuksa. Teoretycznie tylko Qt wychodzi z tego pojedynku obronną ręką. logiczne
370 86-2 Chciałbym zwrócić uwagę, że czołowi producenci popularnych aplikacji deskopowych stworzyli ich odpowiedniki webowe, przez to zapełnili kolejną lukę osób, którym nie odpowiadały aplikacje deskopowe. Microsoft stworzył webowego Offica (http://office.microsoft.com/pl-pl/web-apps/), Adobe Photoshopa (http://www.photoshop.com/tools?wf=editor). rzeczowe
371 87-0 A nawet w takiej kwestii grunt może się osuwać spod nóg aplikacjom desktopowym, a to za sprawą bardzo ciekawego frameworku do tworzenia gier o nazwie Unity. logiczne
372 87-1 Unity dostarcza bardzo rozbudowany środowisko do tworzenia gier 3D na różne platformy, a jedną z ciekawszych możliwości tego rozwiązania jest opublikowanie takiej gry w wersji web. Osadzamy wtedy naszą grę na stronie internetowej jak obiekt flash czy dowolny inny i każdy kto odwiedzi naszą stronę będzie mógł sobie w nią zagrać. rzeczowe
373 87-2 Dane potrzebne do uruchomienia gry (dźwięki, mapy poziomów, modele 3D) są streamowane jak film, dlatego nie trzeba pobierać całej gry aby zacząć rozgrywkę, wystarczą tylko dane aktualnie potrzebne, a reszta się dociągnie w czasie samej gry. rzeczowe
374 87-3 Tutaj fantastyczne demo pokazujące możliwości silnika. Do uruchomienia potrzebna jest specjalna wtyczka, która jest również do pobrania z tej strony. http://unity3d.com/gallery/live-demos/index.html#bootcamp rzeczowe
375 88-0 Zgadzam się z przedmówcą, Unity zaskakuje możliwościami przy jednoczesnym całkowitym oderwaniu od platformy sprzętowej. Nie narzuca przy tym jedynego słusznego języka programowania. Pierwotnie pomyślany jako narzędzie do tworzenia gier, może znaleźć zastosowanie także choćby w architekturze - jako narzędzie do modelowania interaktywnych obiektów 3D. rzeczowe
376 88-1 Zamiast prezentować klientowi jedynie parę renderów jego nowego mieszkania, możemy dodatkowo umożliwić mu w łatwy sposób przespacerowanie się po nim łącznie z otwieraniem drzwi itp. inne
377 88-2 Czym różnią się te dwa modele dystrybuowania oprogramowania ? Jakie są plusy, a jakie minusy open, closed source ? Lepiej budować zamknięte oprogramowanie i je sprzedawać, czy opierać się na rozwiązaniach open source i dostosowywać je do wymagań klientów ? Jakie są szanse i zagrożenia przyjęcia jednego i drugiego modelu biznesowego ? hipoteza
378 89-0 Moim zdaniem ciężko powiedzieć co jest lepsze. Każdy model ma zastosowanie do innej dziedziny. hipoteza
379 89-2 Open Source pozwala rozwinąć aplikację za darmo, natomiast close source niestety trzeba sporym nakładem pieniędzy. logiczne
380 89-3 Przykład open source to sklep internetowy PrestaShop. inne
381 89-4 Jest to sklep opensource, każdy ma dostęp do podstawych funkcji sklepu, jak wczytywanie plików csv, tworzenie kategorii, koszyk itp. Natomiast prestashop zarabia na dodatkach do tego sklepu, np. aby dodawać do produktów jakieś filmy. inne
382 89-5 Jednak dość często ludzie “”zapominają“” używają aplikacji opensource, aby umieści informację przez kogo została aplikacja stworzona. inne
383 89-6 Closed source najlepszym przykładem jest windows. Każda wersja płatna. A praktycznie na większości komputerach. Rozumiem że ktoś powie Linux, jest taki sam, no ale nie wszystko się uruchamia na Linuxie, a przeciętnemu użytkownikowi, który chce pograć, posurfować w necie i stworzyć dokument w Wordzie, raczej nie będzie instalował innego systemu. (mogę się mylić) inne
384 89-7 Żeby sprzedawać close source trzeba pokazać klientowi, że ma się coś czego nie ma open source. hipoteza
385 90-0 Wśród ludzi panuje przekonanie, że rzeczy które są za darmo, są gorsze. Poza tym odpowiedni marketing też robi swoje, a na to oczywiście trzeba mieć pieniądze. :mrgreen: emocjonalne
386 91-0 Czy są gorsze to chyba nie do końca prawda. hipoteza
387 91-1 Jeżeli mamy aplikację takie jak joomla, drupal, prestashop, php-fusion itp. To wszystko jest darmowe używa tego dużo ludzi i może zostać bardzo dobrze przetestowane w krótszym czasie. Ludzie przy darmowym aplikacjach prawdopodobnie chętniej pomogą niż przy płątnych. Np. w Office czy w innym aplikacja jest pomóż nam rozwijać program itp. czy dużo osób potwierdza tą prośbę? hipoteza
388 91-2 W darmowych chętniej się pomoże, ponieważ sami jesteśmy w stanie coś dopisać przez to czasami może nam się przydać rozwiązanie problemu, które ktoś wcześniej wynalazł. emocjonalne
389 91-3 Zapomniałem napisać o marketingu, tworząc aplikacje opensource mamy link do tej firmy w stopce (albo tylko nazwę), natomiast pisząc tworząć własną aplikację wszystko jest nasze i reklamujemy się nazwą swojej firmy, dzięki czemu mamy plus u klienta bo “”mówimy nasza aplikacje“” a nie “”korzystamy z darmowej wersji, która jest dobra“”. emocjonalne
390 92-0 Jedna z różnic polega na tym, że oprogramowanie o zamkniętym źródle zwykle dostarcza support, chociaż jakość tego supportu bywa różna. Ale tak na prawdę to jest tutaj detal. inne
391 92-1 Otwarte oprogramowanie rozwija się szybciej, dlatego że każdy kto ma jakiś pomysł i umiejętności może nasze oprogramowanie wziąć i zrobić z niego coś lepszego. logiczne
392 92-2 Podobna sytuacja miała miejsce z silnikiem baz danych, o którym wspominał dr Dyczkowski. inne
393 92-3 Ktoś stworzył projekt, po czym przestał go rozwijać. Kod otworzono i inni ludzie zaczęli go rozwijać dalej. Kiedy zaczęło coś sensownego z tego wychodzić kod znowu zamknięto. Gdyby nie otwarte źródło, nie powstał by darmowy Firebird, a pierwotna organizacja nie miała by swojego produktu w sensownej postaci. Opłaciło się to wszystkim. rzeczowe
394 92-4 Z drugiej strony, jeżeli wpadniemy na genialny pomysł i wydamy go jako open source, to może się znaleźć ktoś inny, kto weźmie nasz pomysł dołoży swój i zarobi na tym miliony. My zostaniemy +/- z niczym. emocjonalne
395 92-5 Zatem główną wadą open source'a jest to, że zdecydowanie trudniej na nim zarobić :P inne
396 93-0 Trzeba zadać pytanie co ma Open/Closed Source do zarządzania projektem - co jest moim zdaniem sporym aspektem tej dyskusji. hipoteza
397 93-1 Jeżeli istnieje dobra społeczność chętna pracować, to projekt open source ma ogromne szanse stać się czymś “”skończonym“” (cokolwiek by to miało znaczyć). Jednak wielu projektom OS brakuje dobrego zarządzania. Należą do “”wszystkich, czyli do nikogo“”, więc nikomu nie śpieszy się z ich rozwijaniem. W myśl zasady “”niech zrobią to inni“”, ciężko jest jednak wskazać tych “”innych“”, którzy nie wypełniają swojej roboty. emocjonalne
398 93-2 Projekty zamknięte, zazwyczaj posiadają jakąś osobę odpowiedzialną, której zależy na rozwoju (np. dla zysku, albo sławy :) ). To popycha rozwój oprogramowania. inne
399 93-3 Podsumowując, uważam że rozwój oprogramowania open source jest ściśle związany z tym czy ktoś się przyznaje jako właściciel (opiekun) danego projektu. Spójrzmy na wsparcie dla takich rozwiązań jak Nokia Qt, albo Apache, za te projekt są odpowiedzialne firmy, które pilnują jakości i narzucają plan rozwijania projektów. hipoteza
400 93-4 Z drugiej strony szali możemy postawić wiele społecznościowych dystrybucji Linuxa, które zniknęły z rynku po tym jak pojawiły się problemy i dyskusje, a nie było żadnego właściciela, który wskazałby odpowiednią drogę. inne
401 94-0 Moim zdaniem przeciętne aplikacje OS, w tej formie w której teraz są dostępne, niestety nie mogą konkurować za bardzo ze zwykłymi aplikacjami. Wyjaśniam dlaczego: hipoteza
402 94-1 - Zazwyczaj jakość kodu, który jest otwarty jest nieporównywalnie niższa. Spowodowane to jest podejściem programistów, słomianym zapałem niektórych ludzi oraz brakiem zaangażowania w projekt, z którego nie da się utrzymać. - Projekty nie są zarządzane w profesjonalny sposób. - System to nie tylko aplikacja, ale wsparcie do niej itp. - Projekty z zamkniętym kodem niosą za sobą duże straty w przypadku ich nieukończenia - niestety w projektach OS brakuje takiego aspektu, dlatego często umierają same śmiercią naturalną. emocjonalne
403 94-2 Z drugiej strony nie twierdzę, że wszystkie aplikacje OS są do niczego. Sam używam kilku aplikacji i jestem zadowolony, ale zazwyczaj są to aplikacje wspierane przez wielkie przedsiębiorstwa i tylko dlatego ich jakość jest taka wysoka. inne
404 94-3 Tak sobie czytam wasze wypowiedzi i naszlo mnie pytanie co się bardziej oplaca dla firm, zakupienie oprogramowania clsoed source czy uzyskanie oprogramowania open source? Jakie koszta pociagnie za soba wdrozenie open a closed source? hipoteza
405 94-4 Doszedlem do wniosku, ze bardziej oplaca sie wdrazac systemy open source(oczywisice jesli istnieje odpowiedni do naszych potrzeb). Mysle iz wdrozenie otwarto zrodlowych programow zamknie sie w klosztach wsparcia technicznego i szkolen pracownikow, a w closed source mamy opragromowanie+ abonament na wsparcie techniczne + szkolenia pracownikow. logiczne
406 95-0 I tak, i nie. Przecież są projekty OS, które posiadają szeroki support i szkolenia. Na przykład różne dystrybucje Linuxa są dostępne z płatnym supportem, więc można mieć aplikację za darmo oraz solidne wsparcie. rzeczowe
407 95-1 Jednak wiele systemów/aplikacji pisanych jest przez społeczność i tu jest pytanie. Czy Kowalski - pracownik firmy z działu księgowości będize miał chęć znaleźć rozwiązanie w sieci? W takim przypadku trzeba by mieć przeszkolonego człowieka od udzielania supportu (koszta!). hipoteza
408 95-2 W przpyadku programów płatnych można zawsze wymóc support. W końcu jak się płaci, to się wymaga, a dla klienta sprzedawcy zrobią wszystko. emocjonalne
409 96-0 Najbardziej odpowiada mi model, który wytworzył się w środowisku Javovym, a który został zapoczątkowany przez Apache Foundation. Pisząc aplikację na platformę J EE z jednej strony mamy dostęp do komercyjnych elementów infrastruktury posiadających dobre wsparcie techniczne (jak serwery aplikacyjne, systemy kolejkowe, szyny etc.), z drugiej strony mamy szereg bibliotek programistycznych open source, dostępnych na licencjach pozwalających na wykorzystywanie w projektach komercyjnych (jak Apache License). rzeczowe
410 96-1 Biblioteki programistyczne z otwartym kodem źródłowym posiadające licencję umożliwiającą zastosowanie w celach komercyjnych mają kilka zalet. Po pierwsze każdy może je pobrać i ich użyć. Programista/projektant/architekt może zatem ułatwić pracę sobie i swojemu zespołowi unikając jednocześnie pytań ze strony kierownictwa projektu w rodzaju “”Po co wam framework do serializowania obiektów do postaci XML za 10000$? Mamy napięty budżet. emocjonalne
411 96-2 Przecież możecie wygenerować XML ręcznie?“”. Po drugie dostępność otwartych bibliotek sprawia, że łatwiej znaleźć znającego je programistę (Ilu programistów miało do czynienia z Hibernate, a ilu z komercyjną wersją TopLinka?). Po trzecie sam dostęp do kodu źródłowego biblioteki bywa w niektórych sytuacjach nieoceniony np. można podpiąć kod źródłowy do debuggera i założyć pułapkę niżej/wyżej niż ma to miejsce w przypadku aplikacji bazującej na zamkniętych bibliotek. inne
412 96-3 Z drugiej strony zrzucenie odpowiedzialności za prawidłowe działanie takich usług jak klastrowanie instancji serwera aplikacyjnego czy failover na komercyjne komponenty infrastruktury pozwala firmie zmniejszyć ryzyko związane z utrzymywaniem aplikacji. logiczne
413 96-4 Dlatego uważam, że najwygodniejszy dla producenta oprogramowania model biznesowy to: 1. Wykorzystać komercyjne komponenty środowiska uruchomieniowego (serwery aplikacyjne, systemy kolejkowe, chmurę). 2. Okleić komponenty z pkt. 1 rozpowszechnionymi otwartymi bibliotekami z licencją umożliwiającą zastosowanie w projektach komercyjnych. 3. Sprzedać usługę lub zamkniętą aplikację bazującą na punktach 1 i 2. hipoteza
414 96-5 To dość obszerny temat, moim zdaniem wszystko zależy od tego jaki cel chcemy osiągnąć. hipoteza
415 96-6 Jeśli zależy nam na jakimkolwiek rozwoju, a nie dysponujemy środkami czy wiedzą OS może nam w tym pomóc. Niesie to za sobą oczywiście problemy związane z nieładem i błędami w kodzie, nieskończoną liczbą nic nie wnoszących wersji ( w skrajnych przypadkach różnią się jedynie np. lepszym zestawem motywów wizualnych) itp. logiczne
416 96-7 W celach zarobkowych CS sprawdza się lepiej. Mamy kontrole nad rozwojem oprogramowania ale wiąże się to z poniesieniem kosztów. Jeśli projekt okaże się nieudany (np. nie trafi w branżę lub nie będzie przyjazny dla użytkowników) to padnie, a poniesionych kosztów nie da się w takim przypadku odzyskać. logiczne
417 96-8 Jeśli projekt OS jest odpowiednio zarządzany i w procesie implementacji oprogramowania biorą udział pasjonaci (ew. osoby posiadający pewien pozom umiejętności) to przedsięwzięcie ma szanse powodzenia (także finansowego). W takim przypadku każdy może coś wnieść do projektu, nie koniecznie kawałek kodu. inne
418 97-0 Moim zdaniem to strasznie szerokie uogólnienie. Nie ma czegoś takiego jak “”przeciętna“” aplikacja. inne
419 97-1 Spowodowane to jest podejściem programistów, słomianym zapałem niektórych ludzi oraz brakiem zaangażowania w projekt, z którego nie da się utrzymać. rzeczowe
420 97-2 Nie wiem skąd czerpiesz informacje o jakości kodu zamkniętego skoro jest zamknięty. Jak dotychczas najbardziej pełne porównanie kodu dużych projektów jakie widziałem, to praca Diomidisa Spinellisa porównująca kernele FreeBSD, Linux 2.6.18, Solaris i Windows Research Kernel (z grubsza kernel Windows Vista)http://www.spinellis.gr/pubs/conf/2008-ICSE-4kernel/html/Spi08b.html. Linux wypada moim zdaniem lepiej od Windowsa (przeczytałem całą pracę). rzeczowe
421 97-3 Akurat jeśli chodzi o jakość kodu to środowisko FLOSS ma w tym punkcie dość łatwo, bo do masy projektów zgłaszają się ludzie, którzy nie umiejąc za dobrze programować, cieszą się wkładem do projektu w postaci sprzątania. inne
422 97-4 Ciężko też przychylić się do tego argumentu, chociażby ze względu na dotychczasowe historie z otwieraniem kodu dużych aplikacji zamkniętych. rzeczowe
423 97-5 Praktycznie każda taka historia zaczyna się od gruntownego przepisania kodu do czytelniejszej wersji. Było tak w przypadku Quake2, Quake3, blendera czy Netscape Navigator. inne
424 97-6 Zatem ten argument uważam za nietrafiony. Zwłaszcza w świetle jakości kodu dużych aplikacji, które zostały otwarte. logiczne
425 97-7 Projekty, które nie są prowadzone w profesjonalny sposób umierają. I jest to moim zdaniem jedna z największych zalet FLOSS. Naturalna selekcja pozostawi najlepszych i najpotrzebniejszych logiczne
426 97-8 Dlaczego aplikacje FLOSS nie radzą sobie zatem na naszych biurkach? Duże projekty tego typu najczęściej utrzymują się ze wsparcia, i te radzą sobie zazwyczaj bardzo dobrze. Ale utrzymanie ze wsparcia aplikacji desktopowych nie działa. Dlaczego? Bo jeżeli użytkownik potrzebuje wsparcia do aplikacji dekstopowej, to przegrałeś. Tutaj ten model biznesowy nie zadziała. hipoteza
427 97-9 Warto też się czasem zastanowić, czy jeżeli moglibyśmy korzystać w naszej pracy z projektu FLOSS gdyby nie jedna brakująca funkcjonalność to nie taniej wyjdzie opłacić kogoś do napisania tej funkcjonalności niż kupować licencje. inne
428 98-1 To zależy, uważam, że przykładowo do gier sieciowych kod nie powinien być dostępny, ponieważ wiadomo, że przy otwartym kodzie łatwiej znaleźć błędy i to może być wykorzystane do ‘kantowania’ :) logiczne
429 98-2 Ale jeśli chodzi o programy czy OS to jak najbardziej otwarty z tego względu, że po pewnym czasie błędy zostaną wyeliminowane :) logiczne
430 98-3 No i na zakończenie tak jak mówił Stallman w filmie Linux Code, Open Sorce jest jak przepis na ciasto, jeśli go masz to zawsze możesz coś dodać od siebie, coś ulepszyć, itd. ;-) inne
431 99-0 Fakt zwykle jest tak że dostajemy wsparcie techniczne razem z oprogramowaniem o zamkniętym kodzie, lecz społeczność rozwijająca programy open source jest znakomitym wsparciem, czasami nawet uzyskamy szybciej rozwiązanie naszego problemu. inne
432 99-1 A jeśli nie, to zawsze możemy skorzystać (oczywiście za odpowiednią opłatą) z wyspecjalizowanych firm. Przykładowo dla wspomnianego przez Łukasza CMS Drupal-a istnieje wiele firm specjalizujących się w wdrożeniach systemu, pomocy technicznej, hostingu oraz szkoleniach. Przykładowy spis firm poniżej: http://drupal.org/drupal-services rzeczowe
433 99-3 Dzięki temu open source daje możliwość zarobienia innym. logiczne
434 100-0 Pozwolę się nie zgodzić z powyższym twierdzeniem. Zasada “”Security by obscurity“” nie działa nigdy. emocjonalne
435 100-1 Wielokrotnie udowodniono, że jest dokładnie odwrotnie. Im system jest bardziej otwarty, tym większa szansa, że jest bezpieczny. http://pl.wikipedia.org/wiki/Zasada_Kerckhoffsa rzeczowe
436 101-0 W biznesie możemy nie mieć takiego wyboru, ponieważ klient/projekt może nie zezwalać na udostępnianie kodu aplikacji, bo jeśli płaci za pracę programistów to dlaczego inni mają korzystać z niej za darmo? Chyba takim powodem kieruje się większość firm komercyjnych tworzących oprogramowanie.. hipoteza
437 101-1 Jestem jednak pełen podziwu dla p. R. Stallmana od którego chyba cały ruch open-source się rozpoczął. (http://en.wikipedia.org/wiki/Open_source_movement) rzeczowe
438 101-2 Czy uważacie, że firmy komercyjne zmienią swoje modele biznesowe i spróbują się wpisać w ten nurt? tzn. czy kiedyś Apple lub Microsoft udostępnią swój kod.. hipoteza
439 101-3 A jeśli firma płaci swoim programistom za pracę, i na ich pracy zarabia, to dlaczego ma pozwalać zarabiać na tym innym firmom (oddając im w ten sposób część zysków)? Trzeba tu rozgraniczyć, że jedne rzeczy tworzy się dla kasy, a inne dla idei. hipoteza
440 102-0 Pozwolę sobie nieco zacieśnić obszar rozpatrywania czy lepsze jest oprogramowanie open, czy closed-source. Zastanówmy się tylko i wyłącznie nad dwoma pakietami biurowymi, które są raczej wszystkim dobrze znane. inne
441 102-1 Rozpatrzmy pakiety MS Office i OpenOffice. Pierwszy z nich, to komercyjny pakiet Microsoft'u, za który trzeba dość słono zapłacić. Drugi z nich to open-source, który nic nas nie kosztuje. Obydwa oferują bardzo zbliżone funkcjonalności. Pokusiłbym się nawet na stwierdzenie, że w obydwu można wykonać praktycznie to samo. Jeśli chodzi o łatwość obsługi, to każdy z was ma pewnie swojego faworyta, ale ogólnie ich obsługa nie nastręcza większych problemów. inne
442 102-2 Zatem logicznym jest stwierdzenie, że OpenOffice powinien być bardziej popularny. W końcu jest darmowy. Tak jednak nie jest - jest wręcz odwrotnie. Zdecydowana większość firm pracuje na MS Office i na Windows'ach (a nie darmowych dystrybucjach Linux'a). Nawet pracownicy naszego wydziału. Dlaczego tak jest? hipoteza
443 102-3 Ostatnio usłyszałem opinię, że Microsoft przyzwyczaił użytkowników do swojego oprogramowania. Muszę się całkowicie zgodzić z tą wypowiedzią. Jakby nie patrzeć większość przeciętnych użytkowników utożsamia edytor tekstu z MS Word i jest tak od lat. Właśnie - mamy odpowiedź. MS Office jest na rynku od 1989 roku i użytkownicy przyzwyczaili się do niego. inne
444 102-4 Microsoft ma całkiem przystępną politykę cenową dla sektora edukacyjnego. W szkołach uczymy pracować się na MS Office. Nikt nie lubi zmian i skoro umiemy obsługiwać dobry pakiet biurowy, którym MS Office niewątpliwie jest, to po co uczyć się nowego? Dlatego OpenOffice i inne darmowe pakiety biurowe nie mogą zdobyć większości na rynku. logiczne
445 102-5 Podsumowująć, wydaje mi się, że nie można powiedzieć tak po prostu co jest lepsze: open, czy closed-source. Gdyby fakt, że programy open-source są darmowe byłby przesądzający, to na rynku nie byłoby produktów komercyjnych. Jednak one istnieją, czy to przez nasze przyzwyczajenie, czy też po prostu pozwalają na więcej w stosunku do programów darmowych. W każdym razie niech każdy wybierze co lubi. logiczne
446 103-0 Odnosząc się do wypowiedzi kolegi zgodzę się, że bardziej popularnym pakietem biurowym jest MS Office, lecz trzeba wziąć tu pod uwagę jedną bardzo ważną rzecz, a mianowicie legalność używanego oprogramowania. Firmy aby ustrzec się wysokich kar muszą wykupywać licencje na oprogramowanie, lecz użytkownicy prywatni mają tendencję do ściągania z Internetu “”darmowych“” wersji swoich ulubionych programów czyli tzw. piratów. inne
447 103-1 Obecnie nie ma najmniejszego problemu ze znalezieniem interesującego nas pakietu biurowego firmy Microsoft, które będzie działało u nas bez zakupu licencji (oczywiście nie polecam takiej wersji, nigdy nie wiadomo co dokładnie zmodyfikowali crakerzy). Tak jak pisał kolega, użytkownicy bardzo przyzwyczajają się do programów na których wcześniej pracowali i które się sprawdziły, więc mając możliwość pobrania “”darmowego“” pakietu MS Office niejako zwiększając tym jego popularność na rynku. inne
448 104-0 Zauważmy, że proces “”przyzwyczajania użytkowników do programów“” zaczyna się już w szkole - gdzie na każdej technologii informacyjnej dzieciaków uczy się obsługi Worda i Excela, w ogóle nie wspominając o istnieniu Writera czy Calca. Smutna prawda jest taka,że nie ludzie nie używają tego co lepsze, tylko tego co “”modne“” (czyli reklamowane). emocjonalne
449 105-0 W takim razie w szkołach i na uczelniach zajęcia dot. pakietów biurowych powinny być prowadzone nie tylko na produktach Microsoftu albo OpenOffice, ale z wykorzystaniem kilku pakietów. Należy przedstawić użytkownikom wszystkie alternatywy i dać możliwość wyboru. hipoteza
450 105-1 Każdy pakiet ma swoje wady i zalety… logiczne
451 105-2 Nie należy zapominać również o narzędziach typu TeX, które również w pewien sposób wpisują się w nurt narzędzi biurowych (jako edytor tekstów). inne
452 106-0 Mówiąc szczerze, od większości użytkowników po przedstawieniu im alternatyw i pozostawieniu wyboru pakietu biurowego, spodziewałbym się czegoś w rodzaju wybudzenia ze snu, w który użytkownika wprowadził ów wykład i sentencji w stylu: “”aha, a który jest najlepszy?“” 8) inne
453 106-2 Albo na przykład: “”no to wszystko ładne jest co Pan mówi, może to co Pan mówi jest nawet dużo wygodniejsze i szybsze, ale ja jestem zadowolony z tego co mam, ja tam i tak tylko listę zakupów robię…" inne
454 107-0 Czyli wnioski: użytkownik nie lubi podejmować wyboru, użytkownik nie lubi zmian, użytkownik jest zadowolony, że stan zastany umożliwia mu to czego potrzebuje. hipoteza
455 108-0 Definicja Wolnego Oprogramowania opublikowana przez FSF: Oprogramowanie wolne udziela odbiorcom 4 wolności: * wolność uruchamiania programu, w dowolnym celu (wolność 0) * wolność analizowania, jak program działa, i dostosowywania go do swoich potrzeb (wolność 1) * wolność rozpowszechniania kopii, byście mogli pomóc sąsiadom (wolność 2) * wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3). rzeczowe
456 108-1 Jako warunek konieczny wolności 1 i 3 jest wymieniony dostęp do kodu źródłowego. rzeczowe
457 108-2 Tylko jeżeli program spełnia wszystkie cztery wolności jednocześnie, może być uznany za Wolne Oprogramowanie. Jeśli nie spełnia dowolnej z nich- jest zamkniętym oprogramowaniem. logiczne
458 108-3 Lepiej budować zamknięte oprogramowanie i je sprzedawać, czy opierać się na rozwiązaniach open source i dostosowywać je do wymagań klientów ? hipoteza
459 108-4 To zależy od specyfiki oprogramowania- np. jak było mówione niedawno na wykładzie jeżeli sprzedajemy oprogramowanie wspierające jakieś przedsiębiorstwo, to klient nie nagnie z chęcią swojego biznesu do naszego produktu i jeszcze za to zapłaci, ale to my mamy dostosować swój produkt do niego. inne
460 109-0 Nie do końca tak jest. Rozwiązanie prostych, często spotykanych problemów faktycznie można szybko odszukać, natomiast odnalezienie rozwiązania w bardziej skomplikowanych problemów wiąże się z przebiciem przez multum bezwartościowych wypowiedzi i porad. emocjonalne
461 109-1 Odnośnie porównania edytorów komercyjnych i darmowych trzeba wziąć pod uwagę drobny fakt,iż większość dużych przedsiębiorstwo wymaga od podwykonawców dostosowania się do pewnej formy współpracy. Spotkałem się np. z odrzuceniem oferty przetargowej z powodu “”błędnego“” formatu pliku (.odt). Oczywiście to skrajny przypadek. Pewne trendy napędza rynek, firmy korzystające z darmowego oprogramowania tego typu są gorzej postrzegane. Tak mi się wydaje. Zaznaczam, że ja tak nie uważam :) inne
462 110-0 Jak już wspomniano, ludzie wolą używać oprogramowania które znają, do którego się przyzwyczaili i wykazują dużą niechęć do zmian. Uważam jednak, że ten problem sięga głębiej. Z punktu widzenia przeciętnego użytkownika komputera, który jest laikiem, idea OS bywa user-unfriendly. Weźmy pod uwagę choćby rozgałęzienia projektów. Większość ludzi słyszała o Linuxie, ale mało kto z nich zdaje sobie sprawę, że nie jest to jednolity system. inne
463 110-1 Jak powiem przeciętnemu Kowalskiemu, że ma tu 100 różnych dystrybucji (trudne słowo, już się kolana uginają) systemu z rodziny Linux, w dodatku niekoniecznie w 100% kompatybilnych ze sobą, to zapewne ucieknie z krzykiem “”Ja chcę do mojego XP“”. To samo tyczy się OpenOffice - powstają różne wersje wśród których można się zgubić, a sam produkt wydaje się być “”rozmyty“”. emocjonalne
464 110-2 Wadą OS jest także podatność na konflikty. W komercyjnym projekcie o zamkniętym źródle ludzie robią to, co im się każe bo dostają za to pieniądze. Nie twierdzę, że jest to lepsze rozwiązanie, ale zapewnia jakąś spójność. W OS bywało już tak, że projekt się branchował i rozwijane były dwa produkty implementujące te same funkcjonalności, co jest marnowaniem czasu i pracy programistów, tylko dlatego, że ktoś się pokłócił. logiczne
465 111-0 Muszę się nie zgodzić z tym, że OO jest dobrym odpowiednikiem MS office. hipoteza
466 111-1 Weźmy na przykład open office 2.3 czyli wersje z około 2007 roku. Wiedząc jak często jest zmieniane oprogramowanie w firmie sadzę, że jest to dobra wersja do porównania. Owszem możemy zmieniać oprogramowanie co wyjście nowej wersji ale większość pracowników chyba nie będzie z tego powodu szczęśliwa. Porównajmy ją teraz do MS office 2000 (7 lat starszy). W MS office nie mamy problemu z listami numerowanymi jaki zauważyłem w materiałach z przedmiotu DB2. inne
467 111-2 Otwierany plik w MS office listy w różnych częściach pliku były numerowane od początku a w OO ciągiem, ten sam problem widziałem jeszcze kilka razy. Teraz z kolei weźmy Impressa i PowerPointa. Osobiście w Impressie nie potrafię znaleźć gdzie się wstawia tabele do slajdu bądź pole tekstowe. Wydawało by się, że menu Wstaw powinno nam pokazać opcje „Tabele”, „Pole Tekstowe” no ale ich tam brak niestety. Od jakiegoś czasu (z lenistwa) nie chcę mi się zdobyć MS office i pracuje na wspomnianej wersji OO, muszę przyznać, że jest to katorga. inne
468 111-3 Weźmy teraz Linuxa sprzed kilku ładnych lat, żeby zainstalować w Red Hacie kartę graficzną trzeba było ręcznie edytować różne pliki tekstowe z czym nie poradzi sobie przeciętna osoba i już dochodzi konieczność wołania specjalisty od IT z każdym problemem. inne
469 111-4 Czasy się zmieniają, OO ewoluuje a kartę graficzną w Linuxie instaluje się prościej. Problem jest natomiast taki, że biorąc przeciętną małe przedsiębiorstwo, oprogramowanie zmieniają raz na kilka lat. Jeśli w 2007r. OO się nie nadawał do używania przez firmę która chce być uznawana za poważną to nic dziwnego, że wybrali w tym okresie MS office i że wybiorą ponownie. Słyszałem kilka razy, że firma woli zapłacić za produkty Microsoftu niż mieć potem problemy i wcale się nie dziwie. inne
470 111-5 Produkty Microsoftu od dawna spełniają oczekiwania klientów czego niestety nie możemy powiedzieć o części wolnego oprogramowania. hipoteza
471 112-0 ciężko mi się jest nie zgodzić z kolegą wyżej. Próbowałem przekonać się do wielu dystrybucji linuxa (Mandriv, Debiana, Ubuntu, Gentoo) i poza faktem że miałem znaczną kontrole nad systemem, mogłem go zoptymalizować to barierą nie do przejścia było szukanie zamienników programów z Windowsa. inne
472 112-1 Nikt mi nie powie ze GIMP jest lepszy od PS a linux łatwiejszy w obsłudze od Windows 7. Co z tego ze linux się nie “”psuje“” jak windowsa możne obsłużyć nawet kilku letnie średnio zdolne dziecko a do linuxa trzeba posiadać już “”jakś“” wiedzę i nieraz zainstalowanie głupiego programu wymaga zmiany repozytoriów albo innych dziwnych rzeczy emocjonalne
473 113-0 Nie do końca się z tym zgodzę (pozwolę sobie zahejcić). Już jakiś czas temu czytałem o ciekawym eksperymencie, który polegał na tym, że dwóch ludzi z zerową wiedzą o komputerach “”posadzono“” przed Windowsem i Ubuntu. Radzili sobie podobnie (oczywiście mieli do wykonania jakieś proste rzeczy typu napisanie dokumentu, czy przeglądanie zdjęć). Problemem jest bardziej to, że ludzie są bardziej przyzwyczajeni do systemow Windows (przynajmniej w Polsce). I stąd taka niechęć do zmian. inne
474 114-0 Open source na serwerze, closed source na desktopie. hipoteza
475 114-1 W teorii oprogramowanie open source ma masę zalet - jest darmowe (epsilon ewentualna kompilacja), źródła są dostępne, mogę łatkę łatwo napisać. Niestety jak to zwykle bywa teoria ma niewielkie szanse w starciu z praktyką. Desktopowe aplikacje, które mnie interesują bardzo rzadko są na licencji open source: mirc, total commander, hamachi, tasktop i inne dziwne aplikacje. Te rzeczy, które wymieniłem to różne niszowe rzeczy, którymi się interesuje niewielka ilość ludzi, pośród których znalazł się developer chętny coś takiego napisać. inne
476 114-2 Niewiele osób ma w sobie tyle altruizmu, żeby poświęcać swój czas na pisanie oprogramowania i wypuszczanie go za darmo. Model ekonomiczny dla desktopowych aplikacji closed source się sprawdza: znajdź niszę, napisz oprogramowanie, sprzedawaj. Z open source bywa różnie i sukces odnoszą, głównie te projekty (LibreOffice, Linux, Firefox), które mają komercyjne wsparcie, pozostałe najczęściej umierają przez zapomnienie. logiczne
477 114-3 Inaczej wygląda sytuacja na serwerze - tam chcę mieć świadomość, że kod aplikacji jest dostępny, zaudytowany przez masę ludzi i w konsekwencji wolny od błędów. “”Given enough eyeballs, all bugs are shallow“”. emocjonalne
478 114-4 Oszukiwanie w grach komputerowych dzisiaj nie ma związku z samymi błędami w grze. Same błędy w grach są (najczęściej) względnie szybko paczowane przez producenta. Plagą za to jest (nieetyczny, nielegalny, nielubiany) biznes, który sprzedaje graczom “”wspomagacze“” niezależnie od tego czy gra ma kod zamknięty czy otwarty. inne
479 114-5 Kilka przykladow z youtube'a: http://www.youtube.com/watch?v=uwgZj6TcIdk http://www.youtube.com/watch?v=nCx4zzaKoEU rzeczowe
480 114-6 Podobno nawet w szachach przez internet jest to problem - ludzie instalują superprogram do grania w szachy (Fritz, Rybka) i za jego pomocą grają. inne
481 115-1 Wszystko zależy od indywidualnych preferencji i przyzwyczajeń użytkowników. Wcześniej były porównywane pakiety Open Office i MS Office. Według mnie na OO pracuje się jak na biedniejszym bracie MS. OO jest zawsze z tyłu za MS. Z kolei patrząc na przeglądarki internetowe, firefox przewyższa niemal pod każdym względem IE i chociaż to IE jest instalowane z każdym windowsem, to jego popularność z roku na rok maleje. logiczne
482 115-2 Popularność używania przeglądarek na świecie(dane z października 2010 wg serwisu StatCounter): - IE - 49% - Mozilla Firefox - 31% - Inne - 20% rzeczowe
483 115-3 Popularność używania przeglądarek w Polsce (dane z października 2010 wg serwisu StatCounter): - Mozilla Firefox - 53% - IE - 20% - Inne - 27% rzeczowe
484 115-4 Gdzie dla porównania w 2005 roku z IE korzystało ponad 80% użytkowników, a z firefoxa zaledwie 8%. rzeczowe
485 115-5 Wynikałoby z tego, że jeśli produkt jest dobry (nie ważne czy open czy close source), to użytkownicy prędzej czy później to zuważą (oczywiście reklama robi swoje) i zaczną z niego korzystać. logiczne
486 116-0 W tym właśnie rzecz czy nie lepiej przekonać naszego klienta, że powinien płacić nie za nasz kod tylko doświadczenie, suumienność i fachowość względem zaganienia, którego dotyczy program. Czy to, że upubliczniami kod nie podnosi czasami naszej wiarygodności ? hipoteza
487 116-1 Znasz jakieś przykłady, że firma kupująca oprogramowanie chce mieć na nie wyłączność, aby nikt inny z niego nie korzystał (poza zastosowaniami militarnymi) ? emocjonalne
488 117-0 Większość takich transakcji jest objęta umowami poufności, więc trudno podać jakieś konkretne przykłady. Na myśl przychodzi mi oprogramowanie do obsługi linii produkcyjnych w fabrykach. Może ono integrować procesy produkcyjne (oczywiście powinno być uniwersalne, ale nie w tym rzecz), które firma chce zatrzymać dla siebie. inne
489 118-0 Wybieranie między open source, a closed source jest tak naprawdę fikcyjnym wyborem. Prawdziwy wybór istnieje między free software, a non-free software. Niestety większość ludzi nie widzi różnicy między terminem “”open source“”, a “”free software“” jednak różnica jest znaczna. Na oprogramowanie z szeroko dostępnym kodem mogą być natomiast nałożone dodatkowe ograniczenia (dobrym przykładem jest Microsoft Shared License), co jest niedopuszczalne w przypadku Wolnego Oprogramowania. inne
490 118-1 Problem wolnego oprogramowania jest tak naprawdę problemem społecznym, o daleko posuniętych reperkusjach, a nie zaledwie problemem technicznym. Jak Bogna przytoczyła, za Wikipedią, wolne oprogramowanie nie narzuca na użytkownika, bądź dewelopera żadnych ograniczeń, może on dowolnie modyfikowac, rozpowszechniać i analizować dany produkt. Celem ruchu na rzecz wolnego oprogramowania jest propagowanie użytkowania wolnego oprogramowania w domach, bądź organizacjach, a także lobbowanie na rzecz otwartych standardów, tak aby każdy mógł cieszyć się wymienionymi wyżej prawami. rzeczowe
491 118-2 Niestety przyszło nam żyć w czasach, gdy te prawa nie są wcale takie oczywiste i niejednokrotnie musimy walczyć o to, aby np. móc instalować dowolne aplikacje na własnych urządzeniach (produkty firmy Apple, niektóre urządzenia Android), a firmy ponoszą duże straty z powodu tzw. corporate lock-down bez możliwości przemigrowania na otwarte platformy. emocjonalne
492 118-3 Wybór wolnego oprogramowania zamiast rozwiazań zamkniętych jest więc wyborem o naturze etycznej. Oczywiście czasem wolne oprogramowanie jest technicznie gorsze, ma mniej funkcji, nie jest dostatecznie stabilne - jednak użytkowanie oprogramowania, które szanuje wolność i prawa użytkownika wiąże się ze znaczną przewagą moralną i dlatego zawsze przedkładam Free Software nad wszelkie rozwiązania typu “”proprietary“”. logiczne
493 119-0 Ja także jestem zwolennikiem uwalniania kodu (z paru różnych względów). emocjonalne
494 119-1 Np. - moim zdaniem firma wyda mniej wdrażając oprogramowanie open source a później płacąc za niewątpliwie potrzebny support niż wdrażając closed source… a później płacąc za support ;) - w przypadku otwartego źródła nad kodem pracują dziesiątki, setki, tysiące programistów więc jeżeli nasz lokalny “”team“” w firmie będzie miał problemy z uporaniem się z jakimś błędem jest duża szansa że reszta społeczności go wspomoże - podobnie z bezpieczeństwem, co prawda bug w oprogramowaniu łatwiej jest znaleźć kiedy mamy jego źródła, jednak z rzeszą pracujących nad kodem ludzi łatwiej jest ten błąd usunąć inne
495 119-2 BTW jak wiadomo w praktycznie każdym programie jest zawsze jeszcze jeden błąd :) inne
496 120-0 Przykład słabej jakości kodu open source: team Firefoxa mówi “”most Linux drivers are so disastrously buggy“” http://news.slashdot.org/story/11/01/16/0657240/Why-Linux-Loses-Out-On-Hardware-Acceleration-In-Firefox rzeczowe
497 120-2 Istnieje wg mnie pewna prawidłowość na rynku dotycząca popularności i rozwoju open source. hipoteza
498 120-3 Ubuntu - rozwijane przez komercyjną firmę Canonical, udostępnia płatny support, podobnie jak RedHat Open Office - rozwijany przez Oracla, powoli projekt jest zamykany - http://www.pcpro.co.uk/realworld/363793/the-end-of-openoffice Mysql - wykupiony przez Oracla, powoli umiera Java - rozwijana przez konsorcjum złożone z Oracla, Googla, Microsoftu i innych. rzeczowe
499 120-7 Rynek open source i firm tworzących aplikacje closed source przyrównałbym do żywego organizmu, jedno nie może żyć bez drugiego. I wg mnie większość projektów open source (poza paroma wyjątkami) nie przetrwa bez wsparcia komercyjnych firm. Działa to również w drugą stronę: powstanie wiele firm dających płatny support. Na stronie http://www.networkworld.com/news/2008/090208-open-to-watch.html widać dokładnie, że open source stworzyło wiele nowych miejsc pracy. rzeczowe
500 121-0 Moim zdaniem najważniejsze jest nie tyle otwartość kodu, co wsparcie jakie twórca daje klientowi/użytkownikowi. hipoteza
501 121-1 Oczywistym jest, że posiadając kod, firma korzystająca z rozwiązania może sama poprawiać błędy, jednak w mojej opinii wsparcie takie wymagane jest też od twórcy, co w przypadku pojedynczego użytkownika (który nie zna się np. na programowaniu) jest praktycznie niezbędne. logiczne
502 121-2 W ten sposób właśnie jak już ktoś wspomniał można wprowadzać płatne wsparcie, dzięki czemu produkty mogą się utrzymywać, nawet kiedy są darmowe. Otwartość kodu tutaj, wydaje mi się, ma minimalne znaczenie. logiczne
503 121-3 Za to otwartość kodu tylko ułatwia to wsparcie, ponieważ twórca aplikacji może dostawać rozwiązanie od “”zapaleńców“” czyli po prostu zewnętrznych użytkowników dbających o sprawność aplikacji, którzy swoje rozwiązania im podeślą. logiczne
504 122-0 W kwestii może nie tego co jest lepsze, ale co jest chętniej wybierane przez przedsiębiorców. hipoteza
505 122-1 Jasne jest, że można minimalizować koszty, a przy tym używać oprogramowania dobrej jakości z solidnym supportem. logiczne
506 122-2 Bardzo często jednak kluczową rolę odgrywa prestiż. Firmy wolą zainwestować w oprogramowanie od znanej, cenionej i właśnie prestiżowej marki by móc się tym pochwalić przed partnerami biznesowymi. logiczne
507 122-3 Wspominał o tym Pan od SAP-a. Firmy, które wcale go nie potrzebowały wdrażały go, tylko po to, by móc się tym pochwalić. inne
508 122-4 Closed Sorce póki co ma ciągle lepszą markę i to jest również jeden z powodów, dla którego jest bardziej popularny. emocjonalne
509 123-0 Myślę, że w przeważającej części przypadków zamknięty kod jest lepszym rozwiązaniem od otwartego. Dlaczego? W dużej społeczności odpowiedzialność w jakiś sposób się jednak rozmywa. Rozumiem, że ludzie którzy działają w takich grupach są pasjonatami i chcą oferować swój czas i umiejętności za darmo, ale chodzi właśnie o kwestie organizacji. hipoteza
510 123-1 Są bardzo dobre przykłady na prowadzenie jej w sposób bardzo sprawny, jak np. OpenOffice, ale przypuszczam, że zdecydowanie więcej jest przypadków w których coś się nie udało na którymś etapie właśnie z ww. powodu(nie słyszy się od o nich bo się nie udają :) ) Jedynym za jakie widzę, są kody projektów z których można korzystać w celach edukacyjnych, bo czasami może to być dobra szkoła programowania. inne
511 123-2 Często można spotkać się z podejściem, które zakłada że przy budowie systemu informatycznego powinny być stosowanie najnowsze technologie i modele architektoniczne. Podejście takie jest oczywiście zasadne jeżeli budowany jest nowy system nie obarczony koniecznością integracji z innymi systemami / technologiami. logiczne
512 123-3 Co jednak w sytuacji w której budujemy system który musi się integrować ze “”starymi“” technologiami / architekturami? Czy zawsze mamy prawo żądać zmiany starych technologii? Kiedy się to nie uda? Podaj przykłady rozwiązań, które tak jak np. standard EDI mają już wiele lat i nadal są powszechnie wykorzystywane. hipoteza
513 124-0 Tworząc nowe systemy właściwie zawsze można by wykorzystać technologie będące aktualnymi standardami. hipoteza
514 124-1 Jednak w przypadku rozbudowy starych rozwiązań, niekoniecznie takie podejście będzie się opłacać. logiczne
515 124-2 Mając dostęp do starej i stabilnej architektury, lepszym wyjściem może się właśnie okazać jej integracja z nowo powstającym systemem. logiczne
516 124-3 Trzymanie się przez dłuższy czas pewnych technologii ma miejsce w dziedzinie bankowości. logiczne
517 124-4 Przykładowo system rozliczeń międzybankowych Elixir funkcjonuje już przez dłuższy czas - choć dzisiejsze możliwości technologiczne pozwalają na dużo więcej. inne
518 124-5 Dopiero od niedawna, powoli jest wprowadzana wersja Express i też nie wszystkie banki chcą od razu z tego korzystać, a i koszt usługi nie jest zachęcający. emocjonalne
519 124-6 Wewnętrzne systemy bankowe również nie są zbyt nowoczesne, w niektórych po godzinie 20-21 konta są zamrażane i nie można nawet usunąć lokat - ponieważ trwa codzienna przerwa konserwacyjna. rzeczowe
520 124-7 Więc widać, że systemy i technologie w niektórych dziedzinach są unowocześniane tylko drobnymi krokami. logiczne
521 124-8 Nowe interfejsy dla użytkowników są integrowane ze starymi, długo wykorzystywanymi rozwiązaniami. hipoteza
522 125-0 Korzystanie z najnowszych technologii nie jest zawsze pożądane. hipoteza
523 125-1 Przykład: złącze 8P8C, znane też jako RJ45. inne
524 125-2 Najstarszy formalny standard, jaki udało mi się znaleźć, jest opisany w dokumencie IEC 60603-7-7, którego pierwsza edycja datuje na rok 2002. Jednak historia tego złącza sięga aż do lat 70-tych, jak barwnie opisuje ten artykuł. rzeczowe
525 125-3 Mając w dzisiejszych czasach dostęp do Wifi, Bluetooth, podczerwieni itp. każda szanująca się serwerownia korzysta z tych kabli, gdyż, mimo że są stare, to są… po prostu dobre: rzadziej zrywają połączenie, wszystko jest z nimi kompatybilne itp. rzeczowe
526 125-4 To właśnie to stanowi jedną z przyczyn, dla których nowe technologie są czasem niepożądane: if it works, why change it? Druga przyczyna to if it ain't broke, don't fix it. ;) hipoteza
527 126-0 Moim zdaniem wszystko zależy od rodzaju projektu. Nowe technologie najczęściej są tworzone, żeby wnieść coś świeżego do skostniałego modelu jednak jeśli te nowinki nie są zbyt innowacyjne - a w szczególności nie koniecznie wnoszą nową jakość do tworzonego systemu lepiej je sobie darować. Poniżej przedstawiam kilka zalet sprawdzonych technologii. hipoteza
528 126-1 Po 1: Błędy: Starsze modele/technologie są już dobrze znane i przetestowane - oczywiście nie oznacza to że nie zawierają błędów, ale najczęściej największe wpadki są już za nimi. Nowinki bardzo często oprócz nowych funkcjonalności wnoszą nowe błędy i luki w bezpieczeństwie. W szczególności jeśli technologia jest zupełnie innowacyjna nawet jej twórcy mogą nie zdawać sobie sprawy z której strony może nastąpić najdotkliwszy atak na ich system. hipoteza
529 126-2 Po 2: Support Jeśli technologia jest na rynku już kilka lat i zdobyła sobie grono wiernych użytkowników można zakładać, że jest sens ciągłego wspierania jej w zakresie łatania dziur czy np dostosowywania do nowych systemów operacyjnych. W przypadku nowych technologii nie można mieć pewności, że przyjmą się one na rynku a co za tym idzie po kilku latach może się okazać, że dane rozwiązanie okazało się wielkim niewypałem i nikt z tego już nie korzysta, przez co twórca zaprzestał jego wspierania. hipoteza
530 126-3 Jest to najczęściej równoznaczne z przejściem na inną technologię co jak wiemy na etapie wdrożenia jest o rzędy wielkości droższe niż w trakcie projektowania systemu. (Zasada 1-10-100) rzeczowe
531 126-4 Po 3: Czy nowa technologia jest nam rzeczywiście potrzebna? Jak już wspomniałem we wstępie, nowe technologie powstają żeby w jakiś sposób usprawnić wykorzystanie wybranego obszaru zastosowań. Bardzo często w ramach projektów studenckich powstawały prototypy aplikacji wykorzystujących najnowsze technologie ponieważ… no właśnie… ponieważ są nowe… O ile na etapie studiów mamy czas na zgłębianie nowych technologii i powinniśmy pochłaniać ich jak najwięcej o tyle pracując zawodowo musimy już zdawać sobie sprawę z zalet i wad każdego rozwiązania. hipoteza
532 126-5 Jeśli nowa technologia nie wnosi niczego innowacyjnego ani nie ułatwia/przyspiesza tworzenia systemu nie ma moim zdaniem sensu poświęcać jej więcej czasu. Korzystajmy z nowości jeśli są rzeczywiście nowe! (Od razu nasuwa mi się myśl o produktach Apple które w praktyce zmieniają tylko numery wersji oraz cenę, jednak nie jest to dyskusja na ten temat). emocjonalne
533 127-0 Zgadzam się z przedmówcami, że starsze technologie mają szereg zalet - większość błędów pewnie wyłapano, użytkownicy są już przyzwyczajeni i nie widzą potrzeby innowacji. hipoteza
534 127-1 Jednak, moim zdaniem, takie podejście jest bardzo niepraktyczne i przypomina mi sytuację, którą opisywał Pan z IBM na jednej z prezentacji - do firmy (banku chyba) napisano nowe super oprogramowanie, jednak panie w okienkach nawet nie chciały słyszeć o tym, że będą musiały przestać używać starego oprogramowania. Po co miałoby się uczyć, jeśli jest i działa. Jak napisał Marcin: if it works, why change it? Ponieważ w ten sposób firma nie dość, że straciła pieniądze na pisanie nowego software'u, to wciąż musi korzystać z gorszych narzędzi. logiczne
535 127-2 Czy nowości są tworzone, żeby wnieść coś nowego? Moim zdaniem są tworzone dlatego, bo ktoś stwierdził, że może coś ulepszyć. Więc dlaczego z tych ulepszeń nie korzystać? Z powodu strachu przed nowością? Do mnie to nie przemawia. Jeśli widzimy, że nowe oprogramowanie ma funkcje, które mogą nam ułatwić pracę, to strach nie powinien sprawiać, że będziemy się przed zmianami wzbraniać (jak w pewnej opowieści o myszach i serze…). emocjonalne
536 127-3 Oczywiście rozumiem, że czasami nie opłaca się tracić czasu i pieniędzy na zmianę sprawdzonego oprogramowania, ale uważam, że jeśli jest okazja i możliwości, to można próbować integrować (sprawdzone oczywiście) nowości. hipoteza
537 128-0 Wydaje mi się, że nie powinno się rozpatrywać technologii na zasadzie nowe-stare, ale raczej stosować podział dobre-złe. Świetnie obrazuje to przytoczony wyżej przykład technologii Ethernet, która mimo wielu lat użycia wciąż się sprawdza. If it ain't broken, don't fix it to świetna zasada, jest z nią tylko jeden problem - jak zdefiniować słowo “”broken“”. inne
538 128-1 Czy spełnianie przez oprogramowanie pierwotnej funkcji znaczy, że wszystko jest w porządku? A co jeśli jest nierozszerzalne, technologia nie jest już wspierana (w związku z czym z ew. problemami technicznymi zostajemy sami) albo nie możemy jej wykorzystać w naszym nowym systemie(ze względu na problemy z kompatybilnością)? hipoteza
539 128-2 Tak jak napisał Emil Łodygowski, nie powinniśmy na siłę trzymać się starych rozwiązań, gdyż wieczne ich rozbudowywanie prowadzi do zaniku użyteczności - pierwotny koncept nie wytrzymuje przeładowania nowymi funkcjonalnościami. Wystarczy tu podać przykład języka C++, którego implementacja obiektowości należy do najmniej klarownych, m.in. ze względu na zachowanie jak największej kompatybilności z C. logiczne
540 128-3 Z drugiej strony, zanim zdecydujemy się na nowe rozwiązanie, powinniśmy upewnić się, że jest nam potrzebne - nowe funkcjonalności bywają zupełnie zbędne, za to często potrafią wpływać na stabilność systemu. Brakuje im też standaryzacji, co może kończyć się przebudowywaniem całego projektu. logiczne
541 128-4 Warto wspomnieć o jeszcze jednym istotnym czynniku, jakim jest wsparcie techniczne, którego stare wersje oprogramowania często nie posiadają. Niestety (lub stety) informatyka jest (wciąż) bardzo dynamicznie rozwijającą się dziedziną, a postęp techniczny w produkcji elektroniki przekłada się na konieczność rozwijania warstwy programowej. logiczne
542 128-5 Co jakiś czas zmienić technologię jesteśmy po prostu zmuszeni. Mało kto jest w stanie zaryzykować, że jego system napotka kłopoty z jakimś błędem, a producent odpowie, że wsparcie tej wersji wygasło 5 lat wcześniej. logiczne
543 128-6 Podsumowując - decydując się na technologię, powinniśmy mieć na uwadze jedno: to ona ma służyć nam, a nie my jej. Jeśli potrzebujemy nowych funkcjonalności, których nie da się osiągnąć na starych wersjach, albo w związku z rozwojem jakiejś dziedziny stworzono nowy, dedykowany software - nie wahajmy się. hipoteza
544 128-7 Nie dziś, to za rok - postępu nie da się zatrzymać. Jeśli jednak wszystko działa dobrze, nowa wersja wyróżnia się głównie zbędnymi wodotryskami, a producent gwarantuje nam wsparcie starej - poczekajmy. Unikniemy pierwszego etapu łatania bugów, poczekamy na opinie, ograniczymy ryzyko nieprzewidzianych sytuacji. logiczne
545 129-0 Zgodzę się z przedmówcami, że nie powinno się stosować najnowszej technologii, głównie dlatego, że jest nowa, bo nowsze nie znaczy od razu lepsze, a jeszcze rzadziej znaczy stabilne. hipoteza
546 129-1 Uważam też, że na siłę nie należy się trzymać “”starych“” technologii czy architektur, tylko dlatego, że je dobrze znamy (IMHO taka argumentacja z reguły wcale nie oznacza, że je dobrze znamy, tylko że nie znamy dobrze żadnych innych). Bo, jak już zostało powiedziane powyżej, istniejące ograniczenia w funkcjonalnościach itp. mogą sumarycznie przynosić mniejsze korzyści (np. jeżeli chodzi o czas pracy). hipoteza
547 129-2 To mi przypomina jednego ze znanym mi “”kierowników“”, który co jakiś czas wpada na pomysł, czego to nie dodać do własnego frameworka, w którym tworzy większość interfejsów webowych, a ostatecznie okazuje się, że są one już oferowane przez większość nawet nie tak nowych frameworków. inne
548 129-3 A co w przypadku konieczności komunikacji ze “”starszymi“” systemami? Porządnie napisany/przemyślany powinien oferować sensowne API. Jeżeli takowego nie ma, to może wcale nie jest to coś porządnego i (skoro jest używane) warto zastanowić się nad przepisaniem części systemu? Jeżeli oczywiście jest to wykonalne. hipoteza
549 130-0 Jest to zawsze dylemat dla twórcy systemu. Ogólnie zależy to od wymagań, jakie musi spełniać system. hipoteza
550 130-1 Im system musi być bardziej bezpieczny, stabilny i niezawodny, tym bardziej będziemy skłaniać się ku wyborze technologii bardziej sprawdzonych i solidniej przetestowanych. Najczęściej jest to równoważne z wyborem rozwiązań starszych. logiczne
551 130-2 Jednak w większości zastosowań nie musimy wprowadzać aż tak restrykcyjnej polityki bezpieczeństwa. Im bardziej liczy się dla nas funkcjonalność i potencjał rozwoju, tym większa szansa, że wybierzemy nowsze rozwiązanie. logiczne
552 130-3 Te dwa aspekty się ze sobą ścierają i to od naszej oceny wymagań co do systemu zależy decyzja. Oczywiście nie jest to decyzja zero-jedynkowa, możemy wybierać rozwiązania będące pomiędzy najstarszym i najnowszym. hipoteza
553 130-4 Trafnym określeniem na stopień, w jakim dana branża jest podatna na nowinki w technologiach jest według mnie słowo “”bezwładność“”. Im większa bezwładność, tym branża jest mniej podatna na zmiany i kierunek rozwoju technologii, tak jak w fizyce bezwładne ciało powoli zmienia kierunek pod wpływem przyłożonej siły. logiczne
554 130-5 Dużą bezwładnością charakteryzują się takie branże jak: - bankowość i finanse - instytucje rządowe (tutaj często zmiana oprogramowania wiąże się z rozpisaniem przetargu a potem kosztownym wdrożeniem) - przemysł (sterowniki maszyn, itp) - NASA (Komputer pokładowy łazika Curiosity ma moc obliczeniową która może wydawać się śmieszna - za to jest wysoce niezawodny i przystosowanym do warunków marsjańskich. Obiło mi się też o uszy, że jego oprogramowanie nie tyle jest bardzo dobrze przetestowane, ale wręcz przeprowadzane były matematyczne dowody poprawności tego oprogramowania) logiczne
555 130-6 Branże o najmniejszej bezwładności to z reguły te skierowane na masowego odbiorcę, np: - webdeveloping (swego czasu rozwój ograniczał Internet Explorer 6, po pokonaniu tej przeszkody tempo rozwoju tej branży wystrzeliło w górę) - gry komputerowe logiczne
556 130-7 Namacalnym przykładem różnicy “”bezwładności“” są dystrybucje linuxa: te nastawione na zastosowania serwerowe (np. Debian) mają pakiety oprogramowania w starszych wersjach niż te dla użytkownika domowego (np. Ubuntu) rzeczowe
557 130-8 Wydaje się, że serwisy społecznościowe zaczynają wielu użytkownikom zastępować system operacyjny i dostępne na nim aplikacje i oferowane przez nie usługi. Ludzie logując się rano na facebooka spędzają na nim cały dzień, w tym czasie uzyskują dostęp dla istotnych dla nich informacji, pozostają w kontakcie z bliskimi, relaksują się (np. grają w dostępne gry) i w końcu informują innych o swoich aktywnościach. emocjonalne
558 130-9 Czy ten model funkcjonowania serwisu społecznościowego sprawi, że “”tradycyjny“” system operacyjny niedługo w ogóle nie będzie dla użytkownika widoczny, tak jak kiedyś system dos przestał być widoczny dla użytkowników Windowsa 3.0? hipoteza
559 131-0 Takie facebook tamagotchi? Hmm to mogłoby być ciekawe rozwiązanie gdyby nie fakt, że lepiej zainwestować w smartfona :) Moim zdaniem nie ma szans na powstanie systemów ograniczających się wyłącznie do facebooka czy innego portalu społecznościowego, gdyż uważam to za bezcelowe. inne
560 131-1 Podzielam zdanie kolegi. Serwisy społecznościowe są dobre do kontaktów oraz informowania znajomych o naszych poczynaniach, ale nigdy nie zastąpią w pełni funkcjonalnego systemu operacyjnego. To, że aplikacje osiągnęły niebywały sukces na Facebooku, to wpływ użytkowników, którzy nie są świadomi do końca na czym ta machina polega. Uruchamiając grę na portalu oprócz chwili rozrywki przyczyniamy się do wzrostu kapitału firmy oraz zezwalamy na przetwarzanie wszelkich danych osobowych firmom trzecim. logiczne
561 131-2 Wiem, że bezpieczeństwo w dzisiejszych czasach to fikcja (panuje wszelka inwigilacja), ale system operacyjny zapewnia mi pełną kontrolę. Zresztą wystarczy spojrzeć na ostatnie statystyki, gdzie liczba użytkowników portali zaczyna spadać, a sprzedaż systemów cały czas wzrasta. emocjonalne
562 131-3 A ja stanę po 2 stronie barykady. inne
563 131-4 Boję się że koncept systemu opierającego sie na modelu społecznościowym już po części istnieje. Jest coraz więcej aplikacji czy stron www, umożliwających np “”zalogowanie przez facebooka“”, twitera i wiele innych. Taka inwazja określana mianem “”integracji“” portali społecznościowych juz nastąpiła. emocjonalne
564 131-5 HTC w swoich telefonach np miał dodany dodatkowy przycisk “”F“” umożliwiający natychmiastowe połączenie z facebookiem. Każdy telefon praktycznie z androidem ma juz zainstalowana aplikację społecznościową, z której można odrazu korzystać. inne
565 131-6 A co z samym konceptem tradycyjnego SO? Wystarczy popatrzeć na nowego Windowsa 8. On umożliwia tworzenie “”kafelków“” z wyświetlaniem pewnych informacji od aplikacji. Już wkrótce pojawią się FBapp, Google+ app i wiele innych, które ułatwią dostep do społeczności. A sam klasyczny pulpit? Okno “”Mój komputer“”? Wszystko jest poukrywane, a może w przyszłości okaże się także zbędne? inne
566 132-0 Myślę, że problem leży dużo głębiej i należy go rozpatrywać na nieco innej płaszczyźnie. hipoteza
567 132-1 W dobie pełnej globalizacji, obfotografowanej całkowicie kuli ziemskiej, sklasyfikowanej na przeróżnych portalach solidnej części ludzkości oraz wszelkich przejawów ich działalności, anonimowość w sieci jest już echem dziejów. emocjonalne
568 132-2 Państwa powoli stawiają nieśmiałe kroki w drodze to obłożenia internetu wszelkiego rodzaju prawami, wprowadzenia międzynarodowych umów oraz kontroli przepływu informacji. rzeczowe
569 132-3 Jednakże pewne kwestie pozostają nadal otwarte. Czy przeciętny użytkownik sieci chce na wstępie wpisywać swój login i hasło i pod etykietką fejsbukowago screen name operować w sieci? Odciskać paluch w czytniku czy pokazywać tęczówkę do kamerki? I co za tym idzie operować swoim własnym elektronicznym podpisem, i przy każdej potrzebie automatycznie się legitymować? Sprawne, szybkie i wygodne. hipoteza
570 132-4 Społeczeństwo jednak nie jest jednogłośne, przykładem mogą być protesty przeciwko wprowadzeniu ACTA. inne
571 132-5 Ludzkość mogłaby stać się sprawnie funkcjonującym kopcem mrówek, z pełną kontrolą i informacją, o każdej porze dnia i nocy. emocjonalne
572 132-6 Ale z drugiej strony stwarza to ryzyko totalitarnej kontroli, a taka myśl raczej mało kogo pozostawia obojętnym. emocjonalne
573 132-7 Pewne jest jedno, jakieś rozwiązania trzeba będzie wybrać. emocjonalne
574 133-0 Myślę, że jest to bardzo możliwe, ale dziedzinie telefonii komórkowej, w której miał by bardzo duże szanse na wybicie się.. hipoteza
575 133-1 Na smartfonach mamy dość duży wybór systemu operacyjnego, ale żaden nie spełnia wszystkich wymagań dzisiejszych użytkowników. Ludzie często zmieniają telefony na których to są różne systemy operacyjne i to nie stanowi im problemów. hipoteza
576 133-2 Jeżeli facebook stworzyłby przemyślany i genialny system to zebrał by całkiem spore grono zwolenników. hipoteza
577 134-0 Facebook systemem operacyjnym? A co w przypadku braku połączenia z internetem np. po burzy. Wtedy komputer nadawał by się do wyrzucenia? Ja opowiem się za stroną kolegów wcześniej, tzn żaden portal społecznościowy nie zastąpi SO. hipoteza
578 134-4 Każdy z nas przynajmniej raz na jakiś czas ma potrzebę stworzenia dokumentu tekstowego, napisanie jakiegoś wypracowania, streszczenia… Pewnego dnia przychodzimy do domu chcemy pisać wypracowanie na dzień kolejny, a tu psikus nie ma internetu… Co gdybyśmy pisali i pisali online prace magisterską przez wiele miesięcy i przez błąd jakiegoś informatyka, który nie dostatecznie zabezpieczył nasze pliki, praca wyciekła by do internetu albo co gorsza przepadłą na zawsze? emocjonalne
579 134-5 Facebook owszem, służy do komunikowania jednak większość z nas korzysta z niego z nudów, wchodzimy co kilka minut, patrzymy co się zmieniło i w ten sposób zabijamy czas.. Wiec jako taki gadżet do zabijania czasu nadaje się świetnie. emocjonalne
580 134-6 Oczywiście możemy gdybać, a jeżeli by dawał nam możliwość tworzenia plików tekstowych na dysku, korzystanie z niektórych funkcji offline itp. Ale czy wtedy facebook jest jeszcze portalem społecznościowym czy może już bardziej można nazwać go SO z funkcją komunikowania się… hipoteza
581 135-0 Wybacz, ale napisałeś rzeczy, które dokładnie nic nie znaczą. Skąd wiemy że systemy mobilne nie spełniają wymagań użytkowników? Niestety fakt jest taki, że ludzi kompletnie nie interesuje to, jaki mają system. Mało z nich pewnie w ogóle wie, że jakiś wybór istnieje. Ludzie kupujący telefon chcą Nokii, Samsunga, iPhona. No, może czasem “”tej nowej niebieskiej nokii“” albo “”tego samsunga z reklamy“”. Koniec. Na tym kończą się wymagania przeciętnych użytkowników telefonów. emocjonalne
582 135-1 Obracamy sie w kręgach technicznych i czasem łatwo zapomnieć, że to co dla nas jest normą - porównywanie aplikacji, systemów, jakości, modeli - dla większości jest abstrakcją. logiczne
583 135-2 Telefon facebooka móglby być udanym produktem, ale nie ze względu na genialność systemu. Tutaj niewiele zostało do wymyślenia - można żonglować interfejsem, i tutaj coś ugrać, ale gdyby tak było, to Windows Phone miałby gigantyczny udział w rynku. logiczne
584 135-3 Sukces Facebook mógłby odnieść tylko dzięki gigantycznemu zasięgowi swojej marki. Ludzi chcieliby telefonu Facebooka, a nie telefonu z systemem faceOS, bo nawet wtedy nie wiedzieliby, że coś takiego istnieje. logiczne
585 135-4 Odnośnie dyskusji - myślę, że systemy operacyjne w chmurze, bez lokalnego systemu plików lub z bardzo ograniczonym dyskiem to mimo wszystko będzie technologiczna ciekawostka. Google i ich ChromeOS nie odnosi większego sukcesu, bo nikt nie postawi na komputer, który bez internetu jest nieużywalny. logiczne
586 136-0 Myślę, że większość osób powyżej zbyt dosłownie potraktowała zdanie “”Facebook jako system operacyjny“”. hipoteza
587 136-1 Moim zdaniem nie chodzi o to, aby Facebook obok swoich funkcjonalności społecznych, udostępniał takie funkcjonalności jak tereźniejsze systemy operacyjne. hipoteza
588 136-2 Facebook SO, byłby systemem wyspecjalizowanym w jednym celu, a mianowicie obsługi portalu Facebook. Tak jak większość ludzi postrzega Linuxa, jako system dla administratorów i profesjonalistów, tak FSO byłby postrzegany jako system dla ludzi, którzy cenią sobie szybki i wygodny kontakt z przyjaciółmi. I to było jedyne jego zastosowanie. hipoteza
589 136-3 Jak wspomniano wcześniej, większość osób uruchamia komputer tylko po to, aby zajrzeć na facebooka. Nie zwracają w ogóle uwagi na całą otoczkę. Więc tablet/smartfon dedykowany dla Facebooka mógł by odnieść sukces. hipoteza
590 137-0 Jeśli taki system miałby powstać, szanse sukcesu miałby tylko na urządzeniach mobilnych. Już teraz wielu ludzi przy wyborze telefonu zwraca uwagę na to, czy da się na nim wygodnie obsługiwać facebooka, sieci telefoniczne tworzą pakiety z nielimitowanym dostępem właśnie do tego portalu itd. Powód jest prosty głównym zadaniem zarówno telefonu jak i facebooka jest umożliwienie użytkownikom kontaktu ze sobą. hipoteza
591 137-1 Jednakże taki system nie ma przyszłości. Dzisiejsze smartphony oferują więcej możliwości niż sam dostęp do portalu społecznościowego, który już działa w sposób wygodny dla użytkownika. Więc po co się ograniczać? hipoteza
592 137-2 Co do tematu komputerów: Już widać to, że osoby, które używały komputera tylko na potrzeby przeglądania internetu, słuchania muzyki, bądź oglądania filmów, przesiadają się na tablety. Pozostali ludzie korzystający z komputerów w jeszcze innych celach (np. praca, przechowywanie dokumentów, gry) raczej trudno będzie znaleźć wśród nich potencjalnych klientów dla takiego FB OS. inne
593 137-3 Podsumowując: Facebook OS na telefony i tablety - “”Wielkie może" hipoteza
594 137-4 Facebook OS na komputery stacjonarne - “”Nie ma szans“” hipoteza
595 139-0 Niespecjalnie rozumiem wszechobecny sceptycyzm - nie wiem, czy to akurat Facebook będzie autorem sieciowego systemu operacyjnego (Google ma większe szanse), ale sam scenariusz jest jak najbardziej możliwy, a nawet całkiem prawdopodobny. hipoteza
596 139-1 Od jakiegoś czasu możemy zauważyć, że historia powoli zatacza koło - wszystko zaczęło się od komputerów typu mainframe, potem pojawił się komputer osobisty, a teraz znowu wracamy do wielkich serwerów i małych terminali. inne
597 139-2 Wszystkie urządzenia mobilne i aplikacje na nie opierają się na interakcji z serwerami - Facebook, GMail, Google Calndar, Evernote, Dropbox czy Skydrive, Google Docs - to tylko kilka przykładów. Nie potrzebujemy mieć mocy “”pod ręką“” - ważne, że mamy do niej szybki, wygodny dostęp. inne
598 139-3 Jak dużo ostatnio się pisze o komputerach PC? Sporo, głównie w kontekście tracenia przez nie pozycji. Mnóstwo za to czytamy o wszelkiego rodzaju cloudach, Big Data, Software as a Service itd. Daleki jestem od nazwania tego dobrym trendem - nieco przerażająca jest wizja, w której znacząca część moich danych jest w cudzych rękach, a ja jestem szpiegowany 24/7 - liczę jednak, że znajdziemy jakieś rozwiązania i wizja Orwella się nie ziści. emocjonalne
599 139-4 Trzeba jednak spojrzeć też na pozytywne strony - to właśnie dzięki usługom sieciowym nasze życie wygląda tak jak wygląda. Rozwój Gmaila uniezależnił nas od konkretnego komputera, jeśli chcieliśmy odebrać pocztę, podobnie Docsy zmieniły sposób pracy z dokumentami. Wszystkie współczesne usługi zapewniają nam synchronizację między urządzeniami, co w dobie tabletów i smartfonów jest nie do przecenienia. inne
600 139-5 Jak widać, nie musimy na nic czekać - właśnie jesteśmy świadkami narodzin sieciowego systemu operacyjnego, który wymaga tylko przeglądarki. Już dzisiaj można korzystając TYLKO z usług Google wykonywać właściwie wszystkie czynności, do których większość ludzi używa komputera. inne
601 139-6 Zwykły użytkownik nie potrzebuje żadnej kontroli nad systemem, mocy małej stacji roboczej czy super-zabezpieczeń prywatności. On chce poczty, dokumentów, komunikatora, internetu i portalu społecznościowego, żeby pogadać ze znajomymi. emocjonalne
602 139-7 Piszecie: a co jeśli nie będzie Internetu, bo zdarzy się burza/trzęsienie ziemi/inwazja kosmitów? Zostaniemy bez niczego? Równie dobrze można spytać: a co, jeśli nie będzie prądu? Wtedy w ogóle komputery staną się bezużyteczne. Coraz większe zużycie i znaczenie zasobów internetowych wymusi budowę redundatnych sieci, a za jakiś czas brak dostępu do internetu będzie pewnie równie częsty, jak brak prądu - czyli będzie okazją do zrobienia sobie przerwy. hipoteza
603 139-8 Zresztą, patrząc uczciwie - czy przypadkiem już dziś nie jest tak, że brak dostępu do sieci znacząco ogranicza naszą produktywność? Śmiem twierdzić, że epoka “”sieciowa“” już się zaczęła, co najwyżej nie zdajemy sobie z tego jeszcze sprawy. hipoteza
604 139-9 A, tak na koniec: ktoś może napisać, że przecież “”Chromebooki się nie przyjęły“”. To prawda, na dzień dzisiejszy ograniczenie się TYLKO do usług sieciowych jest dość mało pociągające, tym bardziej, że lubimy mieć inne możliwości “”w zapasie“”, nawet jeśli przeglądarka internetowa jest najczęściej wykorzystywaną przez nas aplikacją. emocjonalne
605 139-10 Patrząc jednak na rozwój technologii w rodzaju HTML5 i przenoszenie do sieci kolejnych mediów (telewizja i filmy w postaci VOD, muzyka dostępna na Deezer czy Spotify, gazety wypierane przez portale inernetowe), jest dla mnie całkiem prawdopodobne, że wkrótce pojęcie “”systemu operacyjnego“” będzie znane tylko informatykom i zawodom pochodnym - cała reszta będzie po prostu wpinać się do Sieci. inne
606 140-0 Ja jestem zdanie że jest to możliwe by facebook czy google lub inny potentat rynkowy zrobił swój własny kompletny System operacyjny który bedzie tak samo użyteczny jak np win 8 tylko że do tego systemu raczej nie bedzie potrzeba normalnego kompa tylko właśnie z clouda trzeba by skorzystać itd Ale do tego jeszcze nam troche brakuję i póki co nie musimy się oto martwić :) inne
607 141-0 Osobiście jestem stanowczo przeciwny SO od Facebooka przede wszystkim ze względu na i tak znikome w dzisiejszych czasach bezpieczeństwo i ochronę danych osobowych. Dopóki FB jest tylko osobną aplikacją, można choć częściowo blokować jego zależności między innymi stronami a obawiam się, że przejście na system operacyjny stworzony przez jego twórców będzie niestety o wiele prostsze niż próba odejścia od niego… logiczne
608 141-1 Mimo tego, że moje zdanie jest takie a nie inne, praktycznie w pełni zgadzam się z wypowiedzią Rafała. Spróbujcie zrobić jakiekolwiek zadanie na uczelnię bez dostępu do internetu, nie chodzi tu o kopiowanie rozwiązań innych ale spójrzmy prawdzie w oczy, w dzisiejszych czasach do książki zagląda się na samym końcu bo znalezienie przydatnych informacji w sieci jest po prostu szybsze - przynajmniej jeśli bierzemy pod uwagę pokolenia internetu, starsi są często zbyt konserwatywni i czują awers do nowych technologii. emocjonalne
609 141-2 Dodatkowo zawężając się do naszego kierunku, książki informatyczne są praktycznie zawsze nieaktualne w momencie ich wydania. W naszym przypadku praca bez internetu jest bardzo trudna a często nawet nie możliwa… Oczywiście do wprowadzenia w pełni sieciowego systemu jeszcze wiele wody w Wiśle upłynie ponieważ jakość internetu w Polsce w wielu miejscach pozostawia wiele do życzenia, jednak myślę, że przeskoczenie tej bariery technologicznej to tylko kwestia czasu. inne
610 141-3 Nie od dziś wiadomo, że twórcy aplikacji już od dawna starają sie gdziekolwiek to możliwe przenosić aplikację wprost do przeglądarki. Kosztem narzutu obliczeniowego jaki wnosi obsługa przeglądarki otrzymujemy masę zalet tj chociażby uruchamianie tej samej aplikacji na wielu urządzeniach (O wiele łatwiej napisać - a w szczególności rozwijać - stronę WWW dopasowującą się do telefonu, tabletu i pc niż tworzyć 3 osobne aplikacje). logiczne
611 141-4 Poprzednicy wspomnieli wiele o usługach Google itp, to prawda, rynek usług opartych o pracę w chmurze rozrasta się oferując coraz więcej naprawdę ciekawych rozwiązań, przy okazji przynosząc nową, ciekawą dla wielu opcję: Jeśli wszystko przeniesiemy do chmury, użytkownik nie będzie więcej potrzebował mocnego sprzętu komputerowego. Jedynym ograniczeniem stanie się wtedy szybkość/przepustowość łącza internetowego ale jak już wspomniałem, uważam że uporanie się z tym problemem to tylko kwestia czasu. inne
612 141-5 Z punktu widzenia użytkownika chyba lepiej zapłacić niewielki abonament za dostęp do gry która działa płynnie, niż co 1-2 lata kupować nowy sprzęt + licencję na oprogramowanie, o ile nie pobierze ‘pirata’. Tutaj właśnie dochodzę do ostatniej z najważniejszych moim zdaniem zalet systemu Facebookowego, mianowicie walka z piractwem. System w całości oparty o architekturę klient-serwer pozwoliłby na praktycznie kompletne usunięcie piractwa z rynku a użytkownik nie byłby obarczony ręczną instalacją oprogramowania - 1 kliknięcie i żadnego wybierania folderów, opcji itp, tak jak to dzisiaj wygląda z aplikacjami na FB. inne
613 141-6 W takiej sytuacji to system zapewnia, że aplikacja została pobrana z jedynego słusznego źródła a nie np z torrentów. inne
614 142-0 Czy idea open source ma sens? Kiedy oprogramowania powinno być tak dystrybuowane? A może należy zamykać oprogramowanie i udostępniać je tylko komercyjnie? hipoteza
615 142-1 Według mnie idea Open Source ma sens w przypadku nowych formatów, czy to dźwięku, obrazu, lub na innych polach. Tak, by każdy produkt mógł zapisywać w tym rozszerzeniu i użytkownicy bez problemu mogli kooperować ze sobą. logiczne
616 142-2 Świetnym przykładem jest Ogg Vorbis, używany w wielu grach, FLAC w przypadku bezstratnej muzyki, czy COLLADA w przypadku programów do edycji 3D. rzeczowe
617 142-3 Ale nie widzę go w aplikacjach end-user. Jestem wielkim fanem z fundacji Blendera i podoba mi się ich podejście, mianowicie, tworzą produkt. Wiele projektów Open Source nie posiada tego podejścia. inne
618 142-4 Kiedyś, gdy był tworzony Big Buck Bunny, twórca Open Source-owego projektu DAW Ardour skrytykował kompozytora muzyki Jana Morgensterna, że ten tworzy muzykę na systemie Apple używając zamkniętego oprogramowania. Napomnę, że Pan Morgenstern tworzył za darmo tę muzykę. Osobiście zdenerwowało mnie podejście twórcy Ardour, zwłaszcza, że jego projekt był beznadziejny, jedynym jego argumentem było to, że “”jest on Otwartym oprogramowaniem“”. inne
619 142-5 Mam przyjaciela, który zajmuje się tworzeniem muzyki i sam ocenił, że ten projekt nic nie ma, brak pożytecznej funkcjonalności, nadaje się do śmietnika. Sam Ton Roosendal zamknął tamten wątek i wyraził swoje rozgoryczenie wypowiedzą twórcy Ardour, jednocześnie broniąc stanowiska Pana Morgensterna. inne
620 142-6 Tamto wydarzenie pozostawiło u mnie niesmak w przypadku projektów Open Source, chyba, że są to nowe formaty, to co innego. inne
621 143-0 Nie rozumiem dlaczego w przypadku open source zamykasz się tylko do formatów? Zwłaszcza że “”source“” odnosi się do plików źródłowych z kodem a nie do standardu kodowania? Myślę że trochę odbiegasz od tematu. Jest wiele projektów informatycznych, które rozwijają się tylko dlatego że są “”open“” i każdy może je rozwinąć lub wykorzystać przykład z którego sam korzystałem to Andengine. emocjonalne
622 143-1 Framework do wykorzystania graficznych możliwości androida i nie tylko, który znacznie ułatwia projekt a jednocześnie mogę go sobie dowolnie zmienić i poprawić na własny użytek. rzeczowe
623 143-2 Powstało na tym wiele aplikacji na androida, które mogły by nigdy nie powstać bo ktoś np nie napisał by odpowiednika sam. W budowie różnych wersji linuxa też można uczestniczyć samemu tworząc moduły. Ja zdecydowanie uważam że Open Source ma duży sens jednak nie mówię że wszystko powinno wychodzić na takich warunkach w końcu ktoś kiedyś musi zarabiać ;) sam zarabiam na programowaniu a przecież z Open Source ciężko czasem się czegoś dorobić. emocjonalne
624 144-0 Udostępniane źródeł ma sens w wielu przypadkach. hipoteza
625 144-2 Można również wybrać rozwiązanie łączone. Produkt z zamkniętym kodem jest normalnie sprzedawany, a po zakończeniu wsparcia do niego, wydaniu nowej wersji - otwiera się dostęp do całości lub wybranych części starych źródeł. inne
626 144-4 Może to wzbudzić zainteresowanie danym programem, a nawet kolejnymi nowymi tego samego twórcy. hipoteza
627 144-5 Na przykład zdarzało się tak w przypadku gier komputerowych i fani mogli łatwiej przerabiać takie gry lub dodawać nowe poziomy. inne
628 145-0 O tym, że open source ma sens świadczy popularność takich serwisów jak GitHub czy Bitbucket. Wprawdzie są to przeważnie nieduże projekty, ale widać, że ludziom podoba się taka idea. Poza tym open source trochę “”napędza sam siebie“”: ja coś stworzę, ułatwiając sobie korzystając z kodu udostępnionego przez innych, a potem sam to udostępnię itd. logiczne
629 145-1 Ale są i dużo większe projekty (Linux, Python, PostgreSQL, Emacs i wiele innych). Udostępnianie źródeł też nie oznacza od razu zamknięcia sobie drogi do zarabiania na tym. Takie firmy jak Red Hat Inc. czy Canonical Ltd. czerpią zyski ze wsparcia dla produktów dystrybuowanych w ten sposób. logiczne
630 145-2 A korzyści są duże, np. potencjalnie większe bezpieczeństwo aplikacji i jakość kodu, bo czyta i testuje go wielu różnych programistów, czy częstsze aktualizacje (por. (1) Actually, Open Source Code Is Better: Report, (2) Is Open Source Software “”Better“” Than Closed Source Software? (…), (3) Why Open Source?). rzeczowe
631 145-3 Jak wyżej - open source zdecydowanie sprzyja popularyzacji oprogramowania i tworzeniu standardów: jednym z lepszych przykładów jest OpenGL, który wyrósł właśnie dzięki udostępnieniu biblioteki przez SGI. Popularyzacja i standaryzacja przekłada się oczywiście na wzrost rynku, któremu można świadczyć odpowiednie usługi wsparcia - i zarabiać na tym niemałe pieniądze. logiczne
632 145-4 Byłbym jednak bardzo sceptyczny, jeśli chodzi o popularyzację OS poza te ramy - nikt jeszcze nie wpadł na to, jak zarabiać na takim oprogramowaniu (na oprogramowaniu - nie na usługach dookoła niego). Głównym bodźcem rozwoju informatyki zawsze były duże możliwości zysku w stosunku do nakładów. emocjonalne
633 145-5 Jeśli napisałem świetny program, mogłem na tym zarobić miliony (w skrajnych przypadkach - miliardy) dolarów. To działa na wyobraźnię i powoduje, że tak wiele jest start-upów w IT. Jest to również jedna z przyczyn błyskawicznego postępu, jaki dokonuje się w branży. emocjonalne
634 145-6 Mimo ponad 20 lat historii OS, nie udało się tego mechanizmu zastosować w opgoramowaniu tego typu. Więcej - jest on często potępiany przez środowisko OS jako mało moralny. Z drugiej strony, ukazywały się artykuły ludzi związanych z ruchem OS, którzy jasno stwierdzali, że brak pomysłu na monetyzację stanowi najpoważniejszą blokadę tego rodzaju oprogramowania. logiczne
635 145-7 Zgadzam się z przedmówcami (oprócz Krzysztofa). Dla mnie Open Source napędza rozwój. Nie muszę wymyślać koła na nowo bo chcę stworzyć powóz - korzystam z już istniejącego źródła kodu dla koła i programuję swoją bryczkę ;) A nawet jeśli jakieś rozwiązanie nie przypadnie mi do gustu to przecież … uwaga … mogę je zmienić i dostosować do swoich potrzeb. emocjonalne
636 145-8 A jak zarabiać na OS? Głównie na wsparciu (płatny support, płatna dokumentacja, książki, szkolenia, wykłady) i usługach (płatne dodatki, bądź utrzymanie - np hosting). Ewentualnie żebrząc co łaska ;) emocjonalne
637 146-0 Czy w przedsiębiorstwach warto stosować narzędzia i metody inżynierii oprogramowania? Może rację mają Ci, którzy mówią że jest to obszar informatyki mało użyteczny i jedynie teoretyczny? hipoteza
638 146-1 Wydaje mi się, że cała praca poprzedzająca implementację jest potrzebna. Już podczas tworzenia projektów uczelnianych widzimy jak bardzo dokumentacja, tworzenie przypadków użycia czy diagramów klas jest użyteczne w dalszych pracach. Bez zaprojektowania nasze aplikacje byłyby pełne chaosu, moglibyśmy się w nich w końcu pogubić, nie wiedzielibyśmy jakie funkcjonalności należy zaimplementować, a w rezultacie efekt końcowy byłby zupełnie inny niż planowany. hipoteza
639 146-2 Poza tym to, że piszemy jakiś program nie znaczy, że nikt nie będzie go później poprawiał/uzupełniał/modernizował, a bez dokumentacji nie będzie wiedział za co się zabrać. inne
640 146-3 JJ, faktycznie - bez dokumentacji nikt nie będzie wiedział za bardzo za co się zabrać. Miałem tę przyjemność uczestniczyć w przejmowaniu komercyjnego projektu (tj. miałem rozwijać projekt rozpoczęty przez inną osobę), który był napisany w taki sposób, że w zasadzie ani ja ani osoba, która miała z kodem trochę więcej do czynienia nie wiedzieliśmy w ogóle, co się dzieje. inne
641 146-4 Skończyło się na tym, że połowę kodu wymieniliśmy - lepiej napisać kod, który się rozumie niż debugować magiczną różdżkę. Inną sprawą jest, że projekt był tak ustalony, że nie było żadnego dokumentu określającego jak ma działać urządzenie, które programowałem - jedynie fragmenty kodu, jakieś ramki pakietów napisane w C, czasami dowiadywałem się, że kiedyś na spotkaniu ktoś ustalił, że ma być tak a tak… :) inne
642 146-5 Po co tyle narzekam oprócz tego, że lubię? Otóż okazuje się, że o tym, jak bardzo inżynierai oprogramowania się przydaje najlepiej przekonać się w sytuacji, gdy nie została zastosowana. Jest to prawdziwy horror emocjonalne
643 159-0 W zupełności zgadzam się z kolegami, że raczej mało prawdopodobna będzie sytuacja w której urządzania mobilne nagle przestaną korzystać z przeglądarek i pozostanie nam tylko opcja aplikacji mobilnych (chociaż nigdy nie wiadomo jak będzie wyglądać przyszłość ;) ). inne
644 159-1 Wydaje mi się, że w tym przypadku nie ma jakiegoś konkretnego zwycięzcy w starciu przeglądarki kontra aplikacje mobilne, ponieważ obydwie rzeczy mają swoje zalety i wady i nie wyobrażam sobie sytuacji w której jedno miałoby zastąpić drugie. logiczne
645 159-2 Zdecydowaną zaletą aplikacji mobilnych jest fakt, iż mogą sobie np. działać w tle i powiadamiać nas o tym, kiedy będzie się dziać coś ciekawego (nie wiem czy na chwilę obecną jest to możliwe z przeglądarkami, ale nie spotkałem się z tym jeszcze). logiczne
646 159-3 Jednak z drugiej strony pamiętajmy, że aplikacje mobilne mają jedną zasadniczą wadę: zajmują cenne miejsce na dysku, zwłaszcza kiedy naszego smartfona wykorzystuje się do np. słuchania muzyki, oglądania filmów, grania, jako przenośny dysk twardy, który zawsze mamy przy sobie itp. (wtedy każdy MB jest na wagę złota). logiczne
647 159-4 Wyobraźmy sobie sytuację w której nie ma przeglądarek, a są tylko aplikacje mobilne. Korzystając z wielu serwisów jesteśmy w pewnym stopniu zmuszani do instalacji wielu aplikacji i nasz system szybko jest zapychany dodatkowymi zasobami, a nasze miejsce na dysku szybko znika (być może problem ten będzie w przyszłości rozwiązywany przez np. chmury, czas pokaże). logiczne
648 159-5 W tym przypadku przeglądarki wydają się być lepszym rozwiązaniem zwłaszcza w momencie w którym większość serwisów występuje w np. 2 wersjach: zwykłej i mobilnej, która jest przystosowana do opcji: mały ekran + duże palce. logiczne
649 160-0 Moje zdanie może zalatuje nieco herezją ale sądzę, że od sytuacji podanej w temacie bardziej prawdopodobna jest sytuacja odwrotna gdzie aplikacje natywne na telefonach komórkowych zostaną zastąpione przez responsywne strony internetowe. Widzę ku temu kilka powodów. hipoteza
650 160-1 Coraz więcej nowych systemów operacyjnych: Wiemy że oprócz przodujących na rynku systemów Android, Windows Phone i iOS powstają inne mniejsze projekty. Jeśli do tego dołączy jeszcze jakiś większy gracz czego nigdy nie można przewidzieć otrzymamy sporo systemów które aplikacja powinna obsługiwać bo w końcu żaden programista nie chce żeby jego aplikacja ograniczała liczbę swoich użytkowników przez jej nieprzenośność. inne
651 160-2 Zwiększanie mocy smartfonów: Telefony stają się coraz silniejsze pod względem mocy obliczeniowej. Za jakiś czas narzut dodany przez przeglądarkę stanie się niezauważalny dzięki temu największa zaleta aplikacji natywnych może odejść do lamusa (albo mocno stracić na znaczeniu). logiczne
652 160-3 Tendencja rynkowa: Twórcy aplikacji na PC już od jakiegoś czasu starają się przenosić swoje aplikacje do chmury i przeglądarek. Granie w chmurze czy silniki wymagające jedynie przeglądarki internetowej z odpowiednią wtyczką (tj. Unity 3D) do uruchomienia gry komputerowej zystkują coraz większą popularność. rzeczowe
653 160-4 Coraz bardziej odchodzi się od aplikacji natywnych na rzecz wersji przeglądarkowych w modelu klient serwer choćby ze względu na walkę z piractwem. O ile w telefonach komórkowych mamy już wprowadzone “”jedyne słuszne źródła oprogramowania“” nadal pewnymi metodami można je obejść. inne
654 160-5 Korzystająć z aplikacji przeglądarkowej próby “”spiracenia“” oprogramowania na nic się nie zdadzą. Aplikacje webowe nie wymagają również instalacji a dają możliwość używania jednego adresu do aplikacji na PC i smartfona dzięki dopasowywaniu responsywnemu. rzeczowe
655 160-6 Pisanie jednej aplikacji + kilka layoutów jest znacznie mniej czasochłonne niż pisanie kilku osobnych aplikacji. Dodatkowo dochodzący narzut testowania i wspierania wielu różnych systemów daje ogromną przewagę jednej multiplatformowej aplikacji. rzeczowe
656 161-0 Także według mnie wizja zniknięcia WWW nie jest realna. Mało tego, jeśli by się tak stało, byłaby to KATASTROFA. emocjonalne
657 161-1 Ideą stron WWW jest ich niezależność od urządzeń. Tworzymy stronę internetową i mamy pewność, że zostanie wyświetlona na wszystkich urządzeniach z przeglądarką internetową. HTML i pokrewne technologie webowe to otwarte standardy, więc można je zaimplementować na każdym urządzeniu. Jest to swoisty uniwersalny język do publikowania w internecie. rzeczowe
658 161-2 Jak by to wyglądało gdyby zostały tylko aplikacje mobilne? hipoteza
659 161-3 Trzeba by było tworzyć kilkanaście aplikacji dla wielu urządzeń, a i tak nie obsłużylibyśmy wszystkich, ani tych nowo powstałych. Byłoby to faworyzowanie jednych firm, co mogłoby doprowadzić do powstania monopoli. logiczne
660 161-4 Jak w takim wypadku funkcjonowałby dostęp do informacji publicznej? Instytucje państwowe też byłyby zmuszone tworzyć aplikację pod różne platformy, a przecież państwo musi publikować w formacie powszechnie dostępnym, nie może faworyzować wybranych firm. Jednolity standard wymiany informacji jest konieczny. logiczne
661 161-5 Reasumując WWW nie zniknie - a jeśli nie zniknie, nie znikną także przeglądarki internetowe dla urządzeń mobilnych. hipoteza
662 162-0 Kiedyś żartobliwie mówiono, że niedługo komputer będzie już w każdej lodówce. Czy to “”niedługo“” jest już “”dzisiaj“”? Jakie zastosowania informatyki wdarły się do życia codziennego w taki sposób, że tego nie zauważamy? hipoteza
663 163-0 Komputery w życiu codziennym to już norma. Mamy z nimi do czynienia w kuchni, łazience oraz salonie. Firmy technologiczne dążą do stworzenia inteligentych domów, w zasadzie już takie domy istnieją, ale zwykły śmiertelnik może o nich tylko pomarzyć. emocjonalne
664 163-1 Zacznę więc może od wspomnianej lodówki. Na targach CES w 2011 roku firma LG zaprezentowała inteligentną lodówkę, która sama przeszukiwała internet w poszukiwaniu ciekawych przepisów, bazując przy tym na produktach, które znajdowały się w jej wnętrzu. Sprawdzanie terminów ważności produktów równeż nie było problemem. Wszystkie niezbędne informacje, dotyczące lodówki i produktów z jej wnętrza, użytkownik mógł odebrać przy pomocy komputera, bądź urządzenia mobilnego, podłączonego do internetu. rzeczowe
665 163-2 Samsung w tym roku zaprezentowały lodówki z wyświetlaczem dotykowym oraz możliwością dokonywania zakupów z poziomu lodówki. http://www.youtube.com/watch?v=yu3keu48hzY rzeczowe
666 163-3 Samsung i LG nie poprzestają tylko na konstruowaniu inteligentych urządzeń AGD, chcą również zapewnić swobodną komunikację pomiędzy urządzeniami bez naszej ingerencji. rzeczowe
667 163-4 Dwa tygodnie temu miałem okazję obejrzeć film dokumentalny o inteligentych domach. Prezentowane technologie mieściły się w centrum badawczym firmy Samsung, których oglądanie jest dostępne dla zwiedzających. Tak więc system rozpoznający domowników wybiera dla konkretnej osoby poziom oświetlenia w pomieszczeniu, załącza odpowiednią muzykę, itp. inne
668 163-5 Nie będę już wspominał o automatycznym nalewaniu wody do wanny o określonej godzinie, kabinach prysznicowych z telewizorem, łącznością telefoniczną i internetową czy podgrzewanych deskach sedesowych. Część tych rozwiązań jest już dostępna na rynku, a część będzie wdrażana w tym roku. inne
669 163-6 Zapewne część z Was słyszała o posiadłości Billa Gatesa, która jest w całości naszpikowana elektroniką. Jeśli nie to polecam poniższy artykuł: http://nt.interia.pl/gadzety/news-jak-mieszka-bill-gates,nId,690078 rzeczowe
670 164-0 Niestety taka komputeryzacja postępuje. Dlaczego niestety? hipoteza
671 164-1 Bo boje się iż ludzie przez nią staną się coraz bardziej leniwi i przepraszam za określenie ‘zidioceni’ emocjonalne
672 164-2 Dlaczego? Mamy juz inteligentne lodówki, samo czyszczące odkurzacze, samo jeżdzące samochody. To co człowiek ma robić? Jak żyć, skoro nie ma nawet najprostrzych codziennych udręk i wyzwań? Co gorsza w ten sposób ludzie oduczaja się dbać o inne rzeczy. Bo po co skoro komputer zrobi to za nas? hipoteza
673 164-3 Inny przykład -> anegdota prowadzacego która myślę także dobrze ilustruje ten problem. Myślę że pamiętacie jak pan dr.Marciniak opowiadał o dziecku, które próbowało przewracać kartki gazety palcem, tak samo jakby to był tablet. I wyobraźcie sobie sytuację za powiedzmy 20 lat. Gdzie nie ma już gazet, tylko same e-papiery i tablety. A tu w piwnicy znajdzie stary album ze zdjęciami i próbując go otworzyć nieświadomie go zniszczy. emocjonalne
674 164-4 Jest to problem teoretycznie wielokrotnie wyśmiewany w naszej kulturze np w filmie animowanym WALL-E LINK 1 WALL-E LINK 2 gdzie mamy wiele scen pokazujących wręcz ludzka degenerację w pełni zautomatyzowanym świecie. Jednak moim zdaniem problem istnieje i sądzę że komputery nie powinny być wpychane gdzie popadnie. emocjonalne
675 165-0 Odwołując się do wypowiedzi Sławka 2 i 3 akapit. Co prawda powstaje coraz lepszy sprzęt ale kto z niego korzysta? Nie znam nikogo kto by miał samoczyszczący odkurzacz, czy inteligentną lodówkę. Zwykły szary obywatel woli te pieniądze przeznaczyć na coś innego, a ci co kupują taki sprzęt i tak by sami nie sprzątali. Wydaje mi się, że jeszcze sporo czasu pomęczymy się z odkurzaczem. inne
676 165-1 Jednak postem komputeryzacji w naszym życiu możemy zaobserwować np. siedząc na wykładzie. Kiedyś na nudnych zajęciach uczniowie/studyci grali w kółko i krzyżyk, statki itp., a notowali w zeszycie. Teraz co druga osoba siedzi z laptopem lub innym sprzętem elektronicznym, nieraz też słyszałam w telewizji rozmowy polityków by dzieci zamiast książek i zeszytów chodziły do szkoły z laptopami. Również ściąga pisana na kartce została totalnie wyparta przez elektronikę. logiczne
677 165-2 Twoje podejście pozwól że zripostuje cytatem Kena Olsena z 1977r. rzeczowe
678 165-3 Nie ma żadnego powodu, aby ktokolwiek posiadał w domu komputer. hipoteza
679 165-4 To że niestety Emilio ty nie posiadasz jakiegoś sprzętu, nie oznacza że nie moga go zdobyć inni. Zaś człowiek to istota niestety leniwa, praktycznie każdy wynalazek który powstał z ręki człowieka służył tylko temu aby życie było łatwiejsze i przyjemniejsze, więc zawsze znajdzie się ktoś kto kupi twoim zdaniem bezwartościowy sprzęt. emocjonalne
680 165-5 Podobne podejście miał właśnie wyżej wymieniony człowiek. Po co komputer w każdym domu? Do rachowania można wykorzystać liczydło! A ile kasy zostanie na “”coś innego“”. Zwykły szary obywatel zaczyna doceniać dobrodziejstwa tych przedmiotów gdy bezpośrednio dotkną jego najbliższego otoczenia. To czego ja się boję to fakt iż nikt nie zauważa płynących z tego zagrożeń i konsekwencji. emocjonalne
681 165-6 Może swoimi przykładami za bardzo wyszedłem w przyszłość. Spójrzmy na bardziej dziś rozpowszechnione użycie komputera. Np. E-ramki do wyświetlania zdjęć. Wygodne, 1 ramka losowo wybiera i zmienia w jednostce czasu zdjęcia. Inny przykład - już gorszy to komputeryzacja aut. W szczególności w przypadkach gdzie elektronika jest wpychana na siłę tam gdzie nie jest o to proszona. inne
682 165-7 Np. Automatyczna skrzynia biegów lub lepiej polecam zapoznać się z problemem “”Sudden Acceleration“” w samochodach Hundai czy Toyota. Wprowadzono elektroniczny, komputerowo sterowany system cruise control. który oczywiście nie najlepiej otestowany potrafił rozpędzić auto do 120 km/h uniemożliwiając hamowanie i zabijając/cięzko raniąc kierowcę. rzeczowe
683 165-8 Mniej drastyczny przykład. Z mojego życia. Dostałem latem “”strzała“” w tył samochodu, na parkingu sklepowym. Jakie było tłumaczenie sprawcy? Panie nooo przepraszam, ale komputer mi za późno zapiszczał jak cofałem… inne
684 165-9 Nie muszę dodawać faktu że ochrzan po tym zdaniu zebrał od góry do dołu. Człowiek tak się rozleniwił i polegał na komputerze w swoim SUV-ie że nie używał lusterek. I tym samym na ślepo przywalił w kuper. Dla mnie to jest coś nie do pomyślenia. emocjonalne
685 165-10 Nieraz też słyszałam w telewizji rozmowy polityków by dzieci zamiast książek i zeszytów chodziły do szkoły z laptopami. Również ściąga pisana na kartce została totalnie wyparta przez elektronikę. inne
686 165-11 Niestety prawda. I tym sposobem mamy plagę Dys-(wstaw dowolne słowo). Wszyscy piszą jak kura pazurem, robiąc błąd na błędzie (na kartce jakoś brak autokorekty). A matematyka? Po co, jest kalkulator!. Akurat pomysł z laptopami np w gimnazjach czy szkołach podstawowych uważam za fatalny. emocjonalne
687 165-12 Ale niektóre zastosowania komputerów w szkołach np. elektroniczne tablice są super, rozwijają, umożliwiają jak u mnie w Liceum szybkie rysowanie funkcji, czy brył przez co zajęcia matematyki były naprawdę fascynujące nie trzeba wyznaczać ucznia “”gąbkowego“” do czyszczenia tablic, etc. I na kredzie się oszczędzało! inne
688 166-0 Według mnie komputeryzacja ma także swoje zalety. Prawda jest taka, że użytkownik, który potrafi myśleć logicznie i konstruktywnie zawsze znajdzie sposób na wykorzystanie nawet tej przykładowej lodówki do swoich określonych zastosowań. Nie musi to koniecznie prowadzić do “”zidiocenia“” użytkowników danego urządzenia, lecz może sprawić, że będziemy w stanie poszerzyć nasz wachlarz możliwości. logiczne
689 166-1 Rozumiem katastrofalny przykład, który przytoczył Sławomir odnośnie niedostatecznie wykonanych testów układu elektronicznego w samochodzie, jednak należy wziąć pod uwagę, że był to błąd systemu, każda maszyna/system o średnim stopniu zaawansowania jest podatna na awarie, czy to w sensie fizycznym czy logicznym ( np. z powodu złych warunków zapisanych w programie). logiczne
690 166-2 Jestem bardzo zadowolony z tego powodu, że żyję w czasach bardzo szybkiego postępu technicznego i informatycznego. Nie wyobrażam sobie szczerze mówiąc życia bez komputera. Jest on zbyt dogodnym źródłem informacji, rozrywki oraz wszelakiej formy komunikacji bym mógł zwyczajnie się od niego odzwyczaić. inne
691 166-3 Zapewne wiele osób w przeszłości uważało, że komputer czy internet to są zbyteczne wynalazki, podczas, gdy przyczyniły się znacząco do rozwoju oraz wymiany informacji przez ludzi na całym świecie. rzeczowe
692 166-4 Co do przytaczania lenistwa ludzi podczas używania jakiegokolwiek udogodnienia technicznego, jedyne co mogę powiedzieć to, że istnieli i zawsze istnieć będą ludzie, którzy z powodu lenistwa będą zrzucać winę na cokolwiek innego niż na samego siebie. hipoteza
693 166-5 Nie zgadzam się do końca również z twierdzeniem, że osoba używająca komputera tudzież kalkulatora jest osobą z miejsca skazaną na dysortografię czy problemy matematyczne. Sam obcuję z komputerem od 7-go roku życia. Nie zauważyłem do tej pory żadnych większych (ponadprzeciętnych) problemów z ortografią tudzież składnią pisanych przeze mnie zdań. inne
694 166-6 Co więcej, uważam, że praca z komputerem wspomaga naukę czytania. W momencie gdy potrzebujemy uzyskać dostęp do jakiejś interesującej nas informacji musimy umiejętnie operować hasłami w celu wyszukania treści, która nas zadowoli. inne
695 166-7 Sławku rozumiem, że jesteś wielbicielem sprzątania :) Nie miałbym nic przeciwko jakbym włączył urządzenie, które za mnie odkurzy dom, a ja mogę się oddać innym zajęciom. emocjonalne
696 166-8 Chcesz oglądać zdjęcia to są albumy czy też komputery jeśli ma się zdjęcia w postaci cyfrowej. Mnie rozpraszałoby u denerwowało przeskakiwanie obrazu i dodatkowo jej światło nie pozwalało zasnąć (w przypadku posiadania czegoś takiego w sypialni). inne
697 166-9 Na chwilę obecną mamy możliwość wybierania rzeczy bardziej lub mniej skomputeryzowanych i cieszmy się z tego. emocjonalne
698 167-0 Kiedyś nie wyobrażano sobie, że można iść do sklepu i kupić chleb, czy słodycze. Bo po co, skoro można zrobić to samemu, dokładnie tak jak chcemy? Technologia rozwija się i nie ma od tego odwrotu. Życie staje się coraz prostsze i na pewno ma to swoje zalety. Można uprościć wiele uciążliwych czynności: automatyczne odkurzacze, automatyczne piekarniki, programowalne całe domy. Najważniejsze to mieć świadomość wad i zalet takiego rozwoju. emocjonalne
699 167-1 Zazwyczaj nikt nie zmusza do korzystania z nowych technologii. Można jednak zautomatyzować wykonywanie nielubianych czynności i dzięki temu zyskać czas na robienie tego, co się lubi. Jeśli ktoś lubi czytać papierowe książki czy jeździć samochodem bez elektronicznych systemów ciągle może to robić. Posiadamy coraz więcej i chociaż pewnie można się obejść bez 90% urządzeń, czy gadżetów to jednak znaczna część czyni życie bardziej komfortowym. logiczne
700 167-2 Cieszę się jednak, że jesteśmy pokoleniem przejścia, które zna jeszcze świat bez ogólnodostępnego internetu i komputerów w praktyczni każdym miejscu. Nowe pokolenie jest już inaczej ukształtowane - tracą umiejętność zapamiętywania informacji, na rzecz umiejętności ich wyszukiwania. Można zapytać co stanie się, kiedy padnie internet? A co stanie się z nami kiedy nie będzie prądu? Też nie potrafimy wykonywać wielu czynności, które były powszechne choćby 20 lat temu i jakoś większość ludzi nie zawraca sobie głowy, żeby się ich nauczyć. hipoteza
701 167-3 Choćby wspomniany wcześniej chleb - ile znacie osób, które potrafią zrobić go od zera, łącznie z zebraniem zboża i zrobieniem mąki? Bo jest to zbędne i może być traktowane w ramach hobby, ciekawostki. Internet jest już praktycznie wszędzie, jeśli ktoś chce może mieć do niego dostęp 24 godziny na dobę. inne
702 167-4 Jeśli ktoś nie chce, czy nie potrafi nauczyć się jeździć autem, będzie miał możliwość korzystania z automatycznych pojazdów. Jeśli ktoś uwielbia prowadzić i jest to jego hobby będzie mógł robić to częściej, ponieważ czynności domowe, na które poświęcał czas wykonają za niego roboty. logiczne

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

View File

@ -1,401 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>All Classes (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.js"></script>
</head>
<body class="all-classes-index">
<script type="text/javascript">var data = {"i0":2,"i1":1,"i2":4,"i3":2,"i4":1,"i5":2,"i6":2,"i7":1,"i8":2,"i9":2,"i10":2,"i11":2,"i12":1,"i13":2,"i14":2,"i15":2,"i16":2,"i17":2,"i18":2,"i19":1,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":1,"i26":2,"i27":2,"i28":4,"i29":2,"i30":1,"i31":2,"i32":2,"i33":8,"i34":2,"i35":2,"i36":2,"i37":8,"i38":1,"i39":4,"i40":2,"i41":2,"i42":2,"i43":4};
var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"],8:["t4","Exception Summary"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
</div>
<div class="allClassesContainer">
<div class="typeSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="typeSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Classes</button><button role="tab" aria-selected="false" aria-controls="typeSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Interface Summary</button><button role="tab" aria-selected="false" aria-controls="typeSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Class Summary</button><button role="tab" aria-selected="false" aria-controls="typeSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t3" class="tableTab" onclick="show(4);">Enum Summary</button><button role="tab" aria-selected="false" aria-controls="typeSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Exception Summary</button></div>
<div id="typeSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><a href="com/plannaplan/entities/AppConfig.html" title="class in com.plannaplan.entities">AppConfig</a></td>
<th class="colLast" scope="row">
<div class="block">entity that keeps app configurations</div>
</th>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><a href="com/plannaplan/repositories/AppConfigRepository.html" title="interface in com.plannaplan.repositories">AppConfigRepository</a></td>
<th class="colLast" scope="row">
<div class="block">Repository for app config</div>
</th>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><a href="com/plannaplan/types/AppState.html" title="enum in com.plannaplan.types">AppState</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><a href="com/plannaplan/entities/Assignment.html" title="class in com.plannaplan.entities">Assignment</a></td>
<th class="colLast" scope="row">
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</th>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><a href="com/plannaplan/repositories/AssignmentRepository.html" title="interface in com.plannaplan.repositories">AssignmentRepository</a></td>
<th class="colLast" scope="row">
<div class="block">AssignmentRepository.getByCommision:
Return list of:
SELECT * FROM Assignment WHERE commision_id = i .</div>
</th>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><a href="com/plannaplan/services/AssignmentService.html" title="class in com.plannaplan.services">AssignmentService</a></td>
<th class="colLast" scope="row">
<div class="block">Service of Assignment which can save assignments, diplay assignments, get
ammount of assigments.</div>
</th>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><a href="com/plannaplan/entities/Commision.html" title="class in com.plannaplan.entities">Commision</a></td>
<th class="colLast" scope="row">
<div class="block">Entity of Commision grouping of state associated about commison and owner_id</div>
</th>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><a href="com/plannaplan/repositories/CommisionRepository.html" title="interface in com.plannaplan.repositories">CommisionRepository</a></td>
<th class="colLast" scope="row">
<div class="block">CommisionRepository.getUsers: Return list of: SELECT * FROM Commision WHERE
owner_id = i .</div>
</th>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><a href="com/plannaplan/services/CommisionService.html" title="class in com.plannaplan.services">CommisionService</a></td>
<th class="colLast" scope="row">
<div class="block">Service of CommisionService which can save commision, get user's commisions,
get newest user's commision, get ammount of commisions.</div>
</th>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><a href="com/plannaplan/models/ConfigData.html" title="class in com.plannaplan.models">ConfigData</a></td>
<th class="colLast" scope="row">
<div class="block">Config data copntainer to keep tours dates and stream of dasta to import</div>
</th>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><a href="com/plannaplan/services/ConfiguratorService.html" title="class in com.plannaplan.services">ConfiguratorService</a></td>
<th class="colLast" scope="row">
<div class="block">FileReader is used for reading xls file from input stream.</div>
</th>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><a href="com/plannaplan/entities/Course.html" title="class in com.plannaplan.entities">Course</a></td>
<th class="colLast" scope="row">
<div class="block">Entity of Course grouping of state of course</div>
</th>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><a href="com/plannaplan/repositories/CourseRepository.html" title="interface in com.plannaplan.repositories">CourseRepository</a></td>
<th class="colLast" scope="row">
<div class="block">CourseRepository.findByName:
Return list of:
SELECT * FROM Course WHERE name = i .</div>
</th>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><a href="com/plannaplan/services/CourseService.html" title="class in com.plannaplan.services">CourseService</a></td>
<th class="colLast" scope="row">
<div class="block">Service of CourseService which can get(Course By Name, All Courses, Courses
Ammount ), save, delete course.</div>
</th>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><a href="com/plannaplan/models/EmailAcceptedData.html" title="class in com.plannaplan.models">EmailAcceptedData</a></td>
<th class="colLast" scope="row">
<div class="block">Instance to keep data to send in mail about accepted courses results</div>
</th>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><a href="com/plannaplan/models/EmailExchangesData.html" title="class in com.plannaplan.models">EmailExchangesData</a></td>
<th class="colLast" scope="row">
<div class="block">Class to keepm data to be send after exchanges being accept</div>
</th>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><a href="com/plannaplan/services/EmailService.html" title="class in com.plannaplan.services">EmailService</a></td>
<th class="colLast" scope="row">
<div class="block">Service to send emails</div>
</th>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><a href="com/plannaplan/services/EventService.html" title="class in com.plannaplan.services">EventService</a></td>
<th class="colLast" scope="row">
<div class="block">Service to manage app events</div>
</th>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><a href="com/plannaplan/entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a></td>
<th class="colLast" scope="row">
<div class="block">Entity that keeps user exchange offer.</div>
</th>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><a href="com/plannaplan/repositories/ExchangeRepository.html" title="interface in com.plannaplan.repositories">ExchangeRepository</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><a href="com/plannaplan/services/ExchangeService.html" title="class in com.plannaplan.services">ExchangeService</a></td>
<th class="colLast" scope="row">
<div class="block">Service to manage Exchanges</div>
</th>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><a href="com/plannaplan/models/ExportData.html" title="class in com.plannaplan.models">ExportData</a></td>
<th class="colLast" scope="row">
<div class="block">Container to keep data to export</div>
</th>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><a href="com/plannaplan/models/FileData.html" title="class in com.plannaplan.models">FileData</a></td>
<th class="colLast" scope="row">
<div class="block">Wrapper for data readed from file</div>
</th>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><a href="com/plannaplan/configutils/FileReader.html" title="class in com.plannaplan.configutils">FileReader</a></td>
<th class="colLast" scope="row">
<div class="block">FileReader is used for reading xls file from input stream.</div>
</th>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><a href="com/plannaplan/configutils/FileToDatabaseMigrator.html" title="class in com.plannaplan.configutils">FileToDatabaseMigrator</a></td>
<th class="colLast" scope="row">
<div class="block">FileToDatabaseMigrator is used for migrate data from file (it reads line by
line) and push it into database</div>
</th>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><a href="com/plannaplan/repositories/GroupRepository.html" title="interface in com.plannaplan.repositories">GroupRepository</a></td>
<th class="colLast" scope="row">
<div class="block">GroupRepository.find:
Return list of:
SELECT * FROM Groups WHERE time = i AND room = j AND capacity = k .</div>
</th>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><a href="com/plannaplan/entities/Groups.html" title="class in com.plannaplan.entities">Groups</a></td>
<th class="colLast" scope="row">
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</th>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><a href="com/plannaplan/services/GroupService.html" title="class in com.plannaplan.services">GroupService</a></td>
<th class="colLast" scope="row">
<div class="block">Service of GroupService which can find(optional), get(By Course, Groups
Ammount, Group By Id, find Not Existing Group), save, delete group.</div>
</th>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><a href="com/plannaplan/types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a></td>
<th class="colLast" scope="row">
<div class="block">GroupType contains types: LECTURE, CLASS, LAB, SEMINAR, CONSERVATORY, PRATICE</div>
</th>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><a href="com/plannaplan/entities/Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></td>
<th class="colLast" scope="row">
<div class="block">Entity of Lecturer grouping of state ssociated about id,title,name,surname</div>
</th>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><a href="com/plannaplan/repositories/LecturerRepository.html" title="interface in com.plannaplan.repositories">LecturerRepository</a></td>
<th class="colLast" scope="row">
<div class="block">LecturerRepository.find:
Return list of:
SELECT * FROM Lecturer WHERE title = i AND name = j AND surname = k.</div>
</th>
</tr>
<tr class="rowColor" id="i31">
<td class="colFirst"><a href="com/plannaplan/services/LecturerService.html" title="class in com.plannaplan.services">LecturerService</a></td>
<th class="colLast" scope="row">
<div class="block">Service of LecturerService which can get(Lecturer, Lecturers Ammount), save, delete lecturers.</div>
</th>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><a href="com/plannaplan/models/MatchData.html" title="class in com.plannaplan.models">MatchData</a></td>
<th class="colLast" scope="row">
<div class="block">Match of users Exchange's to be performed</div>
</th>
</tr>
<tr class="rowColor" id="i33">
<td class="colFirst"><a href="com/plannaplan/exceptions/TokenExpiredException.html" title="class in com.plannaplan.exceptions">TokenExpiredException</a></td>
<th class="colLast" scope="row">
<div class="block">Excepction to be thrown when provided token is expired</div>
</th>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><a href="com/plannaplan/models/TourData.html" title="class in com.plannaplan.models">TourData</a></td>
<th class="colLast" scope="row">
<div class="block">Container for Tours dates</div>
</th>
</tr>
<tr class="rowColor" id="i35">
<td class="colFirst"><a href="com/plannaplan/entities/User.html" title="class in com.plannaplan.entities">User</a></td>
<th class="colLast" scope="row">
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</th>
</tr>
<tr class="altColor" id="i36">
<td class="colFirst"><a href="com/plannaplan/models/UserApiResponse.html" title="class in com.plannaplan.models">UserApiResponse</a></td>
<th class="colLast" scope="row">
<div class="block">Model to keep data from /services/users/user response called in
UsosApiService</div>
</th>
</tr>
<tr class="rowColor" id="i37">
<td class="colFirst"><a href="com/plannaplan/exceptions/UserNotFoundException.html" title="class in com.plannaplan.exceptions">UserNotFoundException</a></td>
<th class="colLast" scope="row">
<div class="block">Exception to be thrown when provided user does not exist in database</div>
</th>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><a href="com/plannaplan/repositories/UserRepository.html" title="interface in com.plannaplan.repositories">UserRepository</a></td>
<th class="colLast" scope="row">
<div class="block">UserRepository.getByAuthority: Return list of: SELECT * FROM User WHERE email
= i.</div>
</th>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><a href="com/plannaplan/types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a></td>
<th class="colLast" scope="row">
<div class="block">UserRoles contains types: STUDENT, DEANERY, ADMIN, TEST_USER</div>
</th>
</tr>
<tr class="altColor" id="i40">
<td class="colFirst"><a href="com/plannaplan/services/UserService.html" title="class in com.plannaplan.services">UserService</a></td>
<th class="colLast" scope="row">
<div class="block">Service of UserService which can get(By Email), login, save user.</div>
</th>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><a href="com/plannaplan/services/UsosApiService.html" title="class in com.plannaplan.services">UsosApiService</a></td>
<th class="colLast" scope="row">
<div class="block">service to call usos api endpoints</div>
</th>
</tr>
<tr class="altColor" id="i42">
<td class="colFirst"><a href="com/plannaplan/api/UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></td>
<th class="colLast" scope="row">
<div class="block">singleton class to sign usos api requests with oauth</div>
</th>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><a href="com/plannaplan/types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a></td>
<th class="colLast" scope="row">
<div class="block">WeekDay contains types: MONDAY(0), TUESDAY(1), WEDNESDAY(2), THURSDAY(3), FRIDAY(4), SATURDAY(5), SUNDAY(6).</div>
</th>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,164 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>All Packages (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.js"></script>
</head>
<body class="all-packages-index">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="allPackagesContainer">
<div class="packagesSummary">
<table>
<caption><span>Package Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/api/package-summary.html">com.plannaplan.api</a></th>
<td class="colLast">
<div class="block">Provides the classes necessary to obtain usos authentication with Oauth1</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/configutils/package-summary.html">com.plannaplan.configutils</a></th>
<td class="colLast">
<div class="block">Provides the classes necessary to to config and import related operations in
the app</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/entities/package-summary.html">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/exceptions/package-summary.html">com.plannaplan.exceptions</a></th>
<td class="colLast">
<div class="block">Provides custom for our app exceptions to get more accutrate errors info</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/models/package-summary.html">com.plannaplan.models</a></th>
<td class="colLast">
<div class="block">Provides readonly (mostly) classes to keep data for diffrent pourposes</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/repositories/package-summary.html">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/services/package-summary.html">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/plannaplan/types/package-summary.html">com.plannaplan.types</a></th>
<td class="colLast">
<div class="block">Provides enums for different goals.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,335 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>UsosOauth1Service (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.api, class: UsosOauth1Service">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/UsosOauth1Service.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.api</a></div>
<h1 title="Class UsosOauth1Service" class="title">Class UsosOauth1Service</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.github.scribejava.core.builder.api.DefaultApi10a
<div class="inheritance">com.plannaplan.api.UsosOauth1Service</div>
</div>
</div>
<section class="description">
<hr>
<pre>public class <span class="typeNameLabel">UsosOauth1Service</span>
extends com.github.scribejava.core.builder.api.DefaultApi10a</pre>
<div class="block">singleton class to sign usos api requests with oauth</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">UsosOauth1Service</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String...)">UsosOauth1Service</a></span>&#8203;(java.lang.String...&nbsp;scopes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAccessTokenEndpoint()">getAccessTokenEndpoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAuthorizationBaseUrl()">getAuthorizationBaseUrl</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRequestTokenEndpoint()">getRequestTokenEndpoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#instance()">instance</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>static <a href="UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#instance(java.lang.String...)">instance</a></span>&#8203;(java.lang.String...&nbsp;scopes)</code></th>
<td class="colLast">
<div class="block">get instance withj scopes</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;com.github.scribejava.core.builder.api.DefaultApi10a</h3>
<a id="methods.inherited.from.class.com.github.scribejava.core.builder.api.DefaultApi10a">
<!-- -->
</a><code>createService, getAccessTokenExtractor, getAccessTokenVerb, getAuthorizationUrl, getBaseStringExtractor, getHeaderExtractor, getRequestTokenExtractor, getRequestTokenVerb, getSignatureService, getSignatureType, getTimestampService, isEmptyOAuthTokenParamIsRequired</code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">UsosOauth1Service</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="memberName">UsosOauth1Service</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String...)">UsosOauth1Service</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="memberName">UsosOauth1Service</span>&#8203;(<span class="arguments">java.lang.String...&nbsp;scopes)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="instance()">instance</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></span>&nbsp;<span class="memberName">instance</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="instance(java.lang.String...)">instance</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></span>&nbsp;<span class="memberName">instance</span>&#8203;(<span class="arguments">java.lang.String...&nbsp;scopes)</span></div>
<div class="block">get instance withj scopes</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scopes</code> - to get instance with</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>UsosOauth1Service instance</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRequestTokenEndpoint()">getRequestTokenEndpoint</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getRequestTokenEndpoint</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getRequestTokenEndpoint</code>&nbsp;in class&nbsp;<code>com.github.scribejava.core.builder.api.DefaultApi10a</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getAccessTokenEndpoint()">getAccessTokenEndpoint</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getAccessTokenEndpoint</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getAccessTokenEndpoint</code>&nbsp;in class&nbsp;<code>com.github.scribejava.core.builder.api.DefaultApi10a</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getAuthorizationBaseUrl()">getAuthorizationBaseUrl</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getAuthorizationBaseUrl</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getAuthorizationBaseUrl</code>&nbsp;in class&nbsp;<code>com.github.scribejava.core.builder.api.DefaultApi10a</code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/UsosOauth1Service.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,157 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.api.UsosOauth1Service (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.api, class: UsosOauth1Service">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.api.UsosOauth1Service" class="title">Uses of Class<br>com.plannaplan.api.UsosOauth1Service</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.api">com.plannaplan.api</a></th>
<td class="colLast">
<div class="block">Provides the classes necessary to obtain usos authentication with Oauth1</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.api">
<!-- -->
</a>
<h2>Uses of <a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a> in <a href="../package-summary.html">com.plannaplan.api</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.api</a> that return <a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UsosOauth1Service.</span><code><span class="memberNameLink"><a href="../UsosOauth1Service.html#instance()">instance</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UsosOauth1Service.</span><code><span class="memberNameLink"><a href="../UsosOauth1Service.html#instance(java.lang.String...)">instance</a></span>&#8203;(java.lang.String...&nbsp;scopes)</code></th>
<td class="colLast">
<div class="block">get instance withj scopes</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../UsosOauth1Service.html" title="class in com.plannaplan.api">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,135 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>com.plannaplan.api (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.api">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-declaration">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;com.plannaplan.api</h1>
</div>
<div class="contentContainer">
<section class="packageDescription"><a id="package.description">
<!-- -->
</a>
<div class="block">Provides the classes necessary to obtain usos authentication with Oauth1</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<li class="blockList">
<div class="typeSummary">
<table>
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="UsosOauth1Service.html" title="class in com.plannaplan.api">UsosOauth1Service</a></th>
<td class="colLast">
<div class="block">singleton class to sign usos api requests with oauth</div>
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,119 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>com.plannaplan.api Class Hierarchy (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="tree: package: com.plannaplan.api">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-tree">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.plannaplan.api</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">com.github.scribejava.core.builder.api.DefaultApi10a
<ul>
<li class="circle">com.plannaplan.api.<a href="UsosOauth1Service.html" title="class in com.plannaplan.api"><span class="typeNameLink">UsosOauth1Service</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,149 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Package com.plannaplan.api (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.api">
<meta name="generator" content="javadoc/PackageUseWriter">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-use">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Package com.plannaplan.api" class="title">Uses of Package<br>com.plannaplan.api</h1>
</div>
<div class="contentContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="package-summary.html">com.plannaplan.api</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.api">com.plannaplan.api</a></th>
<td class="colLast">
<div class="block">Provides the classes necessary to obtain usos authentication with Oauth1</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="packageUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.api">
<!-- -->
</a>
<div class="useSummary">
<table>
<caption><span>Classes in <a href="package-summary.html">com.plannaplan.api</a> used by <a href="package-summary.html">com.plannaplan.api</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/UsosOauth1Service.html#com.plannaplan.api">UsosOauth1Service</a></th>
<td class="colLast">
<div class="block">singleton class to sign usos api requests with oauth</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,266 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>FileReader (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.configutils, class: FileReader">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FileReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.configutils</a></div>
<h1 title="Class FileReader" class="title">Class FileReader</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.configutils.FileReader</div>
</div>
<section class="description">
<hr>
<pre>public class <span class="typeNameLabel">FileReader</span>
extends java.lang.Object</pre>
<div class="block">FileReader is used for reading xls file from input stream.</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.io.InputStream)">FileReader</a></span>&#8203;(java.io.InputStream&nbsp;fileInputStream)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../models/FileData.html" title="class in com.plannaplan.models">FileData</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#read()">read</a></span>()</code></th>
<td class="colLast">
<div class="block">read data rom file</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.io.InputStream)">FileReader</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">FileReader</span>&#8203;(<span class="arguments">java.io.InputStream&nbsp;fileInputStream)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fileInputStream</code> - stream of stadarized file contains courses and gropups
to import. File needs to be .xlsx file that has
fields: zaj_cyk_id, typ, sym, nazwa, gr_nr, Mc, dzien,
godz_od, sala, tytul, nazwisko, imie. Order doesn't
have impact on import. Any change name of given field
can be performed in FileToDatabaseMigrator class</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="read()">read</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../models/FileData.html" title="class in com.plannaplan.models">FileData</a></span>&nbsp;<span class="memberName">read</span>()</div>
<div class="block">read data rom file</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>instance of class FileData</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FileReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,259 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>FileToDatabaseMigrator (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.configutils, class: FileToDatabaseMigrator">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FileToDatabaseMigrator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.configutils</a></div>
<h1 title="Class FileToDatabaseMigrator" class="title">Class FileToDatabaseMigrator</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.configutils.FileToDatabaseMigrator</div>
</div>
<section class="description">
<hr>
<pre>@Component
public class <span class="typeNameLabel">FileToDatabaseMigrator</span>
extends java.lang.Object</pre>
<div class="block">FileToDatabaseMigrator is used for migrate data from file (it reads line by
line) and push it into database</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">FileToDatabaseMigrator</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#migrate(com.plannaplan.models.FileData)">migrate</a></span>&#8203;(<a href="../models/FileData.html" title="class in com.plannaplan.models">FileData</a>&nbsp;data)</code></th>
<td class="colLast">
<div class="block">insert data to database</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">FileToDatabaseMigrator</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">FileToDatabaseMigrator</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="migrate(com.plannaplan.models.FileData)">migrate</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">migrate</span>&#8203;(<span class="arguments"><a href="../models/FileData.html" title="class in com.plannaplan.models">FileData</a>&nbsp;data)</span></div>
<div class="block">insert data to database</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - FileData imported from file</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FileToDatabaseMigrator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,100 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.configutils.FileReader (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.configutils, class: FileReader">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../FileReader.html" title="class in com.plannaplan.configutils">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.configutils.FileReader" class="title">Uses of Class<br>com.plannaplan.configutils.FileReader</h1>
</div>
<div class="classUseContainer">No usage of com.plannaplan.configutils.FileReader</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../FileReader.html" title="class in com.plannaplan.configutils">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,100 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.configutils.FileToDatabaseMigrator (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.configutils, class: FileToDatabaseMigrator">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../FileToDatabaseMigrator.html" title="class in com.plannaplan.configutils">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.configutils.FileToDatabaseMigrator" class="title">Uses of Class<br>com.plannaplan.configutils.FileToDatabaseMigrator</h1>
</div>
<div class="classUseContainer">No usage of com.plannaplan.configutils.FileToDatabaseMigrator</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../FileToDatabaseMigrator.html" title="class in com.plannaplan.configutils">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,143 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>com.plannaplan.configutils (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.configutils">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-declaration">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;com.plannaplan.configutils</h1>
</div>
<div class="contentContainer">
<section class="packageDescription"><a id="package.description">
<!-- -->
</a>
<div class="block">Provides the classes necessary to to config and import related operations in
the app</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<li class="blockList">
<div class="typeSummary">
<table>
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="FileReader.html" title="class in com.plannaplan.configutils">FileReader</a></th>
<td class="colLast">
<div class="block">FileReader is used for reading xls file from input stream.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="FileToDatabaseMigrator.html" title="class in com.plannaplan.configutils">FileToDatabaseMigrator</a></th>
<td class="colLast">
<div class="block">FileToDatabaseMigrator is used for migrate data from file (it reads line by
line) and push it into database</div>
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,116 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>com.plannaplan.configutils Class Hierarchy (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="tree: package: com.plannaplan.configutils">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-tree">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.plannaplan.configutils</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">com.plannaplan.configutils.<a href="FileReader.html" title="class in com.plannaplan.configutils"><span class="typeNameLink">FileReader</span></a></li>
<li class="circle">com.plannaplan.configutils.<a href="FileToDatabaseMigrator.html" title="class in com.plannaplan.configutils"><span class="typeNameLink">FileToDatabaseMigrator</span></a></li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,100 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Package com.plannaplan.configutils (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.configutils">
<meta name="generator" content="javadoc/PackageUseWriter">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-use">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Package com.plannaplan.configutils" class="title">Uses of Package<br>com.plannaplan.configutils</h1>
</div>
<div class="contentContainer">No usage of com.plannaplan.configutils</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,443 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>AppConfig (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: AppConfig">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AppConfig.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class AppConfig" class="title">Class AppConfig</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.AppConfig</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">AppConfig</span>
extends java.lang.Object</pre>
<div class="block">entity that keeps app configurations</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">AppConfig</a></span>()</code></th>
<td class="colLast">
<div class="block">no parameter construcotor</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.plannaplan.models.TourData,com.plannaplan.models.TourData)">AppConfig</a></span>&#8203;(<a href="../models/TourData.html" title="class in com.plannaplan.models">TourData</a>&nbsp;firstTour,
<a href="../models/TourData.html" title="class in com.plannaplan.models">TourData</a>&nbsp;scondTour)</code></th>
<td class="colLast">
<div class="block">constructor</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.sql.Timestamp</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConfigDate()">getConfigDate</a></span>()</code></th>
<td class="colLast">
<div class="block">config date getter</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../types/AppState.html" title="enum in com.plannaplan.types">AppState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentState()">getCurrentState</a></span>()</code></th>
<td class="colLast">
<div class="block">current state getter</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.sql.Date</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirstTourEnd()">getFirstTourEnd</a></span>()</code></th>
<td class="colLast">
<div class="block">first tour end getter</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>org.springframework.scheduling.support.CronTrigger</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirstTourEndCron()">getFirstTourEndCron</a></span>()</code></th>
<td class="colLast">
<div class="block">get cron expression of first tour end</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>java.sql.Date</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirstTourStart()">getFirstTourStart</a></span>()</code></th>
<td class="colLast">
<div class="block">first tour start getter</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>org.springframework.scheduling.support.CronTrigger</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirstTourStartCron()">getFirstTourStartCron</a></span>()</code></th>
<td class="colLast">
<div class="block">get cron expression of first tour start</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>java.sql.Date</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSecondTourEnd()">getSecondTourEnd</a></span>()</code></th>
<td class="colLast">
<div class="block">second tour end getter</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>org.springframework.scheduling.support.CronTrigger</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSecondTourEndCron()">getSecondTourEndCron</a></span>()</code></th>
<td class="colLast">
<div class="block">get cron expression of second tour end</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>java.sql.Date</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSecondTourStart()">getSecondTourStart</a></span>()</code></th>
<td class="colLast">
<div class="block">first second start getter</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>org.springframework.scheduling.support.CronTrigger</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSecondTourStartCron()">getSecondTourStartCron</a></span>()</code></th>
<td class="colLast">
<div class="block">get cron expression of second tour start</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">AppConfig</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">AppConfig</span>()</div>
<div class="block">no parameter construcotor</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(com.plannaplan.models.TourData,com.plannaplan.models.TourData)">AppConfig</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">AppConfig</span>&#8203;(<span class="arguments"><a href="../models/TourData.html" title="class in com.plannaplan.models">TourData</a>&nbsp;firstTour,
<a href="../models/TourData.html" title="class in com.plannaplan.models">TourData</a>&nbsp;scondTour)</span></div>
<div class="block">constructor</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>firstTour</code> - first TourData instacne</dd>
<dd><code>scondTour</code> - second TourData instacne</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getSecondTourEnd()">getSecondTourEnd</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Date</span>&nbsp;<span class="memberName">getSecondTourEnd</span>()</div>
<div class="block">second tour end getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Date inforamtion when second tour ends</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSecondTourStart()">getSecondTourStart</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Date</span>&nbsp;<span class="memberName">getSecondTourStart</span>()</div>
<div class="block">first second start getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Date inforamtion when second tour start</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFirstTourEnd()">getFirstTourEnd</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Date</span>&nbsp;<span class="memberName">getFirstTourEnd</span>()</div>
<div class="block">first tour end getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Date inforamtion when first tour end</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFirstTourStart()">getFirstTourStart</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Date</span>&nbsp;<span class="memberName">getFirstTourStart</span>()</div>
<div class="block">first tour start getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Date inforamtion when first tour start</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getConfigDate()">getConfigDate</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Timestamp</span>&nbsp;<span class="memberName">getConfigDate</span>()</div>
<div class="block">config date getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timestamp when configuration took place</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCurrentState()">getCurrentState</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../types/AppState.html" title="enum in com.plannaplan.types">AppState</a></span>&nbsp;<span class="memberName">getCurrentState</span>()</div>
<div class="block">current state getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>AppState of app at the moment of calling method</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFirstTourEndCron()">getFirstTourEndCron</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">org.springframework.scheduling.support.CronTrigger</span>&nbsp;<span class="memberName">getFirstTourEndCron</span>()</div>
<div class="block">get cron expression of first tour end</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spring cron expression</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSecondTourEndCron()">getSecondTourEndCron</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">org.springframework.scheduling.support.CronTrigger</span>&nbsp;<span class="memberName">getSecondTourEndCron</span>()</div>
<div class="block">get cron expression of second tour end</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spring cron expression</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFirstTourStartCron()">getFirstTourStartCron</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">org.springframework.scheduling.support.CronTrigger</span>&nbsp;<span class="memberName">getFirstTourStartCron</span>()</div>
<div class="block">get cron expression of first tour start</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spring cron expression</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSecondTourStartCron()">getSecondTourStartCron</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">org.springframework.scheduling.support.CronTrigger</span>&nbsp;<span class="memberName">getSecondTourStartCron</span>()</div>
<div class="block">get cron expression of second tour start</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spring cron expression</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AppConfig.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,425 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Assignment (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: Assignment">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Assignment.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class Assignment" class="title">Class Assignment</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.Assignment</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">Assignment</span>
extends java.lang.Object</pre>
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Assignment</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision)">Assignment</a></span>&#8203;(<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">
<div class="block">Assignment</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision,boolean)">Assignment</a></span>&#8203;(<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision,
boolean&nbsp;isPastAssignment)</code></th>
<td class="colLast">
<div class="block">Assignment</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="Commision.html" title="class in com.plannaplan.entities">Commision</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCommision()">getCommision</a></span>()</code></th>
<td class="colLast">
<div class="block">Getter of commision</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroup()">getGroup</a></span>()</code></th>
<td class="colLast">
<div class="block">getGroup</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">Id getter</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNewFromAssignment(com.plannaplan.entities.Assignment,com.plannaplan.entities.Commision)">getNewFromAssignment</a></span>&#8203;(<a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;oldAssignment,
<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;newCommision)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAccepted()">isAccepted</a></span>()</code></th>
<td class="colLast">
<div class="block">If it returns trues it mesans u are assigned to group accepted by algorythm</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPastAssignment()">isPastAssignment</a></span>()</code></th>
<td class="colLast">
<div class="block">isPastAssignment getter</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCommision(com.plannaplan.entities.Commision)">setCommision</a></span>&#8203;(<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPastAssignment(boolean)">setPastAssignment</a></span>&#8203;(boolean&nbsp;isPastAssignment)</code></th>
<td class="colLast">
<div class="block">setter isPastAssignment</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision,boolean)">Assignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Assignment</span>&#8203;(<span class="arguments"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision,
boolean&nbsp;isPastAssignment)</span></div>
<div class="block">Assignment</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>group</code> - group we would like to assign</dd>
<dd><code>commision</code> - commision that assignment belongs to</dd>
<dd><code>isPastAssignment</code> - is assignment past or no</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision)">Assignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Assignment</span>&#8203;(<span class="arguments"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</span></div>
<div class="block">Assignment</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>group</code> - group we would like to assign</dd>
<dd><code>commision</code> - commision that assignment belongs to</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Assignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Assignment</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getNewFromAssignment(com.plannaplan.entities.Assignment,com.plannaplan.entities.Commision)">getNewFromAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span>&nbsp;<span class="memberName">getNewFromAssignment</span>&#8203;(<span class="arguments"><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;oldAssignment,
<a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;newCommision)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oldAssignment</code> - old assignment that we want to move to new commision</dd>
<dd><code>newCommision</code> - commsion to move assiongment</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isAccepted()">isAccepted</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isAccepted</span>()</div>
<div class="block">If it returns trues it mesans u are assigned to group accepted by algorythm</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean isAccepted</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCommision()">getCommision</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Commision.html" title="class in com.plannaplan.entities">Commision</a></span>&nbsp;<span class="memberName">getCommision</span>()</div>
<div class="block">Getter of commision</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Commision Commision of given assignments</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setCommision(com.plannaplan.entities.Commision)">setCommision</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setCommision</span>&#8203;(<span class="arguments"><a href="Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>commision</code> - commision to set</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getId()">getId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getId</span>()</div>
<div class="block">Id getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id id of assignment</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getGroup()">getGroup</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a></span>&nbsp;<span class="memberName">getGroup</span>()</div>
<div class="block">getGroup</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>group</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isPastAssignment()">isPastAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isPastAssignment</span>()</div>
<div class="block">isPastAssignment getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>isPastAssignment</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setPastAssignment(boolean)">setPastAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setPastAssignment</span>&#8203;(<span class="arguments">boolean&nbsp;isPastAssignment)</span></div>
<div class="block">setter isPastAssignment</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isPastAssignment</code> - is assignment past or not</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Assignment.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,359 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Commision (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: Commision">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Commision.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class Commision" class="title">Class Commision</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.Commision</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">Commision</span>
extends java.lang.Object</pre>
<div class="block">Entity of Commision grouping of state associated about commison and owner_id</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Commision</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.plannaplan.entities.User)">Commision</a></span>&#8203;(<a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.plannaplan.entities.User,com.plannaplan.entities.User)">Commision</a></span>&#8203;(<a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user,
<a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;commiter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.util.List&lt;<a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAssignments()">getAssignments</a></span>()</code></th>
<td class="colLast">
<div class="block">Assigments getter</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCommisionCommiter()">getCommisionCommiter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.sql.Timestamp</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCommisionDate()">getCommisionDate</a></span>()</code></th>
<td class="colLast">
<div class="block">CommisionDate getter</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCommisionOwner()">getCommisionOwner</a></span>()</code></th>
<td class="colLast">
<div class="block">User of given commision getter</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">Id getter</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(com.plannaplan.entities.User)">Commision</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Commision</span>&#8203;(<span class="arguments"><a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>user</code> - owner of commission. Can not be null otherwise saving commision
will fail.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(com.plannaplan.entities.User,com.plannaplan.entities.User)">Commision</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Commision</span>&#8203;(<span class="arguments"><a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user,
<a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;commiter)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>user</code> - user whose shedule is being commited</dd>
<dd><code>commiter</code> - user that commited new schedule</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Commision</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Commision</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getId()">getId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getId</span>()</div>
<div class="block">Id getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id id of commision</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCommisionDate()">getCommisionDate</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Timestamp</span>&nbsp;<span class="memberName">getCommisionDate</span>()</div>
<div class="block">CommisionDate getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>commisionDate</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCommisionOwner()">getCommisionOwner</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="User.html" title="class in com.plannaplan.entities">User</a></span>&nbsp;<span class="memberName">getCommisionOwner</span>()</div>
<div class="block">User of given commision getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>User commisionOwner</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCommisionCommiter()">getCommisionCommiter</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="User.html" title="class in com.plannaplan.entities">User</a></span>&nbsp;<span class="memberName">getCommisionCommiter</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>User entity that created commision (can be owner or deanery user)</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getAssignments()">getAssignments</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.List&lt;<a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</span>&nbsp;<span class="memberName">getAssignments</span>()</div>
<div class="block">Assigments getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of assignments</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Commision.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,368 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Course (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: Course">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Course.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class Course" class="title">Class Course</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.Course</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">Course</span>
extends java.lang.Object</pre>
<div class="block">Entity of Course grouping of state of course</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Course</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.String)">Course</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;symbol)</code></th>
<td class="colLast">
<div class="block">Course</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.util.List&lt;<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroups()">getGroups</a></span>()</code></th>
<td class="colLast">
<div class="block">getGroups</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">getId</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">getName</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSymbol()">getSymbol</a></span>()</code></th>
<td class="colLast">
<div class="block">getSymbol</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">setName</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSymbol(java.lang.String)">setSymbol</a></span>&#8203;(java.lang.String&nbsp;symbol)</code></th>
<td class="colLast">
<div class="block">setSymbol</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Course</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Course</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String,java.lang.String)">Course</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Course</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name,
java.lang.String&nbsp;symbol)</span></div>
<div class="block">Course</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name given to the course</dd>
<dd><code>symbol</code> - symbol given to the course</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getId()">getId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getId</span>()</div>
<div class="block">getId</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getName()">getName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getName</span>()</div>
<div class="block">getName</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSymbol()">getSymbol</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getSymbol</span>()</div>
<div class="block">getSymbol</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>symbol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setSymbol(java.lang.String)">setSymbol</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setSymbol</span>&#8203;(<span class="arguments">java.lang.String&nbsp;symbol)</span></div>
<div class="block">setSymbol</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>symbol</code> - set symbol in the course</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setName(java.lang.String)">setName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setName</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name)</span></div>
<div class="block">setName</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - set name in the course</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getGroups()">getGroups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.List&lt;<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</span>&nbsp;<span class="memberName">getGroups</span>()</div>
<div class="block">getGroups</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>groups return list groups</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Course.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,373 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Exchange (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: Exchange">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Exchange.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class Exchange" class="title">Class Exchange</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.Exchange</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">Exchange</span>
extends java.lang.Object</pre>
<div class="block">Entity that keeps user exchange offer.</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Exchange</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">Exchange</a></span>&#8203;(<a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment,
<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.sql.Timestamp</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDataExchange()">getDataExchange</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDesiredAssignment()">getDesiredAssignment</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOwnedAssignment()">getOwnedAssignment</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOwnerId()">getOwnerId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDesiredAssignment(com.plannaplan.entities.Groups)">setDesiredAssignment</a></span>&#8203;(<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOwnedAssignment(com.plannaplan.entities.Assignment)">setOwnedAssignment</a></span>&#8203;(<a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOwnerId(java.lang.Long)">setOwnerId</a></span>&#8203;(java.lang.Long&nbsp;ownerId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Exchange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Exchange</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">Exchange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Exchange</span>&#8203;(<span class="arguments"><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment,
<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ownedAssignment</code> - Assignment which owner would like to trade</dd>
<dd><code>desiredAssignment</code> - Groups instance that trader wants</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getOwnerId()">getOwnerId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getOwnerId</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Long ID of exchange trader</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setOwnerId(java.lang.Long)">setOwnerId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setOwnerId</span>&#8203;(<span class="arguments">java.lang.Long&nbsp;ownerId)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ownerId</code> - ID of exchange trader</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getDataExchange()">getDataExchange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Timestamp</span>&nbsp;<span class="memberName">getDataExchange</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getId()">getId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getId</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Long ID in database</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getDesiredAssignment()">getDesiredAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a></span>&nbsp;<span class="memberName">getDesiredAssignment</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Groups Target group</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setDesiredAssignment(com.plannaplan.entities.Groups)">setDesiredAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setDesiredAssignment</span>&#8203;(<span class="arguments"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>desiredAssignment</code> - Target group</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getOwnedAssignment()">getOwnedAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span>&nbsp;<span class="memberName">getOwnedAssignment</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Assignment Owned assignment</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setOwnedAssignment(com.plannaplan.entities.Assignment)">setOwnedAssignment</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setOwnedAssignment</span>&#8203;(<span class="arguments"><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ownedAssignment</code> - Owned assignment</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Exchange.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,901 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Groups (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: Groups">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Groups.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class Groups" class="title">Class Groups</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.Groups</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">Groups</span>
extends java.lang.Object</pre>
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Groups</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">Create groups with default class duration</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#assignUser(com.plannaplan.entities.User)">assignUser</a></span>&#8203;(<a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCapacity()">getCapacity</a></span>()</code></th>
<td class="colLast">
<div class="block">getCapacity</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="Course.html" title="class in com.plannaplan.entities">Course</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCourseId()">getCourseId</a></span>()</code></th>
<td class="colLast">
<div class="block">getCourseId</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDay()">getDay</a></span>()</code></th>
<td class="colLast">
<div class="block">WeekDay</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEndTime()">getEndTime</a></span>()</code></th>
<td class="colLast">
<div class="block">get time of class end</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEndTimeString()">getEndTimeString</a></span>()</code></th>
<td class="colLast">
<div class="block">gets end time formated strins</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGrNr()">getGrNr</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">getId</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLecturer()">getLecturer</a></span>()</code></th>
<td class="colLast">
<div class="block">getLecturer</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>java.util.Set&lt;<a href="User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRegisteredStudents()">getRegisteredStudents</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRoom()">getRoom</a></span>()</code></th>
<td class="colLast">
<div class="block">getRoom</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTime()">getTime</a></span>()</code></th>
<td class="colLast">
<div class="block">getTime</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTimeString()">getTimeString</a></span>()</code></th>
<td class="colLast">
<div class="block">getTimeString</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code><a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getType()">getType</a></span>()</code></th>
<td class="colLast">
<div class="block">GroupType</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getZajCykId()">getZajCykId</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCapacity(int)">setCapacity</a></span>&#8203;(int&nbsp;capacity)</code></th>
<td class="colLast">
<div class="block">setCapacity</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCourseId(com.plannaplan.entities.Course)">setCourseId</a></span>&#8203;(<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;courseId)</code></th>
<td class="colLast">
<div class="block">setCourseId</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDay(com.plannaplan.types.WeekDay)">setDay</a></span>&#8203;(<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day)</code></th>
<td class="colLast">
<div class="block">setLecturer</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setGrNr(java.lang.Integer)">setGrNr</a></span>&#8203;(java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLecturer(com.plannaplan.entities.Lecturer)">setLecturer</a></span>&#8203;(<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">setLecturer</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRoom(java.lang.String)">setRoom</a></span>&#8203;(java.lang.String&nbsp;room)</code></th>
<td class="colLast">
<div class="block">setRoom</div>
</td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTime(int)">setTime</a></span>&#8203;(int&nbsp;time)</code></th>
<td class="colLast">
<div class="block">setTime</div>
</td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setType(com.plannaplan.types.GroupType)">setType</a></span>&#8203;(<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">setType</div>
</td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setZajCykId(java.lang.Integer)">setZajCykId</a></span>&#8203;(java.lang.Integer&nbsp;zajCykId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#update(java.lang.Integer,java.lang.String,com.plannaplan.entities.Course,java.lang.Integer,java.lang.Integer,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,com.plannaplan.types.GroupType)">update</a></span>&#8203;(java.lang.Integer&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
java.lang.Integer&nbsp;time,
java.lang.Integer&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Updates given values other that are not null</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>&#8203;(<span class="arguments">int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</span></div>
<div class="block">Groups</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>endTime</code> - end time of class in minutes</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>&#8203;(<span class="arguments">int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</span></div>
<div class="block">Groups</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>endTime</code> - end time of class in minutes</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
<dd><code>zajCykId</code> - number of class in the term</dd>
<dd><code>grNr</code> - Number of class/course</dd>
<dd><code>type</code> - type of class/cource</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>&#8203;(<span class="arguments">int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</span></div>
<div class="block">Groups</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
<dd><code>zajCykId</code> - number of class in the term</dd>
<dd><code>grNr</code> - Number of class/course</dd>
<dd><code>type</code> - type of class/cource</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>&#8203;(<span class="arguments">int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</span></div>
<div class="block">Groups</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>endTime</code> - end time of class in minutes</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
<dd><code>zajCykId</code> - number of class in the term</dd>
<dd><code>grNr</code> - Number of class/course</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>&#8203;(<span class="arguments">int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</span></div>
<div class="block">Groups</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
<dd><code>zajCykId</code> - number of class in the term</dd>
<dd><code>grNr</code> - Number of class/course</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Groups</span>&#8203;(<span class="arguments">int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</span></div>
<div class="block">Create groups with default class duration</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getRegisteredStudents()">getRegisteredStudents</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.Set&lt;<a href="User.html" title="class in com.plannaplan.entities">User</a>&gt;</span>&nbsp;<span class="memberName">getRegisteredStudents</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="assignUser(com.plannaplan.entities.User)">assignUser</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">assignUser</span>&#8203;(<span class="arguments"><a href="User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getGrNr()">getGrNr</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Integer</span>&nbsp;<span class="memberName">getGrNr</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setGrNr(java.lang.Integer)">setGrNr</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setGrNr</span>&#8203;(<span class="arguments">java.lang.Integer&nbsp;grNr)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getZajCykId()">getZajCykId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Integer</span>&nbsp;<span class="memberName">getZajCykId</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setZajCykId(java.lang.Integer)">setZajCykId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setZajCykId</span>&#8203;(<span class="arguments">java.lang.Integer&nbsp;zajCykId)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="update(java.lang.Integer,java.lang.String,com.plannaplan.entities.Course,java.lang.Integer,java.lang.Integer,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,com.plannaplan.types.GroupType)">update</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">update</span>&#8203;(<span class="arguments">java.lang.Integer&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
java.lang.Integer&nbsp;time,
java.lang.Integer&nbsp;endTime,
<a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
<a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</span></div>
<div class="block">Updates given values other that are not null</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - capacity given to the groups</dd>
<dd><code>room</code> - room given to the groups</dd>
<dd><code>course</code> - course given to the groups</dd>
<dd><code>time</code> - time given to the groups</dd>
<dd><code>endTime</code> - end time of class in minutes</dd>
<dd><code>day</code> - day given to the groups</dd>
<dd><code>lecturer</code> - lecturer given to the groups</dd>
<dd><code>type</code> - type given to the groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getEndTime()">getEndTime</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">getEndTime</span>()</div>
<div class="block">get time of class end</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>hour of class finish time in minutes</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getId()">getId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getId</span>()</div>
<div class="block">getId</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getLecturer()">getLecturer</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span>&nbsp;<span class="memberName">getLecturer</span>()</div>
<div class="block">getLecturer</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>lecturer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setLecturer(com.plannaplan.entities.Lecturer)">setLecturer</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setLecturer</span>&#8203;(<span class="arguments"><a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</span></div>
<div class="block">setLecturer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lecturer</code> - set lecturer into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getDay()">getDay</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a></span>&nbsp;<span class="memberName">getDay</span>()</div>
<div class="block">WeekDay</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>day</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setDay(com.plannaplan.types.WeekDay)">setDay</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setDay</span>&#8203;(<span class="arguments"><a href="../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day)</span></div>
<div class="block">setLecturer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>day</code> - set day into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getType()">getType</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a></span>&nbsp;<span class="memberName">getType</span>()</div>
<div class="block">GroupType</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>type</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setType(com.plannaplan.types.GroupType)">setType</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setType</span>&#8203;(<span class="arguments"><a href="../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</span></div>
<div class="block">setType</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - set type into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCapacity()">getCapacity</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">getCapacity</span>()</div>
<div class="block">getCapacity</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>capacity</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setCapacity(int)">setCapacity</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setCapacity</span>&#8203;(<span class="arguments">int&nbsp;capacity)</span></div>
<div class="block">setCapacity</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capacity</code> - set capacity into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRoom()">getRoom</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getRoom</span>()</div>
<div class="block">getRoom</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>room</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setRoom(java.lang.String)">setRoom</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setRoom</span>&#8203;(<span class="arguments">java.lang.String&nbsp;room)</span></div>
<div class="block">setRoom</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>room</code> - set room into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTime()">getTime</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">getTime</span>()</div>
<div class="block">getTime</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>time</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setTime(int)">setTime</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setTime</span>&#8203;(<span class="arguments">int&nbsp;time)</span></div>
<div class="block">setTime</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>time</code> - set time into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getCourseId()">getCourseId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="Course.html" title="class in com.plannaplan.entities">Course</a></span>&nbsp;<span class="memberName">getCourseId</span>()</div>
<div class="block">getCourseId</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>course</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setCourseId(com.plannaplan.entities.Course)">setCourseId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setCourseId</span>&#8203;(<span class="arguments"><a href="Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;courseId)</span></div>
<div class="block">setCourseId</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>courseId</code> - set courseId into groups</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTimeString()">getTimeString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getTimeString</span>()</div>
<div class="block">getTimeString</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>time as formated String</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getEndTimeString()">getEndTimeString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getEndTimeString</span>()</div>
<div class="block">gets end time formated strins</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>end time as formated String</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Groups.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,386 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Lecturer (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: Lecturer">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Lecturer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class Lecturer" class="title">Class Lecturer</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.Lecturer</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">Lecturer</span>
extends java.lang.Object</pre>
<div class="block">Entity of Lecturer grouping of state ssociated about id,title,name,surname</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Lecturer</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)">Lecturer</a></span>&#8203;(java.lang.String&nbsp;title,
java.lang.String&nbsp;name,
java.lang.String&nbsp;surname)</code></th>
<td class="colLast">
<div class="block">Lecturer</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">getName</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSurname()">getSurname</a></span>()</code></th>
<td class="colLast">
<div class="block">getSurname</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTitle()">getTitle</a></span>()</code></th>
<td class="colLast">
<div class="block">getTitle</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">setName</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSurname(java.lang.String)">setSurname</a></span>&#8203;(java.lang.String&nbsp;surname)</code></th>
<td class="colLast">
<div class="block">setSurname</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTitle(java.lang.String)">setTitle</a></span>&#8203;(java.lang.String&nbsp;title)</code></th>
<td class="colLast">
<div class="block">setTitle</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String)">Lecturer</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Lecturer</span>&#8203;(<span class="arguments">java.lang.String&nbsp;title,
java.lang.String&nbsp;name,
java.lang.String&nbsp;surname)</span></div>
<div class="block">Lecturer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>title</code> - title given to the lecturer</dd>
<dd><code>name</code> - name given to the lecturer</dd>
<dd><code>surname</code> - surname given to the lecturer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Lecturer</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Lecturer</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getTitle()">getTitle</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getTitle</span>()</div>
<div class="block">getTitle</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>title</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSurname()">getSurname</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getSurname</span>()</div>
<div class="block">getSurname</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>surname</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setSurname(java.lang.String)">setSurname</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setSurname</span>&#8203;(<span class="arguments">java.lang.String&nbsp;surname)</span></div>
<div class="block">setSurname</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>surname</code> - set surname to the lecturer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getName()">getName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getName</span>()</div>
<div class="block">getName</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setName(java.lang.String)">setName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setName</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name)</span></div>
<div class="block">setName</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - set name to the lecturer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setTitle(java.lang.String)">setTitle</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setTitle</span>&#8203;(<span class="arguments">java.lang.String&nbsp;title)</span></div>
<div class="block">setTitle</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>title</code> - set title to the lecturer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toString()">toString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">toString</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Lecturer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,676 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>User (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities, class: User">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/User.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.entities</a></div>
<h1 title="Class User" class="title">Class User</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.entities.User</div>
</div>
<section class="description">
<hr>
<pre>@Entity
public class <span class="typeNameLabel">User</span>
extends java.lang.Object</pre>
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">User</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,com.plannaplan.types.UserRoles)">User</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;surname,
java.lang.String&nbsp;mail,
<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.plannaplan.types.UserRoles)">User</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;surname,
java.lang.String&nbsp;mail,
java.lang.String&nbsp;usosId,
<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.plannaplan.types.UserRoles,java.lang.Integer)">User</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;surname,
java.lang.String&nbsp;mail,
java.lang.String&nbsp;usosId,
<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role,
java.lang.Integer&nbsp;ranking)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#claimGroup(com.plannaplan.entities.Groups)">claimGroup</a></span>&#8203;(<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEmail()">getEmail</a></span>()</code></th>
<td class="colLast">
<div class="block">email getter</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">id getter</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">name setter</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRanking()">getRanking</a></span>()</code></th>
<td class="colLast">
<div class="block">Ranking points are [100;500].</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRefreshToken()">getRefreshToken</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRole()">getRole</a></span>()</code></th>
<td class="colLast">
<div class="block">user rolse getter</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>java.util.Set&lt;<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStudentRegisteredGrups()">getStudentRegisteredGrups</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSurname()">getSurname</a></span>()</code></th>
<td class="colLast">
<div class="block">surname getter</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getToken()">getToken</a></span>()</code></th>
<td class="colLast">
<div class="block">token getter</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>java.sql.Timestamp</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTokenUsageDate()">getTokenUsageDate</a></span>()</code></th>
<td class="colLast">
<div class="block">token usage getter</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUsosId()">getUsosId</a></span>()</code></th>
<td class="colLast">
<div class="block">usos id getter</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCredentialsNonExpired()">isCredentialsNonExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">it checks if given ammount of time passed since last token usage.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeGroup(java.lang.Long)">removeGroup</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEmail(java.lang.String)">setEmail</a></span>&#8203;(java.lang.String&nbsp;email)</code></th>
<td class="colLast">
<div class="block">email setter</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">name stter</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRanking(java.lang.Integer)">setRanking</a></span>&#8203;(java.lang.Integer&nbsp;ranking)</code></th>
<td class="colLast">
<div class="block">Ranking points setter.</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRole(com.plannaplan.types.UserRoles)">setRole</a></span>&#8203;(<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</code></th>
<td class="colLast">
<div class="block">user role setter</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSurname(java.lang.String)">setSurname</a></span>&#8203;(java.lang.String&nbsp;surname)</code></th>
<td class="colLast">
<div class="block">surname setter</div>
</td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setToken(java.lang.String)">setToken</a></span>&#8203;(java.lang.String&nbsp;token)</code></th>
<td class="colLast">
<div class="block">token seter.</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateWithUsosData(com.plannaplan.models.UserApiResponse)">updateWithUsosData</a></span>&#8203;(<a href="../models/UserApiResponse.html" title="class in com.plannaplan.models">UserApiResponse</a>&nbsp;usosData)</code></th>
<td class="colLast">
<div class="block">updates user entity with data got by UsosApiService::getUserData</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">User</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">User</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String,com.plannaplan.types.UserRoles)">User</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">User</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name,
java.lang.String&nbsp;surname,
java.lang.String&nbsp;mail,
<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name given to the user</dd>
<dd><code>surname</code> - surname given to the user</dd>
<dd><code>mail</code> - mail given to the user</dd>
<dd><code>role</code> - user's role</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.plannaplan.types.UserRoles)">User</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">User</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name,
java.lang.String&nbsp;surname,
java.lang.String&nbsp;mail,
java.lang.String&nbsp;usosId,
<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name given to the user</dd>
<dd><code>surname</code> - surname given to the user</dd>
<dd><code>mail</code> - mail given to the user</dd>
<dd><code>usosId</code> - id in the USOS system</dd>
<dd><code>role</code> - user's role</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.plannaplan.types.UserRoles,java.lang.Integer)">User</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">User</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name,
java.lang.String&nbsp;surname,
java.lang.String&nbsp;mail,
java.lang.String&nbsp;usosId,
<a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role,
java.lang.Integer&nbsp;ranking)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name given to the user</dd>
<dd><code>surname</code> - surname given to the user</dd>
<dd><code>mail</code> - mail given to the user</dd>
<dd><code>usosId</code> - id in the USOS system</dd>
<dd><code>role</code> - user's role</dd>
<dd><code>ranking</code> - ranking points [100;500]. It's calculated by
gradesAvg*100*studiesYear</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getStudentRegisteredGrups()">getStudentRegisteredGrups</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.Set&lt;<a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</span>&nbsp;<span class="memberName">getStudentRegisteredGrups</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeGroup(java.lang.Long)">removeGroup</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">removeGroup</span>&#8203;(<span class="arguments">java.lang.Long&nbsp;id)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="claimGroup(com.plannaplan.entities.Groups)">claimGroup</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">claimGroup</span>&#8203;(<span class="arguments"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getUsosId()">getUsosId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getUsosId</span>()</div>
<div class="block">usos id getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>usosid</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getEmail()">getEmail</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getEmail</span>()</div>
<div class="block">email getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>mailof user</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setEmail(java.lang.String)">setEmail</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setEmail</span>&#8203;(<span class="arguments">java.lang.String&nbsp;email)</span></div>
<div class="block">email setter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>email</code> - user email</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getTokenUsageDate()">getTokenUsageDate</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.sql.Timestamp</span>&nbsp;<span class="memberName">getTokenUsageDate</span>()</div>
<div class="block">token usage getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timestamp when token was used</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getToken()">getToken</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getToken</span>()</div>
<div class="block">token getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>user token</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRefreshToken()">getRefreshToken</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getRefreshToken</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>token needed to call refresh token after it expired</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setToken(java.lang.String)">setToken</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setToken</span>&#8203;(<span class="arguments">java.lang.String&nbsp;token)</span></div>
<div class="block">token seter. Sets token and automaticly set time when was set</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>token</code> - token to set</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getName()">getName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getName</span>()</div>
<div class="block">name setter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String user name</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRole()">getRole</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a></span>&nbsp;<span class="memberName">getRole</span>()</div>
<div class="block">user rolse getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>UserRoles of user</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setRole(com.plannaplan.types.UserRoles)">setRole</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setRole</span>&#8203;(<span class="arguments"><a href="../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</span></div>
<div class="block">user role setter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>role</code> - to be set</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSurname()">getSurname</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.String</span>&nbsp;<span class="memberName">getSurname</span>()</div>
<div class="block">surname getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>string surname</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setSurname(java.lang.String)">setSurname</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setSurname</span>&#8203;(<span class="arguments">java.lang.String&nbsp;surname)</span></div>
<div class="block">surname setter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>surname</code> - string to be set as surnames</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setName(java.lang.String)">setName</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setName</span>&#8203;(<span class="arguments">java.lang.String&nbsp;name)</span></div>
<div class="block">name stter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - stirng to be set as name</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getId()">getId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Long</span>&nbsp;<span class="memberName">getId</span>()</div>
<div class="block">id getter</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id in database</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRanking()">getRanking</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Integer</span>&nbsp;<span class="memberName">getRanking</span>()</div>
<div class="block">Ranking points are [100;500]. It's calculated by gradesAvg*100*studiesYear</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ranking points [100;500]</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setRanking(java.lang.Integer)">setRanking</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setRanking</span>&#8203;(<span class="arguments">java.lang.Integer&nbsp;ranking)</span></div>
<div class="block">Ranking points setter. Ranking points are [100;500]. It's calculated by
gradesAvg*100*studiesYear</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ranking</code> - ranking points [100;500]</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="updateWithUsosData(com.plannaplan.models.UserApiResponse)">updateWithUsosData</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">updateWithUsosData</span>&#8203;(<span class="arguments"><a href="../models/UserApiResponse.html" title="class in com.plannaplan.models">UserApiResponse</a>&nbsp;usosData)</span></div>
<div class="block">updates user entity with data got by UsosApiService::getUserData</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>usosData</code> - UserApiResponse model with needed data</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isCredentialsNonExpired()">isCredentialsNonExpired</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isCredentialsNonExpired</span>()</div>
<div class="block">it checks if given ammount of time passed since last token usage. If not
retunr true and reset time otherwise return false and token won work anymore</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolena if credentials (token) is expired or not</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/User.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,153 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.AppConfig (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: AppConfig">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../AppConfig.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.AppConfig" class="title">Uses of Class<br>com.plannaplan.entities.AppConfig</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../AppConfig.html" title="class in com.plannaplan.entities">AppConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../AppConfig.html" title="class in com.plannaplan.entities">AppConfig</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../AppConfig.html" title="class in com.plannaplan.entities">AppConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../AppConfig.html" title="class in com.plannaplan.entities">AppConfig</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ConfiguratorService.</span><code><span class="memberNameLink"><a href="../../services/ConfiguratorService.html#getCurrentConfig()">getCurrentConfig</a></span>()</code></th>
<td class="colLast">
<div class="block">current config getter</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../AppConfig.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,428 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.Assignment (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: Assignment">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Assignment.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.Assignment" class="title">Uses of Class<br>com.plannaplan.entities.Assignment</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.models">com.plannaplan.models</a></th>
<td class="colLast">
<div class="block">Provides readonly (mostly) classes to keep data for diffrent pourposes</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<h2>Uses of <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a> in <a href="../package-summary.html">com.plannaplan.entities</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Assignment.</span><code><span class="memberNameLink"><a href="../Assignment.html#getNewFromAssignment(com.plannaplan.entities.Assignment,com.plannaplan.entities.Commision)">getNewFromAssignment</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;oldAssignment,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;newCommision)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Exchange.</span><code><span class="memberNameLink"><a href="../Exchange.html#getOwnedAssignment()">getOwnedAssignment</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return types with arguments of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Commision.</span><code><span class="memberNameLink"><a href="../Commision.html#getAssignments()">getAssignments</a></span>()</code></th>
<td class="colLast">
<div class="block">Assigments getter</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Assignment.</span><code><span class="memberNameLink"><a href="../Assignment.html#getNewFromAssignment(com.plannaplan.entities.Assignment,com.plannaplan.entities.Commision)">getNewFromAssignment</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;oldAssignment,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;newCommision)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Exchange.</span><code><span class="memberNameLink"><a href="../Exchange.html#setOwnedAssignment(com.plannaplan.entities.Assignment)">setOwnedAssignment</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Exchange.html#%3Cinit%3E(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">Exchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.models">
<!-- -->
</a>
<h2>Uses of <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a> in <a href="../../models/package-summary.html">com.plannaplan.models</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../models/package-summary.html">com.plannaplan.models</a> that return <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MatchData.</span><code><span class="memberNameLink"><a href="../../models/MatchData.html#getAssignmentOne()">getAssignmentOne</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MatchData.</span><code><span class="memberNameLink"><a href="../../models/MatchData.html#getAssignmentTwo()">getAssignmentTwo</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentRepository.</span><code><span class="memberNameLink"><a href="../../repositories/AssignmentRepository.html#getByCommision(java.lang.Long)">getByCommision</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> with parameters of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRepository.</span><code><span class="memberNameLink"><a href="../../repositories/ExchangeRepository.html#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#save(com.plannaplan.entities.Assignment)">save</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment)</code></th>
<td class="colLast">
<div class="block">Save given assignment</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#getById(java.lang.Long)">getById</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Get assigmnent by id</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#getCommisionAssignments(com.plannaplan.entities.Commision)">getCommisionAssignments</a></span>&#8203;(<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;com)</code></th>
<td class="colLast">
<div class="block">gets list of assignments of given commision</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#saveAll(java.util.List)">saveAll</a></span>&#8203;(java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;&nbsp;toSave)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#save(com.plannaplan.entities.Assignment)">save</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment)</code></th>
<td class="colLast">
<div class="block">Save given assignment</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Method parameters in <a href="../../services/package-summary.html">com.plannaplan.services</a> with type arguments of type <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.HashMap&lt;java.lang.Long,&#8203;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#getTakenPlacesOfAssignments(java.util.List)">getTakenPlacesOfAssignments</a></span>&#8203;(java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;&nbsp;assignments)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#saveAll(java.util.List)">saveAll</a></span>&#8203;(java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;&nbsp;toSave)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Assignment.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,333 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.Commision (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: Commision">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Commision.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.Commision" class="title">Uses of Class<br>com.plannaplan.entities.Commision</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<h2>Uses of <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a> in <a href="../package-summary.html">com.plannaplan.entities</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Assignment.</span><code><span class="memberNameLink"><a href="../Assignment.html#getCommision()">getCommision</a></span>()</code></th>
<td class="colLast">
<div class="block">Getter of commision</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Assignment.</span><code><span class="memberNameLink"><a href="../Assignment.html#getNewFromAssignment(com.plannaplan.entities.Assignment,com.plannaplan.entities.Commision)">getNewFromAssignment</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;oldAssignment,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;newCommision)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Assignment.</span><code><span class="memberNameLink"><a href="../Assignment.html#setCommision(com.plannaplan.entities.Commision)">setCommision</a></span>&#8203;(<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Assignment.html#%3Cinit%3E(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision)">Assignment</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">
<div class="block">Assignment</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Assignment.html#%3Cinit%3E(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision,boolean)">Assignment</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision,
boolean&nbsp;isPastAssignment)</code></th>
<td class="colLast">
<div class="block">Assignment</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionRepository.</span><code><span class="memberNameLink"><a href="../../repositories/CommisionRepository.html#getNewestCommision(java.lang.Long)">getNewestCommision</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionRepository.</span><code><span class="memberNameLink"><a href="../../repositories/CommisionRepository.html#getUsers(java.lang.Long)">getUsers</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionService.</span><code><span class="memberNameLink"><a href="../../services/CommisionService.html#save(com.plannaplan.entities.Commision)">save</a></span>&#8203;(<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">
<div class="block">save to database commision.</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionService.</span><code><span class="memberNameLink"><a href="../../services/CommisionService.html#getNewestCommision(com.plannaplan.entities.User)">getNewestCommision</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">get newest commision ov given user</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionService.</span><code><span class="memberNameLink"><a href="../../services/CommisionService.html#getUsersCommisions(com.plannaplan.entities.User)">getUsersCommisions</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">gets user commisions</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AssignmentService.</span><code><span class="memberNameLink"><a href="../../services/AssignmentService.html#getCommisionAssignments(com.plannaplan.entities.Commision)">getCommisionAssignments</a></span>&#8203;(<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;com)</code></th>
<td class="colLast">
<div class="block">gets list of assignments of given commision</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionService.</span><code><span class="memberNameLink"><a href="../../services/CommisionService.html#save(com.plannaplan.entities.Commision)">save</a></span>&#8203;(<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">
<div class="block">save to database commision.</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Commision.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,400 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.Course (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: Course">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Course.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.Course" class="title">Uses of Class<br>com.plannaplan.entities.Course</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<h2>Uses of <a href="../Course.html" title="class in com.plannaplan.entities">Course</a> in <a href="../package-summary.html">com.plannaplan.entities</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Course.html" title="class in com.plannaplan.entities">Course</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#getCourseId()">getCourseId</a></span>()</code></th>
<td class="colLast">
<div class="block">getCourseId</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#setCourseId(com.plannaplan.entities.Course)">setCourseId</a></span>&#8203;(<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;courseId)</code></th>
<td class="colLast">
<div class="block">setCourseId</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#update(java.lang.Integer,java.lang.String,com.plannaplan.entities.Course,java.lang.Integer,java.lang.Integer,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,com.plannaplan.types.GroupType)">update</a></span>&#8203;(java.lang.Integer&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
java.lang.Integer&nbsp;time,
java.lang.Integer&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
<a href="../../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Updates given values other that are not null</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">Create groups with default class duration</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../Course.html" title="class in com.plannaplan.entities">Course</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CourseRepository.</span><code><span class="memberNameLink"><a href="../../repositories/CourseRepository.html#findByName(java.lang.String)">findByName</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../Course.html" title="class in com.plannaplan.entities">Course</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Course.html" title="class in com.plannaplan.entities">Course</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CourseService.</span><code><span class="memberNameLink"><a href="../../services/CourseService.html#save(com.plannaplan.entities.Course)">save</a></span>&#8203;(<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course)</code></th>
<td class="colLast">
<div class="block">save to db</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CourseService.</span><code><span class="memberNameLink"><a href="../../services/CourseService.html#getAllCourses()">getAllCourses</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CourseService.</span><code><span class="memberNameLink"><a href="../../services/CourseService.html#getCourseByName(java.lang.String)">getCourseByName</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">getCourseByName</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../Course.html" title="class in com.plannaplan.entities">Course</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CourseService.</span><code><span class="memberNameLink"><a href="../../services/CourseService.html#delete(com.plannaplan.entities.Course)">delete</a></span>&#8203;(<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course)</code></th>
<td class="colLast">
<div class="block">delete course from db</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Course.html" title="class in com.plannaplan.entities">Course</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CourseService.</span><code><span class="memberNameLink"><a href="../../services/CourseService.html#save(com.plannaplan.entities.Course)">save</a></span>&#8203;(<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course)</code></th>
<td class="colLast">
<div class="block">save to db</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Course.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,348 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.Exchange (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: Exchange">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Exchange.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.Exchange" class="title">Uses of Class<br>com.plannaplan.entities.Exchange</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.models">com.plannaplan.models</a></th>
<td class="colLast">
<div class="block">Provides readonly (mostly) classes to keep data for diffrent pourposes</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.models">
<!-- -->
</a>
<h2>Uses of <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a> in <a href="../../models/package-summary.html">com.plannaplan.models</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../models/package-summary.html">com.plannaplan.models</a> that return <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MatchData.</span><code><span class="memberNameLink"><a href="../../models/MatchData.html#getExchangeOne()">getExchangeOne</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MatchData.</span><code><span class="memberNameLink"><a href="../../models/MatchData.html#getExchangeTwo()">getExchangeTwo</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../models/package-summary.html">com.plannaplan.models</a> that return types with arguments of type <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;java.util.Map.Entry&lt;java.lang.Long,&#8203;java.util.List&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailExchangesData.</span><code><span class="memberNameLink"><a href="../../models/EmailExchangesData.html#getDataEntry()">getDataEntry</a></span>()</code></th>
<td class="colLast">
<div class="block">get datas entry set</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../models/package-summary.html">com.plannaplan.models</a> with parameters of type <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailExchangesData.</span><code><span class="memberNameLink"><a href="../../models/EmailExchangesData.html#addExchange(com.plannaplan.entities.User,com.plannaplan.entities.Exchange)">addExchange</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user,
<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;data)</code></th>
<td class="colLast">
<div class="block">method to add user and his event to data to be send</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../../models/package-summary.html">com.plannaplan.models</a> with parameters of type <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../models/MatchData.html#%3Cinit%3E(com.plannaplan.entities.Exchange,com.plannaplan.entities.Exchange)">MatchData</a></span>&#8203;(<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;exchangeOne,
<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;exchangeTwo)</code></th>
<td class="colLast">
<div class="block">create MatchData</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRepository.</span><code><span class="memberNameLink"><a href="../../repositories/ExchangeRepository.html#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRepository.</span><code><span class="memberNameLink"><a href="../../repositories/ExchangeRepository.html#getByUserId(java.lang.Long)">getByUserId</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#save(com.plannaplan.entities.Exchange)">save</a></span>&#8203;(<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#getAllExchanges()">getAllExchanges</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#getById(java.lang.Long)">getById</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#getByUserId(java.lang.Long)">getByUserId</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#deleteExchange(com.plannaplan.entities.Exchange)">deleteExchange</a></span>&#8203;(<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;entity)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#save(com.plannaplan.entities.Exchange)">save</a></span>&#8203;(<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Exchange.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,527 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.Groups (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: Groups">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Groups.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.Groups" class="title">Uses of Class<br>com.plannaplan.entities.Groups</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.models">com.plannaplan.models</a></th>
<td class="colLast">
<div class="block">Provides readonly (mostly) classes to keep data for diffrent pourposes</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<h2>Uses of <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a> in <a href="../package-summary.html">com.plannaplan.entities</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Exchange.</span><code><span class="memberNameLink"><a href="../Exchange.html#getDesiredAssignment()">getDesiredAssignment</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Assignment.</span><code><span class="memberNameLink"><a href="../Assignment.html#getGroup()">getGroup</a></span>()</code></th>
<td class="colLast">
<div class="block">getGroup</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return types with arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Course.</span><code><span class="memberNameLink"><a href="../Course.html#getGroups()">getGroups</a></span>()</code></th>
<td class="colLast">
<div class="block">getGroups</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">User.</span><code><span class="memberNameLink"><a href="../User.html#getStudentRegisteredGrups()">getStudentRegisteredGrups</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">User.</span><code><span class="memberNameLink"><a href="../User.html#claimGroup(com.plannaplan.entities.Groups)">claimGroup</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Exchange.</span><code><span class="memberNameLink"><a href="../Exchange.html#setDesiredAssignment(com.plannaplan.entities.Groups)">setDesiredAssignment</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Assignment.html#%3Cinit%3E(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision)">Assignment</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision)</code></th>
<td class="colLast">
<div class="block">Assignment</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Assignment.html#%3Cinit%3E(com.plannaplan.entities.Groups,com.plannaplan.entities.Commision,boolean)">Assignment</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group,
<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&nbsp;commision,
boolean&nbsp;isPastAssignment)</code></th>
<td class="colLast">
<div class="block">Assignment</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Exchange.html#%3Cinit%3E(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">Exchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;ownedAssignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;desiredAssignment)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.models">
<!-- -->
</a>
<h2>Uses of <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a> in <a href="../../models/package-summary.html">com.plannaplan.models</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../models/package-summary.html">com.plannaplan.models</a> that return types with arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailAcceptedData.</span><code><span class="memberNameLink"><a href="../../models/EmailAcceptedData.html#getAccepted()">getAccepted</a></span>()</code></th>
<td class="colLast">
<div class="block">get list of accepted assignments</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailAcceptedData.</span><code><span class="memberNameLink"><a href="../../models/EmailAcceptedData.html#getRemoved()">getRemoved</a></span>()</code></th>
<td class="colLast">
<div class="block">get list of removed assignments</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Method parameters in <a href="../../models/package-summary.html">com.plannaplan.models</a> with type arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailAcceptedData.</span><code><span class="memberNameLink"><a href="../../models/EmailAcceptedData.html#setAccepted(java.util.List)">setAccepted</a></span>&#8203;(java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;&nbsp;accepted)</code></th>
<td class="colLast">
<div class="block">set list of accepted assignments</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailAcceptedData.</span><code><span class="memberNameLink"><a href="../../models/EmailAcceptedData.html#setRemoved(java.util.List)">setRemoved</a></span>&#8203;(java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;&nbsp;removed)</code></th>
<td class="colLast">
<div class="block">set list of removed assignments</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructor parameters in <a href="../../models/package-summary.html">com.plannaplan.models</a> with type arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../models/EmailAcceptedData.html#%3Cinit%3E(java.util.List,java.util.List)">EmailAcceptedData</a></span>&#8203;(java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;&nbsp;accepted,
java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;&nbsp;removed)</code></th>
<td class="colLast">
<div class="block">creates instance of class</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupRepository.</span><code><span class="memberNameLink"><a href="../../repositories/GroupRepository.html#find(int,java.lang.String,int)">find</a></span>&#8203;(int&nbsp;time,
java.lang.String&nbsp;room,
int&nbsp;capacity)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupRepository.</span><code><span class="memberNameLink"><a href="../../repositories/GroupRepository.html#find(java.lang.Integer,java.lang.Integer)">find</a></span>&#8203;(java.lang.Integer&nbsp;zaj_cyk_id,
java.lang.Integer&nbsp;gr_nr)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupRepository.</span><code><span class="memberNameLink"><a href="../../repositories/GroupRepository.html#getByCourse(java.lang.Long)">getByCourse</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> with parameters of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeRepository.</span><code><span class="memberNameLink"><a href="../../repositories/ExchangeRepository.html#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#save(com.plannaplan.entities.Groups)">save</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">
<div class="block">save group to database</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#find(int,int,java.lang.String)">find</a></span>&#8203;(int&nbsp;time,
int&nbsp;capacity,
java.lang.String&nbsp;room)</code></th>
<td class="colLast">
<div class="block">find group with given properties</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#find(java.lang.Integer,java.lang.Integer)">find</a></span>&#8203;(java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;nrGr)</code></th>
<td class="colLast">
<div class="block">find group with given properties</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#getGroupById(java.lang.Long)">getGroupById</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">
<div class="block">find group with given properties</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#getGroupsByCourse(java.lang.Long)">getGroupsByCourse</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">
<div class="block">find group with given properties</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ExchangeService.</span><code><span class="memberNameLink"><a href="../../services/ExchangeService.html#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#delete(com.plannaplan.entities.Groups)">delete</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">delete from database</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#save(com.plannaplan.entities.Groups)">save</a></span>&#8203;(<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">
<div class="block">save group to database</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Method parameters in <a href="../../services/package-summary.html">com.plannaplan.services</a> with type arguments of type <a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.HashMap&lt;java.lang.Long,&#8203;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">GroupService.</span><code><span class="memberNameLink"><a href="../../services/GroupService.html#getTakenPlaces(java.util.List)">getTakenPlaces</a></span>&#8203;(java.util.List&lt;<a href="../Groups.html" title="class in com.plannaplan.entities">Groups</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Groups.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,391 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.Lecturer (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: Lecturer">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Lecturer.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.Lecturer" class="title">Uses of Class<br>com.plannaplan.entities.Lecturer</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<h2>Uses of <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a> in <a href="../package-summary.html">com.plannaplan.entities</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#getLecturer()">getLecturer</a></span>()</code></th>
<td class="colLast">
<div class="block">getLecturer</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#setLecturer(com.plannaplan.entities.Lecturer)">setLecturer</a></span>&#8203;(<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">setLecturer</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#update(java.lang.Integer,java.lang.String,com.plannaplan.entities.Course,java.lang.Integer,java.lang.Integer,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,com.plannaplan.types.GroupType)">update</a></span>&#8203;(java.lang.Integer&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
java.lang.Integer&nbsp;time,
java.lang.Integer&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
<a href="../../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Updates given values other that are not null</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
int&nbsp;endTime,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">
<div class="block">Create groups with default class duration</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Groups.html#%3Cinit%3E(int,java.lang.String,com.plannaplan.entities.Course,int,com.plannaplan.types.WeekDay,com.plannaplan.entities.Lecturer,java.lang.Integer,java.lang.Integer,com.plannaplan.types.GroupType)">Groups</a></span>&#8203;(int&nbsp;capacity,
java.lang.String&nbsp;room,
<a href="../Course.html" title="class in com.plannaplan.entities">Course</a>&nbsp;course,
int&nbsp;time,
<a href="../../types/WeekDay.html" title="enum in com.plannaplan.types">WeekDay</a>&nbsp;day,
<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer,
java.lang.Integer&nbsp;zajCykId,
java.lang.Integer&nbsp;grNr,
<a href="../../types/GroupType.html" title="enum in com.plannaplan.types">GroupType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Groups</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LecturerRepository.</span><code><span class="memberNameLink"><a href="../../repositories/LecturerRepository.html#find(java.lang.String,java.lang.String,java.lang.String)">find</a></span>&#8203;(java.lang.String&nbsp;title,
java.lang.String&nbsp;name,
java.lang.String&nbsp;surname)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LecturerService.</span><code><span class="memberNameLink"><a href="../../services/LecturerService.html#save(com.plannaplan.entities.Lecturer)">save</a></span>&#8203;(<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LecturerService.</span><code><span class="memberNameLink"><a href="../../services/LecturerService.html#getLecturer(java.lang.String,java.lang.String,java.lang.String)">getLecturer</a></span>&#8203;(java.lang.String&nbsp;title,
java.lang.String&nbsp;name,
java.lang.String&nbsp;surname)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LecturerService.</span><code><span class="memberNameLink"><a href="../../services/LecturerService.html#delete(com.plannaplan.entities.Lecturer)">delete</a></span>&#8203;(<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LecturerService.</span><code><span class="memberNameLink"><a href="../../services/LecturerService.html#save(com.plannaplan.entities.Lecturer)">save</a></span>&#8203;(<a href="../Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a>&nbsp;lecturer)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Lecturer.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,515 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Class com.plannaplan.entities.User (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities, class: User">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-use">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../User.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Class com.plannaplan.entities.User" class="title">Uses of Class<br>com.plannaplan.entities.User</h1>
</div>
<div class="classUseContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.models">com.plannaplan.models</a></th>
<td class="colLast">
<div class="block">Provides readonly (mostly) classes to keep data for diffrent pourposes</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="classUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<h2>Uses of <a href="../User.html" title="class in com.plannaplan.entities">User</a> in <a href="../package-summary.html">com.plannaplan.entities</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Commision.</span><code><span class="memberNameLink"><a href="../Commision.html#getCommisionCommiter()">getCommisionCommiter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Commision.</span><code><span class="memberNameLink"><a href="../Commision.html#getCommisionOwner()">getCommisionOwner</a></span>()</code></th>
<td class="colLast">
<div class="block">User of given commision getter</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> that return types with arguments of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#getRegisteredStudents()">getRegisteredStudents</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Groups.</span><code><span class="memberNameLink"><a href="../Groups.html#assignUser(com.plannaplan.entities.User)">assignUser</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Constructors in <a href="../package-summary.html">com.plannaplan.entities</a> with parameters of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Commision.html#%3Cinit%3E(com.plannaplan.entities.User)">Commision</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../Commision.html#%3Cinit%3E(com.plannaplan.entities.User,com.plannaplan.entities.User)">Commision</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user,
<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;commiter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.models">
<!-- -->
</a>
<h2>Uses of <a href="../User.html" title="class in com.plannaplan.entities">User</a> in <a href="../../models/package-summary.html">com.plannaplan.models</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../models/package-summary.html">com.plannaplan.models</a> with parameters of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailExchangesData.</span><code><span class="memberNameLink"><a href="../../models/EmailExchangesData.html#addExchange(com.plannaplan.entities.User,com.plannaplan.entities.Exchange)">addExchange</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user,
<a href="../Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;data)</code></th>
<td class="colLast">
<div class="block">method to add user and his event to data to be send</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<h2>Uses of <a href="../User.html" title="class in com.plannaplan.entities">User</a> in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../repositories/package-summary.html">com.plannaplan.repositories</a> that return types with arguments of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#getAllByRole(com.plannaplan.types.UserRoles)">getAllByRole</a></span>&#8203;(<a href="../../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#getByAuthority(java.lang.String)">getByAuthority</a></span>&#8203;(java.lang.String&nbsp;authority)</code></th>
<td class="colLast">
<div class="block">return user by given authority</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#getByEmail(java.lang.String)">getByEmail</a></span>&#8203;(java.lang.String&nbsp;authority)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#getByRefreshToken(java.lang.String)">getByRefreshToken</a></span>&#8203;(java.lang.String&nbsp;refreshToken)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#getByToken(java.lang.String)">getByToken</a></span>&#8203;(java.lang.String&nbsp;token)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#getByUsosId(java.lang.String)">getByUsosId</a></span>&#8203;(java.lang.String&nbsp;usosId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#searchForUsers(java.lang.String)">searchForUsers</a></span>&#8203;(java.lang.String&nbsp;query)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserRepository.</span><code><span class="memberNameLink"><a href="../../repositories/UserRepository.html#searchForUsers(java.lang.String,com.plannaplan.types.UserRoles)">searchForUsers</a></span>&#8203;(java.lang.String&nbsp;query,
<a href="../../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;role)</code></th>
<td class="colLast">
<div class="block">search for user with given query</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<h2>Uses of <a href="../User.html" title="class in com.plannaplan.entities">User</a> in <a href="../../services/package-summary.html">com.plannaplan.services</a></h2>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#checkForUser(java.lang.String,java.lang.String)">checkForUser</a></span>&#8203;(java.lang.String&nbsp;email,
java.lang.String&nbsp;usosId)</code></th>
<td class="colLast">
<div class="block">checks if user exist and return him or creates new one with student role
otherwise</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#checkForUser(java.lang.String,java.lang.String,com.plannaplan.types.UserRoles)">checkForUser</a></span>&#8203;(java.lang.String&nbsp;email,
java.lang.String&nbsp;usosId,
<a href="../../types/UserRoles.html" title="enum in com.plannaplan.types">UserRoles</a>&nbsp;roleIfNotExist)</code></th>
<td class="colLast">
<div class="block">checks if user exist and creates new one if doesn't</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getUserByEmail(java.lang.String)">getUserByEmail</a></span>&#8203;(java.lang.String&nbsp;email)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#login(com.plannaplan.entities.User)">login</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;authority)</code></th>
<td class="colLast">
<div class="block">generates token for user and if user don't have name in database it will
attemp to obtain these from usos api and saves changes in database</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#save(com.plannaplan.entities.User)">save</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">sacves user to databse and return instatnce with id</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> that return types with arguments of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getAllStudents()">getAllStudents</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getByAuthority(java.lang.String)">getByAuthority</a></span>&#8203;(java.lang.String&nbsp;authority)</code></th>
<td class="colLast">
<div class="block">return user by given authority</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getById(java.lang.Long)">getById</a></span>&#8203;(java.lang.Long&nbsp;userId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getByToken(java.lang.String)">getByToken</a></span>&#8203;(java.lang.String&nbsp;token)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getStudentsSortedByRanking()">getStudentsSortedByRanking</a></span>()</code></th>
<td class="colLast">
<div class="block">get students sorted by their ranking</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#getUserByRefreshToken(java.lang.String)">getUserByRefreshToken</a></span>&#8203;(java.lang.String&nbsp;refreshToken)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#searchForStudents(java.lang.String)">searchForStudents</a></span>&#8203;(java.lang.String&nbsp;query)</code></th>
<td class="colLast">
<div class="block">search for user with given query</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Methods in <a href="../../services/package-summary.html">com.plannaplan.services</a> with parameters of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionService.</span><code><span class="memberNameLink"><a href="../../services/CommisionService.html#getNewestCommision(com.plannaplan.entities.User)">getNewestCommision</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">get newest commision ov given user</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../Commision.html" title="class in com.plannaplan.entities">Commision</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CommisionService.</span><code><span class="memberNameLink"><a href="../../services/CommisionService.html#getUsersCommisions(com.plannaplan.entities.User)">getUsersCommisions</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">gets user commisions</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#login(com.plannaplan.entities.User)">login</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;authority)</code></th>
<td class="colLast">
<div class="block">generates token for user and if user don't have name in database it will
attemp to obtain these from usos api and saves changes in database</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../User.html" title="class in com.plannaplan.entities">User</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#save(com.plannaplan.entities.User)">save</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">sacves user to databse and return instatnce with id</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EmailService.</span><code><span class="memberNameLink"><a href="../../services/EmailService.html#sendAcceptationResult(com.plannaplan.entities.User,com.plannaplan.models.EmailAcceptedData)">sendAcceptationResult</a></span>&#8203;(<a href="../User.html" title="class in com.plannaplan.entities">User</a>&nbsp;user,
<a href="../../models/EmailAcceptedData.html" title="class in com.plannaplan.models">EmailAcceptedData</a>&nbsp;data)</code></th>
<td class="colLast">
<div class="block">sends email with infromation about accepted groups</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="useSummary">
<table>
<caption><span>Method parameters in <a href="../../services/package-summary.html">com.plannaplan.services</a> with type arguments of type <a href="../User.html" title="class in com.plannaplan.entities">User</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">UserService.</span><code><span class="memberNameLink"><a href="../../services/UserService.html#saveAll(java.util.List)">saveAll</a></span>&#8203;(java.util.List&lt;<a href="../User.html" title="class in com.plannaplan.entities">User</a>&gt;&nbsp;users)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../User.html" title="class in com.plannaplan.entities">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,180 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>com.plannaplan.entities (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.entities">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-declaration">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;com.plannaplan.entities</h1>
</div>
<div class="contentContainer">
<section class="packageDescription"><a id="package.description">
<!-- -->
</a>
<div class="block">Provides all entieites that are created in database by Hibernate</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<li class="blockList">
<div class="typeSummary">
<table>
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AppConfig.html" title="class in com.plannaplan.entities">AppConfig</a></th>
<td class="colLast">
<div class="block">entity that keeps app configurations</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Assignment.html" title="class in com.plannaplan.entities">Assignment</a></th>
<td class="colLast">
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Commision.html" title="class in com.plannaplan.entities">Commision</a></th>
<td class="colLast">
<div class="block">Entity of Commision grouping of state associated about commison and owner_id</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Course.html" title="class in com.plannaplan.entities">Course</a></th>
<td class="colLast">
<div class="block">Entity of Course grouping of state of course</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Exchange.html" title="class in com.plannaplan.entities">Exchange</a></th>
<td class="colLast">
<div class="block">Entity that keeps user exchange offer.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Groups.html" title="class in com.plannaplan.entities">Groups</a></th>
<td class="colLast">
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Lecturer.html" title="class in com.plannaplan.entities">Lecturer</a></th>
<td class="colLast">
<div class="block">Entity of Lecturer grouping of state ssociated about id,title,name,surname</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="User.html" title="class in com.plannaplan.entities">User</a></th>
<td class="colLast">
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,122 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>com.plannaplan.entities Class Hierarchy (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="tree: package: com.plannaplan.entities">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-tree">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.plannaplan.entities</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">com.plannaplan.entities.<a href="AppConfig.html" title="class in com.plannaplan.entities"><span class="typeNameLink">AppConfig</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="Assignment.html" title="class in com.plannaplan.entities"><span class="typeNameLink">Assignment</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="Commision.html" title="class in com.plannaplan.entities"><span class="typeNameLink">Commision</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="Course.html" title="class in com.plannaplan.entities"><span class="typeNameLink">Course</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="Exchange.html" title="class in com.plannaplan.entities"><span class="typeNameLink">Exchange</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="Groups.html" title="class in com.plannaplan.entities"><span class="typeNameLink">Groups</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="Lecturer.html" title="class in com.plannaplan.entities"><span class="typeNameLink">Lecturer</span></a></li>
<li class="circle">com.plannaplan.entities.<a href="User.html" title="class in com.plannaplan.entities"><span class="typeNameLink">User</span></a></li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,381 +0,0 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>Uses of Package com.plannaplan.entities (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="use: package: com.plannaplan.entities">
<meta name="generator" content="javadoc/PackageUseWriter">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-use">
<script type="text/javascript">var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Uses of Package com.plannaplan.entities" class="title">Uses of Package<br>com.plannaplan.entities</h1>
</div>
<div class="contentContainer">
<div class="useSummary">
<table>
<caption><span>Packages that use <a href="package-summary.html">com.plannaplan.entities</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.entities">com.plannaplan.entities</a></th>
<td class="colLast">
<div class="block">Provides all entieites that are created in database by Hibernate</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.models">com.plannaplan.models</a></th>
<td class="colLast">
<div class="block">Provides readonly (mostly) classes to keep data for diffrent pourposes</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.repositories">com.plannaplan.repositories</a></th>
<td class="colLast">
<div class="block">Provides jpa repositories interfaces to comunicate with database.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#com.plannaplan.services">com.plannaplan.services</a></th>
<td class="colLast">
<div class="block">Provides service classes to make operations with entities or comunicate with
external systems.</div>
</td>
</tr>
</tbody>
</table>
</div>
<section class="packageUses">
<ul class="blockList">
<li class="blockList">
<section class="detail"><a id="com.plannaplan.entities">
<!-- -->
</a>
<div class="useSummary">
<table>
<caption><span>Classes in <a href="package-summary.html">com.plannaplan.entities</a> used by <a href="package-summary.html">com.plannaplan.entities</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Assignment.html#com.plannaplan.entities">Assignment</a></th>
<td class="colLast">
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Commision.html#com.plannaplan.entities">Commision</a></th>
<td class="colLast">
<div class="block">Entity of Commision grouping of state associated about commison and owner_id</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Course.html#com.plannaplan.entities">Course</a></th>
<td class="colLast">
<div class="block">Entity of Course grouping of state of course</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Groups.html#com.plannaplan.entities">Groups</a></th>
<td class="colLast">
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Lecturer.html#com.plannaplan.entities">Lecturer</a></th>
<td class="colLast">
<div class="block">Entity of Lecturer grouping of state ssociated about id,title,name,surname</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/User.html#com.plannaplan.entities">User</a></th>
<td class="colLast">
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.models">
<!-- -->
</a>
<div class="useSummary">
<table>
<caption><span>Classes in <a href="package-summary.html">com.plannaplan.entities</a> used by <a href="../models/package-summary.html">com.plannaplan.models</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Assignment.html#com.plannaplan.models">Assignment</a></th>
<td class="colLast">
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Exchange.html#com.plannaplan.models">Exchange</a></th>
<td class="colLast">
<div class="block">Entity that keeps user exchange offer.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Groups.html#com.plannaplan.models">Groups</a></th>
<td class="colLast">
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/User.html#com.plannaplan.models">User</a></th>
<td class="colLast">
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.repositories">
<!-- -->
</a>
<div class="useSummary">
<table>
<caption><span>Classes in <a href="package-summary.html">com.plannaplan.entities</a> used by <a href="../repositories/package-summary.html">com.plannaplan.repositories</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Assignment.html#com.plannaplan.repositories">Assignment</a></th>
<td class="colLast">
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Commision.html#com.plannaplan.repositories">Commision</a></th>
<td class="colLast">
<div class="block">Entity of Commision grouping of state associated about commison and owner_id</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Course.html#com.plannaplan.repositories">Course</a></th>
<td class="colLast">
<div class="block">Entity of Course grouping of state of course</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Exchange.html#com.plannaplan.repositories">Exchange</a></th>
<td class="colLast">
<div class="block">Entity that keeps user exchange offer.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Groups.html#com.plannaplan.repositories">Groups</a></th>
<td class="colLast">
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Lecturer.html#com.plannaplan.repositories">Lecturer</a></th>
<td class="colLast">
<div class="block">Entity of Lecturer grouping of state ssociated about id,title,name,surname</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/User.html#com.plannaplan.repositories">User</a></th>
<td class="colLast">
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<li class="blockList">
<section class="detail"><a id="com.plannaplan.services">
<!-- -->
</a>
<div class="useSummary">
<table>
<caption><span>Classes in <a href="package-summary.html">com.plannaplan.entities</a> used by <a href="../services/package-summary.html">com.plannaplan.services</a></span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/AppConfig.html#com.plannaplan.services">AppConfig</a></th>
<td class="colLast">
<div class="block">entity that keeps app configurations</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Assignment.html#com.plannaplan.services">Assignment</a></th>
<td class="colLast">
<div class="block">Entity of Assignment grouping of state associated about group_id and
commision_id</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Commision.html#com.plannaplan.services">Commision</a></th>
<td class="colLast">
<div class="block">Entity of Commision grouping of state associated about commison and owner_id</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Course.html#com.plannaplan.services">Course</a></th>
<td class="colLast">
<div class="block">Entity of Course grouping of state of course</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Exchange.html#com.plannaplan.services">Exchange</a></th>
<td class="colLast">
<div class="block">Entity that keeps user exchange offer.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/Groups.html#com.plannaplan.services">Groups</a></th>
<td class="colLast">
<div class="block">Entity of Groups grouping of state ssociated about
course,time,room,capacity,type,day</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="class-use/Lecturer.html#com.plannaplan.services">Lecturer</a></th>
<td class="colLast">
<div class="block">Entity of Lecturer grouping of state ssociated about id,title,name,surname</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="class-use/User.html#com.plannaplan.services">User</a></th>
<td class="colLast">
<div class="block">Entity of User grouping of state ssociated about
id,name,surname,email,role,token,tokenCreatedDate</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More