Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Web panele

Obiekt PmPanel potrafi oferować swój obraz klientom internetowym (Chrome, Firefox, Edge, InternetExplorer ..) w formie dynamicznych stron HTML. Te strony dynamiczne wytwarzają się automatycznie w środowisku dewelopwerskim podczas kompilacji obrazu i są przechowywane w pliku "Aplikacja.pra".

Żeby obiekt PmPanel oferował swój obraz w Web serwerze jest konieczne, żeby miał zakreślony konfigurator "Udostępnić obiekt do Webu" w zakładce "Web serwer" i poprawnie wypełnione wszystkie pozostałe konfiguratory w tej zakładce.

Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu "PmWebClient".

 
Aż do wersji PROMOTICa Pm8.2 strony HTML były generowane tylko dla przeglądarki MS InternetExplorer (MSIE). W wersji Pm8.2.0 generowanie stron HTML było zmienione na standardowe technologie Ajax i HTML5 i można je lprzeglądać również przy pomocy innych przeglądarek (Chrome, Firefox, Edge, InternetExplorer ..) włącznie z ich mobilnymi wersjami. Z tym łączy się parę ograniczeń:
- Wspierany jest MSIE od wersji 8, zalecany jest wszak od wersji 10 (dopiero od tej wersji jest standardowo wspierana technologia HTML5). Patrz Ogranioczenie dla MS InternetExplorer 8.
- Jeżeli Web panel ma być używany nie w przeglądarkach MSIE (tzn. Firefox, Chrome ..), wtedy musi być w danym obiekcie PmPanel ustawiony konfigurator "Ustawienia języka skryptowego" na "javascript". Skrypty w zdarzeniach elementów graficznych są uruchamiane po stronie klienta (patrz dalej) a nie-MSIE przeglądarki nie wspierają język VBScript.

W tym przypadku elementy ActiveX TrendsView i PmTable nie są uruchamiane bezpośrednio na stonie HTML (nie-MSIE przeglądarki nie wspierają technologii ActiveX), ale są "emulowane" kodem HTML. Nie ma potrzeby takie elementy ActiveX instalować po stronie klienta (patrz Instalacja Web klienta). Patrz Elementy graficzne ActiveX oraz Web panele.

 
Podstawowa zasada Web paneli:
- Elementy graficzne są generowane pod postacią dynamicznych stron HTML (tzw. technologie Ajax).
- Jeżeli klient spojrzy na dany panel, wtedy z serwera (tzn. z aplikacji PROMOTIC) najpierw zostanie przeniesiona dynamiczna HTML strona panelu. Następne aktualizacje panelu (patrz konfigurator "Częstostliwość odświeżania stron HTML [s]") odbywają się automatycznie na podstawie cyklicznego odczytu danych panelu XML, które są jednak o dużo mniejsze niż cał astrona HTML. Na przykład jeżeli w panelu znajdują się powiązania z danymi do 10 zmiennych, wtedy cyklicznie zostają transmitowane wyłóącznie bieżące dane tych 10 zmiennych. Obciąpenie serwera jest więc minimalne.
- Skrypty w zdarzeniach elementów graficznych są uruchamiane po stronie klienta (tzn. w przeglądarce). Z tego wynikają pewne ograniczenia opisane niżej. Podstawowym ograniczeniem jest to, że nie można w skrypcie bezpośrednio odnosić się do innych oniektów w drzewie aplikacji, na przykład do wartości w obiekcie PmData (ograniczenie dotyczy tylko wykonywania skryptów - nie dotyczy na przykład powiązania z danymi PP - Powiązanie z właściwością PROMOTIC obiektu - tam można bezpośrednio odnosić się do innych obiektów).

To ograniczenie można rozwiązać w ten sposób, że po stronie klienta (tzn. w zdarzeniu elementu) na przykład zostanie wywołana metoda panelu pMe.PmPanel.Methods.XXX(a,b,..). Wywołanie takiej metody XXX spowoduje, że z klienta jest przesłane na serwer polecenie XML, i metoda zostanie wywołana po stronie serwera. W metodzie panelu z kolei może już znajdować się skrypt, który odnosi się do innych obiektów w drzewie aplikacji. Pozostałe możliwości patrz dalej.

 

Ograniczenia:

Tutaj znajduje się lista ograniczeń dotyczących paneli, które mają być oferowane na Web serwerze pod postacią dynamicznej strony HTML.
 
- Ograniczenia dla powiązań z danymi:

NIE MOŻNA wykorzystywać powiązań z danymi S - Powiązanie z zawartością pliku tekstowego i VB - Powiązanie z wyrażeniem skryptowym

 
- Ograniczenia dla pisania algorytmów (skrypty):
- Nie można bezpośrednio odnosić się do innych PROMOTIC obiekttów w drzewie aplikacji (np. stosować pMe.Pm("/data/xy")). Jeżeli zachodzi konieczność wpływać w Web panelu na inny obiekt w aplikacji, wtedy można zastosować:
- wywołanie metod pMe.PmPanel.Methods.XXX(a,b,..).
- wywołanie metod globalnych z zastosowaniem Pm.Methods.XXX(a,b,..).
- Można korzystać z obiektu pMe.PmPanel, przy pomocy którego można wpływać na cały obraz. W uzyskanym obiekcie typu PmPanel działają jednaktylko natępujące metody: Methods, OpenView, ViewerType, Close.
- Skrypty można stosować prawie we wszystkich zdarzeniach elementów graficznych. W środowisku Web na razie nie funckjonują zdarzenia: PmiWEdit.onDataEditing i PmiWEdit.onDataEditCancel.
- Dla Web na razie nie funkcjonują metody i właściwości elementów graficznych: Blink, Focus, FullName, MouseOn, Refresh, ScreenX, ScreenY.
- Globalny obiekt Pm: Wiele metod działa w Webie, ale sporo nie jest wspieranych. Każda metoda tego obiektu zawiera informację, czy działa lub nie w Webie.
 
- Ograniczenia dla elementów graficznych::
- PmiRasterImage: Nie jest brany pod uwagę konfigurator Zezwolić kolor przejrzystość.
- PmiText: Nie jest brany pod uwagę konfigurator Typ cieniowania tekstu.
- PmiAx: Funkcjonuje dla PROMOTIC ActiveX obiektów TrendsView i PmTable. Dla innych obiektów ActiveX nie jest funkcjonalny. Patrz Elementy graficzne ActiveX oraz Web panele.
- PmiWCombo: Konfigurator Sortuj nie jest brany pod uwagę. Konfigurator Typ z opcją "Wybór i edycja" w chwli obecnej nie działa w środowisku internetowym.
- PmiWAnimate: Konfigurator -1 = Powtarzaj w tył nie są brane pod uwagę. Metody Seek i Sound nie funkcjonują.
- PmiPanelMeter: Ten przestarzały element nie działa w środowisku webowym.
 
- Ogranioczenie dla wołanie metody projektanta obiektu PmPanel:

Patrz Metody projektanta w obiekcie PmPanel.

Wywoływane metody mogą mieć parametry i wartość wyjścia (pResult) tylko:

- prostych typów danych (np. Integer, String, itd.)
- tablice 1-wymiarowe (Array) zdefiniowane np. Dim arr(20)
- tablice 2-wymiarowe (Array) zdefiniowane np. Dim arr(10,20)
- w pozycjach tablicy nie mogą się znajdować następne tablice (Array)

 
- Ogranioczenie dla MS InternetExplorer 8:

W przypadku MS InternetExplorer jest wskazane korzystanie z wersji 10 lub nowszej. Niestety dla SO Windows XP te nowsze wersje nie są wspierane a ostatnia możliwawersja to 8. Ta wersja jednak jeszcze nie wspiera niektóre standardy, z czego wynikają ograniczenia:

- Nie istnieje możliwość odczytu i zapisu do właściwości elementów (tzn. PmiItem.właściwość=wartość). W zamian tego należy użyć metodę PmiItem.GetProp lub PmiItem.SetProp.

Notatki i instrukcje:

Inny algorytm dla panelu lokalnego i dla Web panelu:

Panel wytworzony w obiekcie PmPanel może być otwarty bezpośrednio w aplikacji runtime (panel lokalny) lub w Web przaglądarce (Web panel). Jeżeli w takim panelu zachodzi potrzeba na przykład po naciśnięciu klawisza wywołać algorytm, który jednak ma w panelu lokalnym wykonać coć innego niż w Web panelu, wtedy można do tego zastosować właściwość PmiRoot.ClientType. Wartość tej właściwości informuje, czy panel jest otwarty w aplikacji czy też w przeglądarce Web. Przykłady patrz opis właściwości ClientType.

 
Współużywalność paneli:

Podczas opracowywania panelu przeznaczonego do Webu należy sobie uświadomić, że taki panel w jednej chwili może być oglądany przez większą ilość klientów. Z tego powodu nie można wykorzystywać na przykład konstrukcje, kiedy jeden panel (jeden obiekt PmPanel) służy do przeglądania różnych urządzeń według zmiennej ustawianej na bieżąco w aplikacji. Klienci przepisywali by sobie ową zmienną i w wyniku tego widzieli by nieodpowiednie dane. Jeżeli zachodzi konieczność, żeby jeden panel oferował różne dane, wtedy najlepszym rozwiązaniem jest:

- zastosowanie parametrów elementu graficznego PmiRoot (patrz: Parametry elementu graficznego) i/lub

 
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice