Konfigurowanie aplikacji mobilnych Maximo Anywhere

Transkrypt

Konfigurowanie aplikacji mobilnych Maximo Anywhere
IBM Maximo Anywhere
Wersja 7 Wydanie 5
Konfigurowanie aplikacji mobilnych
Maximo Anywhere
Uwaga
Przed wykorzystaniem tych informacji oraz produktu, którego dotyczą, należy zapoznać się z sekcją “Informacje” na stronie 33.
Ta edycja dotyczy wersji 7, wydania 5, modyfikacji 2 produktu IBM Maximo Anywhere i wszystkich kolejnych wydań i
modyfikacji, chyba że w nowszych edycjach wskazano inaczej.
© Copyright IBM Corporation 2014, 2015.
Spis treści
Modyfikowanie aplikacji mobilnych
Maximo Anywhere . . . . . . . . . . 1
Pierwsze kroki . . . . . . . . . . . . . . 1
Środowisko programistyczne MobileFirst Studio . . . 1
Przygotowywanie środowiska produktu Maximo
Anywhere . . . . . . . . . . . . . . 1
Instalowanie narzędzi programistycznych dla systemu
Android . . . . . . . . . . . . . . 2
Instalowanie narzędzi programistycznych dla systemu
iOS . . . . . . . . . . . . . . . 4
Instalowanie zintegrowanego środowiska
programistycznego . . . . . . . . . . . . 5
Wdrażanie aplikacji przy użyciu komponentu
MobileFirst Studio . . . . . . . . . . . . 7
Integrowanie produktu Maximo Anywhere z produktem
Maximo Asset Management . . . . . . . . . . 8
Zasoby OSLC . . . . . . . . . . . . . 9
Tworzenie zasobów OSLC w programie Maximo Asset
Management . . . . . . . . . . . . . 10
Importowanie zasobów OSLC do programu Maximo
Anywhere . . . . . . . . . . . . . . 11
Predefiniowane zasoby i struktury obiektów OSLC . . 12
© Copyright IBM Corp. 2014, 2015
Tworzenie i modyfikowanie pól w aplikacjach mobilnych
Zmienianie etykiet pól . . . . . . . . .
Zmiana kolejności pól w aplikacji mobilnej . . .
Dodawanie pól do aplikacji mobilnej . . . . .
Dodawanie list wartości jako listy wyszukiwania dla
pól . . . . . . . . . . . . . . .
Dodawanie rekordów powiązanych do aplikacji
mobilnej. . . . . . . . . . . . . .
Organizowanie układu ekranów aplikacji mobilnej . .
Pliki szablonów układu . . . . . . . . .
Zmienianie układu pól w widokach listy . . . .
Modyfikowanie plików javascript aplikacji mobilnych .
Tworzenie pól warunkowych w aplikacjach . . .
Tworzenie pól warunkowych tylko do odczytu . .
Tworzenie wymaganych pól warunkowych . . .
14
. 14
. 14
. 15
. 17
.
.
.
.
.
.
.
.
18
23
23
24
26
26
28
30
Informacje . . . . . . . . . . . . . 33
Strategia ochrony prywatności .
Znaki towarowe . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 35
. 35
Indeks . . . . . . . . . . . . . . . 37
iii
iv
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Modyfikowanie aplikacji mobilnych Maximo Anywhere
Istnieje możliwość modyfikowania interfejsu użytkownika aplikacji mobilnych Maximo
Anywhere, na przykład modyfikowania etykiet pól, dodawania pól lub dodawania widoków
poprzez modyfikowanie plików artefaktów aplikacji w komponencie IBM MobileFirst
Platform Studio.
Pierwsze kroki
Przed przystąpieniem do modyfikowania aplikacji mobilnych należy skonfigurować
środowisko programistyczne, instalując komponent Worklight Studio na serwerze budowania.
Środowisko programistyczne MobileFirst Studio
MobileFirst Studio jest zintegrowanym środowiskiem programistycznym opartym na
technologii Eclipse, które można wdrożyć z produktem Maximo Anywhere. MobileFirst
Studio służy do konfigurowania i testowania aplikacji Maximo Anywhere oraz do zarządzania
procesem budowania i wdrażania.
Aplikację mobilną konfiguruje się, edytując jej definicję, tj. plik app.xml, za pomocą edytora
XML w programie MobileFirst Studio. Karta projektowania w edytorze XML umożliwia
łatwe znajdowanie elementów w pliku oraz modyfikowanie i dodawanie treści. Z chwilą
zapisania zmian aplikacja zostaje automatycznie zbudowana i można przetestować zmiany.
Następnie zmodyfikowane aplikacje można wdrożyć na serwerze.
Każdy element definicji aplikacji musi mieć identyfikator. Po wypełnieniu pola Id. powiązana
z nim modyfikacja definicji aplikacji będzie zachowywana podczas jej aktualizacji.
Przed wdrożeniem aplikacji mobilnych w środowisku produkcyjnym można sprawdzić i
przetestować wszystkie ich modyfikacje w symulatorze Mobile Browser Simulator. Aby
możliwy był podgląd aplikacji w symulatorze Mobile Browser Simulator, należy wybrać
Google Chrome jako zewnętrzną przeglądarkę WWW.
Aby wyświetlić podgląd zmian, kliknij folder aplikacji prawym przyciskiem myszy i wybierz
pozycje Uruchom jako > Podgląd.
Informacje pokrewne:
Worklight Studio — przegląd
Przygotowywanie środowiska produktu Maximo Anywhere
Aby możliwe było budowanie i wdrażanie aplikacji Maximo Anywhere, należy
skonfigurować komputer, na którym zainstalowany jest produkt Maximo Anywhere.
O tym zadaniu
Do budowania aplikacji dla urządzeń mobilnych iOS potrzebny jest komputer Mac OS X ze
specjalnym oprogramowaniem.
Procedura
1. Przygotuj środowisko do budowania aplikacji mobilnych:
Android
© Copyright IBM Corp. 2014, 2015
Zainstaluj narzędzia programistyczne dla systemu
Android.
1
iOS
Zainstaluj narzędzia programistyczne dla systemu
iOS.
2. Opcjonalne: Zainstaluj zintegrowane środowisko programistyczne..
Instalowanie narzędzi programistycznych dla systemu Android
Do budowania aplikacji mobilnych dla systemu Android potrzebny jest pakiet Oracle JDK i
pakiet Android SDK.
Procedura
1. Zainstaluj pakiet Oracle JDK w wersji 7.0.
a. Ze strony Oracle Java™ SE downloads (www.oracle.com/technetwork/java/javase/
downloads/jdk7-downloads-1880260.html) pobierz pakiet Java SE Development Kit
właściwy dla używanego systemu operacyjnego.
b. Uruchom plik wykonywalny i wykonaj czynności instalacyjne.
c. Określ zmienną środowiskową JAVA_HOME i ścieżkę do katalogu, w którym
zainstalowano pakiet JDK:
Windows
1. Przejdź do zaawansowanych ustawień
systemu.
2. Na karcie Advanced kliknij pozycję
Environment Variables.
3. W obszarze System Variables kliknij przycisk
New.
4. Określ JAVA_HOME jako nazwę zmiennej i
jako wartość zmiennej wprowadź ścieżkę do
katalogu instalacyjnego pakietu JDK.
Wartości zmiennych środowiskowych nie
można oddzielać za pomocą spacji. Jeśli
nazwa ścieżki wskazującej na katalog
instalacyjny Java zawiera spację, określ
skróconą nazwę ścieżki. Przykładowo: w
systemie operacyjnym Windows wprowadź
ścieżkę C:\Progra~1\Java\jdk1.7.0_55
5. Zamknij wszystkie otwarte okna.
6. Upewnij się, że systemowa zmienna
środowiskowa JAVA_HOME jest
zdefiniowana. W tym celu otwórz nowy
wiersz komend i uruchom następującą
komendę:
SET JAVA_HOME
Zostanie zwrócona wartość, taka jak np:
JAVA_HOME=C:\Progra~1\Java\jdk1.7.x
2
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Linux lub UNIX
1. W wierszu komend uruchom następującą
komendę:
vi ~/.bash_profile
2. Określ zmienne, uruchamiając poniższą
komendę i zastępując zmienną java_path
określoną ścieżką Java:
export JAVA_HOME=ścieżka_java
export PATH=$JAVA_HOME/bin:$PATH
3. Zapisz i zamknij profil .bash oraz uruchom
następującą komendę, aby zastosować zmiany:
source ~/.bash_profile
4. Upewnij się, że systemowa zmienna
środowiskowa JAVA_HOME jest
zdefiniowana. W tym celu otwórz nowy
wiersz komend i uruchom następującą
komendę:
echo $JAVA_HOME
2. Zainstaluj pakiet Android SDK:
a. Przejdź do serwisu Android dla programistów (developer.android.com/sdk/
index.html) i kliknij odsyłacz Other Download Options.
b. W sekcji Tylko narzędzia SDK pobierz pakiet SDK dla danego systemu operacyjnego
i na komputerze wyodrębnij skompresowany plik.
c. Uruchom kreatora instalacji.
W systemie Windows:
Z poziomu wyodrębnionego katalogu uruchom
plik SDK Manager.exe.
W systemie Linux lub OS X:
Otwórz terminal i przejdź do katalogu
android_home/tools/, a następnie wywołaj
komendę:
android sdk
d. W menu Tools wybierz pozycje Android SDK Tools Revision 22 lub nowszą i
najnowsze narzędzia Android SDK do budowania. Wybierz także pakiet Android z
interfejsem API w wersji 19 lub nowszej i kliknij opcję Install Packages.
3. Opcjonalne: Zainstaluj zintegrowane środowisko programistyczne.
4. Jeśli w kroku 3 zainstalowano środowisko Eclipse, zainstaluj wtyczkę Android
Development Tools (ADT):
a. W rozwiązaniu Eclipse wybierz pozycje Help > Install New Software > Add.
b. W oknie Add Repository określ poniższy adres, wpisując go w polu Location:
https://dl-ssl.google.com/android/eclipse/.
c. W polu Name określ Android Development Tools i kliknij przycisk OK.
d. W panelu Available Software kliknij kolejno przyciski Select All > Next > Next >
Finish.
e. Zrestartuj Eclipse i określ katalog obszaru roboczego.
f. Otwórz okno Eclipse Preferences i określ ścieżkę Android SDK. Kliknij przycisk
Zastosuj > OK, aby zastosować zmiany.
g. W panelu Welcome to Android Development wybierz pozycję Use existing SDKs i
przejdź do katalogu SDK. Kliknij pozycje OK > Dalej > Zakończ
Modyfikowanie aplikacji mobilnych Maximo Anywhere
3
Instalowanie narzędzi programistycznych dla systemu iOS
Aby móc tworzyć aplikacje dla systemu iOS, należy zarejestrować się w programie Apple dla
programistów, korzystając ze swojego identyfikatora Apple ID.
O tym zadaniu
W programie iOS Developer Program można zarejestrować się jako osoba fizyczna lub
przedsiębiorstwo, przy czym osoba fizyczna traktowana jest jak zespół jednoosobowy.
Rejestracja w programie iOS Developer Enterprise Program w charakterze przedsiębiorstwa
uprawnia do tworzenia aplikacji iOS na użytek wewnętrzny. Procedura zakładania konta w
programie iOS Developer Enterprise może obejmować dodatkowe kroki.
Osoba zakładająca zespół staje się agentem zespołu, czyli osobą do kontaktów w sprawach
prawnych i administratorem zespołu z pełnym dostępem do serwisów Member Center i
iTunes Connect. Do wykonania kroków od 5 do 7 niezbędny jest agent zespołu. Twórcy
aplikacji dla systemu iOS mogą potrzebować pomocy agenta zespołu, by wykonać opisywaną
procedurę.
W celu zarządzania wykorzystaniem utworzonych aplikacji iOS, tworzy się profile
udostępniania. Można utworzyć programistyczny profil udostępniania lub dystrybucyjny
profil udostępniania
Programistyczny profil udostępniania określa zasady używana aplikacji w celach
programistycznych i testowych na pewnej liczbę urządzeń. Programistyczne profile
udostępniania muszą zawierać identyfikatory urządzeń, na których są zainstalowane aplikacje.
Można zarejestrować więcej urządzeń iOS i dodać je do profili udostępniania.
Dystrybucyjny profil udostępniania w sklepie z aplikacjami zapewnia dostęp do aplikacji na
wszystkich urządzeniach w przedsiębiorstwie. Jednak Maximo Anywhere obsługuje tylko po
jednym globalnym identyfikatorze aplikacji na dystrybucyjny profil udostępniania.
Procedura
1. Zainstaluj pakiet Oracle JDK w wersji 7.0.
a. Ze strony Oracle Java SE downloads (www.oracle.com/technetwork/java/javase/
downloads/jdk7-downloads-1880260.html) pobierz pakiet Java SE Development Kit
właściwy dla używanego systemu operacyjnego.
2.
3.
4.
5.
4
b. Uruchom plik wykonywalny i wykonaj czynności instalacyjne.
c. Ustaw zmienną środowiskową JAVA_HOME i określ ścieżkę do katalogu, w którym
zainstalowano pakiet JDK, wywołując komendę cmd>vi ~/.bash_profile i dodając
następujący wiersz do pliku ~/.bash_profile:
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
Utwórz identyfikator Apple ID, rejestrując się jako programista Apple w serwisie Apple
Registration Center (developer.apple.com/programs/register/).
Pobierz i zainstaluj środowisko programistyczne Xcode, w tym pakiety iOS SDK i
program Simulator, z serwisu Mac App Store (www.apple.com/osx/apps/app-store.html).
Wprowadź swój identyfikator Apple ID w środowisku Xcode (developer.apple.com/
library/ios/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/
AddingYourAccounttoXcode/AddingYourAccounttoXcode.html).
W środowisku Xcode utwórz certyfikat (developer.apple.com/library/ios/documentation/
IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/
MaintainingCertificates.html) dla profilu udostępniania.
Konfigurowanie aplikacji mobilnych Maximo Anywhere
v Utwórz certyfikat programisty dla programistycznego profilu udostępniania. Pobierz
certyfikat i dodaj go do aplikacji Pęk kluczy (support.apple.com/kb/PH7297).
v Utwórz certyfikat dystrybucyjny dla dystrybucyjnego profilu udostępniania. Pobierz
certyfikat do środowiska lokalnego.
6. Zarejestruj identyfikatory aplikacji (developer.apple.com/library/ios/documentation/IDEs/
Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html).
Identyfikatory aplikacji należy rejestrować w formie wieloznacznej. Tworząc
identyfikatory aplikacji, wybierz opcję Wildcard App ID i wprowadź id. pakunku.
Typ profilu udostępniania
Identyfikator aplikacji w formie wieloznacznej
Programistyczny profil udostępniania
Identyfikator pakunku WorkExecution to
com.WorkExecution*.
Identyfikator pakunku WorkApproval to
com.WorkApproval*.
Dystrybucyjny profil udostępniania w sklepie z
aplikacjami
Maximo Anywhere obsługuje tylko po jednym
globalnym identyfikatorze aplikacji na
dystrybucyjny profil udostępniania.
Identyfikator pakunku to com*.
7. Zarejestruj identyfikatory urządzeń w serwisie Member Center (developer.apple.com/
library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/
MaintainingProfiles.html). Unikalny identyfikator urządzania (UDID) można odczytać,
podłączając urządzenie do komputera z systemem Mac OS X i uruchomionym
środowiskiem Xcode oraz aplikacją iTunes.
8. W serwisie Member Center utwórz profile udostępniania dla poszczególnych aplikacji.
Typ profilu udostępniania
Czynność
Programistyczny profil udostępniania
Jako programista wygeneruj profile udostępniania,
a następnie pobierz je na komputer z systemem
Mac OS X. Otwórz każdy z profili udostępniania
w XCode. Profile udostępniania są dodawane do
biblioteki systemowej w następującej lokalizacji:
~/Library/MobileDevice/Provisioning Profiles".
Dystrybucyjny profil udostępniania w sklepie z
aplikacjami
Podczas generowania profilu udostępniania nie
trzeba podawać identyfikatorów urządzeń. Pobierz
profil na komputer Mac z systemem OS X i dodaj
identyfikator profilu do pliku to build.properties.
Profil udostępniania trzeba pobrać na serwer budowania po każdej modyfikacji profilu.
Podczas budowania i wdrażania aplikacji profile udostępniania są gromadzone i
zapisywane w pliku archiwum aplikacji iOS (IPA).
Instalowanie zintegrowanego środowiska programistycznego
Aby utworzyć środowisko programistyczne, zainstaluj zestaw narzędzi programistycznych na
komputerze przeznaczonym do budowania. Zintegrowanego środowiska programistycznego
można używać do testowania i konfigurowania aplikacji mobilnych przed wdrożeniem ich na
urządzeniach mobilnych.
Zanim rozpoczniesz
v Przygotuj środowisko Maximo Anywhere.
v Aby możliwe było przeglądanie aplikacji w programie MobileFirst Studio Mobile Browser
Simulator zainstaluj program Google Chrome.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
5
O tym zadaniu
Środowisko MobileFirst Studio jest środowiskiem programistycznym opartym na rozwiązaniu
Eclipse, za pomocą którego można skonfigurować aplikacje Maximo Anywhere. Rozwiązanie
MobileFirst Studio należy zainstalować z poziomu środowiska programistycznego
zintegrowanego z IDE Eclipse. Do budowania i wdrażania aplikacji mobilnych potrzebny jest
też zestaw narzędzi programistycznych dla platformy.
Do przeglądania i testowania aplikacji mobilnych można używać programu Mobile Browser
Simulator, Emulatora Android lub programu iOS Simulator.
Na etapie wdrażania aplikacje można modyfikować, aby dostosować je do indywidualnych
potrzeb. Więcej informacji zawiera sekcja Konfigurowanie aplikacji mobilnych Maximo
Anywhere w IBM® Knowledge Center.
Procedura
1. Zainstaluj IDE Eclipse:
a. Przejdź na stronę www.eclipse.org/downloads/packages/eclipse-ide-java-eedevelopers/keplersr1 i pobierz środowisko Eclipse IDE for Java EE Developers w
wersji 4.3.2 (Kepler) właściwej dla używanego systemu operacyjnego.
b. Wyodrębnij skompresowany folder i uruchom aplikację Eclipse, aby zainstalować
oprogramowanie.
2. Skonfiguruj środowisko programistyczne Eclipse:
a. Upewnij się, że wtyczka rozszerzająca Eclipse JSDT jest zainstalowana. Wtyczka
JavaScript Development Tool (JSDT) ułatwia nawigację w kodzie Java Script w
środowisku Eclipse.
1) Wybierz kolejno opcje Help > About Eclipse i kliknij pozycję Eclipse Web
Tools Platform (WTP)
2) Wyszukaj pozycję Eclipse JavaScript Development Tools w oknie About Eclipse
Features.
b. Jeśli wtyczka JavaScript Development Tools nie jest jeszcze zainstalowana, wykonaj
następujące czynności:
1) Wybierz kolejno opcje Help > Install New Software > Add.
2) W oknie Add Repository określ poniższy adres URL, wpisując go w polu
Location: http://download.eclipse.org/webtools/repository/kepler.
3) W polu Name określ Eclipse WTP.
4) Wybierz pozycję Web Tools Platform (WTP) 3.5.1 (or later) > JavaScript
Development Tools i zainstaluj wtyczkę rozszerzającą.
c. Ustaw Google Chrome jako domyślą przeglądarkę, wybierając kolejno opcje Window
> Preferences > General > Web Browser > Use external web browser. Zaznacz
pole wyboru Chrome i kliknij przycisk OK, aby zastosować zmiany.
3. Instalacja programu MobileFirst Studio Consumer Edition:
a. W rozwiązaniu Eclipse wybierz pozycje Help > Install New Software > Add.
b. W oknie Add Repository kliknij przycisk Archive.
c. Przejdź do pliku MobileFirstStudio.zip w katalogu Install obrazu instalacyjnego
Maximo Anywhere i kliknij kolejno opcje Open > OK.
d. Na panelu Available Software wybierz pozycję IBM Worklight Studio Development
Tools i kliknij kolejno Next > Next > Finish.
e. Zrestartuj środowisko Eclipse, aby zastosować zmiany.
4. Zaimportuj projekt MaximoAnywhere do programu MobileFirst Studio.
6
Konfigurowanie aplikacji mobilnych Maximo Anywhere
a. W programie Eclipse kliknij kolejno opcje File > Import > General, wybierz opcję
Existing Projects into Workspace i kliknij przycisk Next.
b. Kliknij opcję Select root directory i podaj ścieżkę do katalogu \ibm\Anywhere.
c. Wybierz projekt MaximoAnywhere i kliknij opcję Copy projects into workspace.
Kliknij przycisk Zakończ.
d. W panelu Project Explorer rozwiń wszystkie węzły. Prawym przyciskiem myszy
kliknij folder OSLCGenericAdapter i wybierz kolejno opcje Run As > Deploy
Worklight Adapter.
e. Prawym przyciskiem myszy kliknij folder aplikacji i kliknij kolejno opcje Run As >
Run on Worklight Development Server.
f. Aby wyświetlić podgląd aplikacji, kliknij folder aplikacji prawym przyciskiem myszy
i wybierz kolejno opcje Run As > Preview.
Wdrażanie aplikacji przy użyciu komponentu MobileFirst
Studio
Rozwiązanie MobileFirst Studio zawiera wbudowaną instancję serwera MobileFirst Server,
co eliminuje potrzebę wdrażania pliku WAR. Rozwiązanie MobileFirst Studio również
uwzględnia narzędzie Mobile Browser Simulator umożliwiające testowanie aplikacji.
Zanim rozpoczniesz
v Skonfiguruj program Maximo Asset Management do pracy z programem Maximo
Anywhere.
v Jeśli użytkownik planuje wyświetlanie podglądu wdrożonych aplikacji w rozwiązaniu
Mobile Browser Simulator, Google Chrome należy zainstalować w środowisku
programistycznym. Funkcja podglądu wdrożonych aplikacji nie obsługuje innych
przeglądarek internetowych.
Procedura
1. W rozwiązaniu MobileFirst Studio zaimportuj projekt Maximo Anywhere.
a. Prawym przyciskiem myszy kliknij w oknie Project Explorer i wybierz komendę
Import. W oknie Import wybierz pozycję Existing Projects into Workspace i
kliknij przycisk Dalej.
b. Przejdź do folderu maximoanywhere_home, wybierz folder MaximoAnywhere,
wybierz opcję Copy projects into workspace i kliknij przycisk Finish.
2. Określ ścieżkę do pliku Ant.
a. Z menu Window wybierz opcję Preferences. Rozwiń opcję Ant i wybierz pozycję
Runtime.
b. Wybierz pozycję Ant Home Entry i kliknij przycisk Ant Home.
c. W oknie Przeglądanie w poszukiwaniu folderu rozwiń kolejno pozycje
katalog_główny_maximoanywhere > AnywhereWorkManager > build > tools >
ant i kliknij przycisk OK.
3. Dodaj plik build.xml do widoku Ant. Wybierz plik build.xml z aplikacji
MaximoAnywhere i przeciągnij plik build.xml do widoku Ant.
4. Rozwiń plik build.xml w widoku Ant i kliknij dwukrotnie zadanie all.
5. Z poziomu programu Project Explorer wdróż adapter.
a. Wybierz pozycję MaximoAnywhere > Adapters i prawym przyciskiem myszy
kliknij pozycję OSLCGenericAdapter.
b. Wybierz opcję Run As > Deploy MobileFirst Adapter.
6. Zbuduj i wdróż aplikację IBM Maximo Anywhere Work Execution.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
7
a. W obszarze MaximoAnywhere > apps prawym przyciskiem myszy kliknij pozycję
WorkExecution.
b. Wybierz opcję Run As > Run on MobileFirst Development Server.
7. Zbuduj i wdróż aplikację Maximo Anywhere Work Approval.
a. W obszarze MaximoAnywhere > apps kliknij prawym przyciskiem myszy pozycję
WorkApproval.
b. Wybierz opcję Run As > Run on MobileFirst Development Server.
8. Zbuduj i wdróż aplikację Maximo Anywhere Inspection.
a. W obszarze MaximoAnywhere > apps kliknij przyciskiem myszy pozycję
Inspection.
b. Wybierz opcję Run As > Run on MobileFirst Development Server.
9. Zbuduj i wdróż aplikację Maximo Anywhere Physical Count.
a. W obszarze MaximoAnywhere > apps kliknij prawym przyciskiem myszy pozycję
PhysicalCount.
b. Wybierz opcję Run As > Run on MobileFirst Development Server.
10. Zweryfikuj wdrożenie aplikacji w programie MobileFirst Operations Console, klikając
aplikację prawym przyciskiem myszy i wybierając opcję Run As > Preview.
11. Przetestuj aplikację na urządzeniu mobilnym, w emulatorze Android lub programie iOS
Simulator. Aby przetestować aplikację w emulatorze Android, należy najpierw
skonfigurować emulator. Aby przetestować aplikację na urządzeniu mobilnym, podłącz
urządzenie do komputera.
Typ urządzenia
Kroki
Android
1. W eksploratorze projektów wybierz projekt
Android znajdujący się pod węzłem
testowanej aplikacji i wybierz opcję Run as >
Android Application.
2. Wybierz opcję Launch a new Android
Virtual Device w przypadku emulatora
Android lub Launch a new Android Device
w przypadku korzystania z urządzenia
mobilnego z systemem Android Plik
artefaktów .apk zostanie wygenerowany w
folderze bin.
iOS
1. W węźle MaximoAnywhere > apps >
nazwa_aplikacji > iphone wybierz opcję Run
as > Xcode project.
2. W oknie Xcode wybierz symulowane
urządzenie lub urządzenie mobilne, w którym
chcesz testować aplikację, i kliknij ikonę
Odtwarzaj. Plik artefaktów .ipa zostanie
wygenerowany w folderze bin.
Integrowanie produktu Maximo Anywhere z produktem Maximo Asset
Management
Rozwiązanie Maximo Anywhere zapewnia integrację z aplikacjami Maximo Asset
Management za pomocą usług Open Services for Lifecycle Collaboration (OSLC).
8
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Zasoby OSLC
Maximo Anywhere udostępnia zasoby OSLC, które definiują metadane dla obiektów
biznesowych dostawców usług OSLC. Zasoby OSLC w aplikacjach mobilnych umożliwiają
pobieranie i przetwarzanie danych aplikacji pochodzących od dostawców usług w programie
Maximo Asset Management.
Do metadanych zasobów należą pliki w formacie RDF (Resource Description Framework),
które są zdefiniowane dla każdego obiektu biznesowego podczas integracji pomiędzy
produktem Maximo Anywhere a Maximo Asset Management. Zasoby dla produktu Maximo
Anywhere znajdują się w katalogu MaximoAnywhere\oslc-docs\resources\rdf\oslc.
Zasoby OSLC udostępnione przez Maximo Anywhere obejmują wstępnie zdefiniowane
struktury obiektów, dostawców usług oraz pliki RDF. W programie Maximo Asset
Management można także zdefiniować dodatkowe dane dotyczące zasobów, które mają być
używane z aplikacjami mobilnymi.
Po zdefiniowaniu danych dotyczących zasobów konieczne jest zaimportowanie plików RDF
do programu Maximo Anywhere, dzięki czemu z danych można będzie korzystać w
aplikacjach dla urządzeń mobilnych. Implementowanie zasobów w aplikacjach dla urządzeń
mobilnych odbywa się poprzez zaktualizowanie pliku definicji aplikacji i wdrożenie nowej
wersji aplikacji.
Zwykle zasobów OSLC używa się w następujących scenariuszach.
Dodawanie pól z zasobów Maximo Anywhere
Gdy do aplikacji mobilnej dodawane jest pole z bieżących zasobów Maximo
Anywhere. Jeśli struktura obiektu i plik RDF istnieje w programie Maximo
Anywhere, ale nie są uwzględnione w aplikacji, należy zmodyfikować plik app.xml.
Dodawanie nowych pól z Maximo Asset Management do programu Maximo Anywhere
Podczas tworzenia obiektu biznesowego dla nowego pola w produkcie Maximo
Asset Management struktury obiektu domyślnie pobierają wszystkie pola
zdefiniowane przez ten obiekt biznesowy. Aby użyć nowego pola w programie
Maximo Anywhere, należy zaimportować plik RDF z programu Maximo Asset
Management do programu Maximo Anywhere, a następnie zmodyfikować plik
app.xml.
Dodawanie obiektu podrzędnego do istniejącej struktury obiektów
Gdy w programie Maximo Asset Managementdo struktury obiektu istniejącej w
programie Maximo Anywhere dodawany jest obiekt podrzędny. W Maximo Asset
Management modyfikuje się zasób zawierający strukturę obiektów, tak aby
zawierała obiekt podrzędny. Aby możliwe było użycie obiektu podrzędnego w
programie Maximo Anywhere, należy zaimportować plik RDF z programu Maximo
Asset Management do programu Maximo Anywhere, a następnie zaktualizować plik
app.xml.
Tworzenie struktury dla istniejącego obiektu
Gdy w programie Maximo Asset Management tworzona jest struktura istniejącego
obiektu, takiego jak domena lub lista wartości, a użytkownik zamierza dodać
strukturę obiektów do pola. Program Maximo Asset Management pozwala na
utworzenie struktury obiektu i zaktualizowanie zasobu ze strukturą obiektu. Aby
użyć domeny w programie Maximo Anywhere, należy zaimportować plik RDF z
programu Maximo Asset Management do programu Maximo Anywhere, a następnie
zaktualizować plik app.xml.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
9
Poniższy rysunek przedstawia, w jaki sposób dane obiektu mogą być skonfigurowane jako
dane zasobów i użyte w programie Maximo Anywhere.
Tworzenie zasobów OSLC w programie Maximo Asset
Management
Zasoby OSLC są potrzebne do pobierania i przetwarzania danych w aplikacjach mobilnych.
Definiowane zasoby OSLC muszą być oparte na powiązanej strukturze obiektu z programu
Maximo. W celu zdefiniowania dodatkowych danych nowych zasobów, które mają być
używane w aplikacjach mobilnych, należy utworzyć strukturę obiektów i zasób w programie
Maximo Asset Management.
O tym zadaniu
Zasoby OSLC są implementowane za pośrednictwem struktur obiektów. Struktura obiektu to
typowa warstwa danych używana w strukturze integracji w celu przetwarzania danych. Gdy
zasób jest tworzony jako zasób OSLC, za pomocą Maximo Anywhere można opracować
żądania dotyczące zapytań, tworzenia, aktualizacji lub usuwania danych zasobu.
Procedura
1. W aplikacji Struktury obiektów kliknij pozycję Nowa struktura obiektów i określ
identyfikator struktury obiektów.
2. W polu Consumed By określ OSLC jako moduł korzystający ze struktury obiektu.
3. Określ obiekty źródłowe struktury obiektu i zapisz rekord.
4. W aplikacji Zasoby OSLC utwórz zasób.
5. Określ strukturę obiektu utworzonego w aplikacji Struktury obiektów.
10
Konfigurowanie aplikacji mobilnych Maximo Anywhere
6. Określ nazwę domeny i URI domyślną przestrzeń nazw. Dla zasobu można określić
istniejącą domenę i przestrzenie nazw, np. SmarterPhysicalInfrastructure i
http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#. Można też
zdefiniować nową domenę i przestrzeń nazw, korzystając z menu Wybierz czynności.
7. Zapisz rekord. Dokument kształtu zasobu zostanie zaktualizowany w celu uwzględnienia
struktury obiektu dla danego pola.
8. Opcjonalne: Upewnij się, że dokument kształtu zasobu został zaktualizowany pod
adresem URL: http://hostname/maximo/oslc/shapes/object_structure.
Co dalej
Zaimportuj zasoby OSLC do programu Maximo Anywhere.
Importowanie zasobów OSLC do programu Maximo Anywhere
Po utworzeniu zasobów OSLC w programie Maximo Asset Management należy
zaimportować zmienione metadane do programu Maximo Anywhere.
Zanim rozpoczniesz
Zweryfikuj, czy właściwości adresu dostawcy usługi są prawidłowe w pliku build.properties.
Plik build.properties znajduje się w folderze MaximoAnywhere.
v
v
v
v
v
adapter.name=service_provider_name
adapter.connection.protocol=http
adapter.connection.domain=ip
adapter.connection.port=numer_portu
adapter.connection.context=kontekst
O tym zadaniu
Uruchom skrypt narzędzia Ant w celu zaimportowania danych zasobu z Maximo Asset
Management do plików Resource Description Framework (RDF) w Maximo Anywhere.
Narzędzie do importowania nosi nazwę anywhere-rdfs-puller.xml i znajduje się w folderze
MaximoAnywhere. Narzędzie zawiera wszystkie dokumenty kształtów używane przez
dostawcę usług w Maximo Asset Management z przeznaczeniem dla aplikacji mobilnych
Maximo Anywhere.
Procedura
1. Zmodyfikuj plik anywhere-rdfs-puller.xml, dodając odpowiednie nazwy plików RDF.
Przykładowo: jeśli utworzono zasób dla myRelatedObject, należy dodać URI
<downloadOneRdf context="/oslc/shapes/oslcwodetail/myRelatedObject" /> do
pliku anywhere-rdfs-puller.xml.
2. W celu uruchomienia narzędzia w środowisku programistycznym określ nazwę
użytkownika i hasło jako argumenty pliku.
a. W rozwiązaniu MobileFirst Studio dodaj plik Ant anywhere-rdfs-puller.xml do
widoku Ant.
b. Prawym przyciskiem myszy kliknij plik Ant anywhere-rdfs-puller.xml i wybierz
pozycje Run as > Ant Build.
c. Na karcie Main dodaj nazwę użytkownika i hasło dla adaptera w polu
Arguments.-Dadapter.connection.user=<nazwa_użyt.>
-Dadapter.connection.password=<hasło>
3. Zaimportuj dane zasobu OSLC.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
11
Środowisko
Czynność
W środowisku programistycznym w MobileFirst
Studio
Z poziomu widoku Ant uruchom plik
anywhere-rdfs-puller.xml.
W środowisku produkcyjnym
Uruchom komendę:
ant -f anywhere-rdfs-puller.xml
-Dadapter.connection.user=<nazwa_użytk.>
-Dadapter.connection.password=<hasło>
4. Zweryfikuj, czy plik RDF został zaimportowany i czy jego zawartość, nazwa i atrybuty są
prawidłowe w katalogu MaximoAnywhere\oslc-docs\resources\rdf\oslc.
Co dalej
Aby zaimplementować zasoby w aplikacjach mobilnych, zaktualizuj definicję aplikacji i
wdróż nową wersję aplikacji.
Predefiniowane zasoby i struktury obiektów OSLC
Maximo Anywhere zawiera predefiniowane zasoby OSLC służące do integracji z
oprogramowaniem Maximo Asset Management. Każdy zasób OSLC jest powiązany ze
strukturą obiektów określającą strukturę danych dostępną dla zasobów.
Aby zmodyfikować integrację z oprogramowaniem Maximo Asset Management, na przykład
dodać do aplikacji nowe pola, należy zapoznać się z predefiniowanymi komponentami OSLC,
co pozwoli na wybór najprostszej drogi wprowadzenia żądanych zmian. W poniższej tabeli
wymieniono zasoby i struktury obiektów OSLC wspomagające integrację.
Tabela 1. Zasoby i struktury obiektów OSLC.
Zasób OSLC
Opis
Struktura obiektów
AlphaNumericDomain
Zasób domeny alfanumerycznej
OSLCALNDOMAIN
Amcrew
Zasób załogi Amcrew
OSLCAMCREW
AmcrewLabor
Zasób pracownika załogi Amcrew
OSLCAMCREWLABOR
AppDocType
Zasób typu dokumentu aplikacji
OSLCAPPDOCTYPE
Asset
Zasób reprezentujący zasób Maximo
OSLCASSET
AssetMeter
Zasób licznika
OSLCASSETMETER
Assignment
Zasób przydziału
OSLCASSIGNMENT
Classification
Zasób klasyfikacji
OSLCCLASSIFICATION
Contract
Zasób umowy
OSLCCONTRACT
Craft
Zasób umiejętności
OSLCCRAFT
CraftSkill
Zasób kwalifikacji
OSLCCRAFTSKILL
FailureCode
Zasób kodu awarii
OSLCFAILURECODE
12
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Tabela 1. Zasoby i struktury obiektów OSLC (kontynuacja).
Zasób OSLC
Opis
Struktura obiektów
FailureList
Zasób listy awarii
OSLCFAILURELIST
FailureReport
Zasób raportu o awarii
OSLCFAILUREREPORT
INVBALANCES
Zasób sald magazynowych
OSLCINVBALANCES
Inventory
Zasób magazynu
OSLCINVENTORY
Item
Zasób pozycji
OSLCITEM
Labor
Zasób pracownika
OSLCLABOR
LaborCraftRate
Zasób stawki umiejętności pracownika
OSLCLABORCRAFTRATE
LabTrans
Zasób transakcji pracowniczej
OSLCLABTRANS
Location
Zasób lokalizacji
OSLCOPERLOC
LocationMeter
Zasób licznika lokalizacji
OSLCOPERLOCATIONMETER
Locations
Zasób wielu lokalizacji
OSLCLOCATIONS
MatuseTrans
Zasób transakcji wykorzystania materiału
OSLCMATUSETRANS
MaxUser
Zasób użytkownika
OSLCMAXUSER
MaxVars
Zasób Maxvars
OSLCMAXVARS
Meter
Zasób licznika
OSLCMETER
MultiAssetLocCI
Zasób elementu konfiguracji lokalizacji z
wieloma zasobami
OSLCMULTIASSETLOCCI
Person
Zasób osoby
OSLCPERSON
PPCraftrate
Zasób stawki premii za umiejętność pracownika
OSLCPPCRAFTRATE
PremiumPay
Zasób premii
OSLCPREMIUMPAY
ServiceAddress
Zasób adresu usługi
OSLCSERVICEADDRESS
Site
Zasób ośrodka
OSLCSITE
SynonymDomain
Zasób domeny synonimów
OSLCSYNONYMDOMAIN
Ticket
Zasób zgłoszenia
OSLCTICKET
ToolItem
Zasób pozycji narzędzia
OSLCTOOLITEM
ToolTrans
Zasób transakcji narzędzia
OSLCTOOLTRANS
Modyfikowanie aplikacji mobilnych Maximo Anywhere
13
Tabela 1. Zasoby i struktury obiektów OSLC (kontynuacja).
Zasób OSLC
Opis
Struktura obiektów
Vendor
Zasób dostawcy
OSLCVENDOR
WoActivity
Zasób działania dot. zlecenia pracy
OSLCWOACTIVITY
WorkOrder
Zasób zlecenia pracy
OSLCWODETAIL
WorkorderTicketRelation
Zasób relacji zgłoszenia zlecenia pracy
OSLCWOTICKETREL
WorkType
Zasób typu pracy
OSLCWORKTYPE
WoStatus
Zasób statusu zlecenia pracy
OSLCWOSTATUS
WpEditSetting
Zasób ustawienia Wpedit
OSLCWPEDITSETTING
Tworzenie i modyfikowanie pól w aplikacjach mobilnych
Opracowując aplikację mobilną Maximo Anywhere, można dodawać pola, zmieniać nazwy
pól i widoków, a także dodawać listy wartości do pól.
Zmienianie etykiet pól
Etykiety pól wyświetlane w aplikacjach mobilnych są zdefiniowane w pliku app.xml. Można
zmieniać te etykiety, aby dopasować je do indywidualnej implementacji oprogramowania
Maximo Anywhere.
Procedura
1. W komponencie MobileFirst Studio, przejdź do katalogu MaximoAnywhere\apps\
app_name\artifact i otwórz plik app.xml za pomocą edytora XML.
2. Na karcie projektowania rozwiń widok zawierający atrybut etykiety, którą chcesz
zmienić, i wprowadź nową nazwę.
3. Jeśli aplikacja mobilna jest tłumaczona na różne języki, zmień nazwę etykiety w plikach
artifact.js wszystkich obsługiwanych języków. Na przykład, jeśli językiem podstawowym
aplikacji mobilnej jest angielski, a aplikacja jest tłumaczona na język francuski, zmień
nazwę etykiety w pliku artifact.js znajdującym się w katalogu MaximoAnywhere\apps\
WorkExecution\common\js\application\translation\nls\fr.
4. Zapisz zmiany. Aplikacja zostanie automatycznie zbudowana.
5. Opcjonalne: Aby wyświetlić podgląd zmian w programie Mobile Browser Simulator,
kliknij folder aplikacji prawym przyciskiem myszy i wybierz pozycje Run As > Preview.
Co dalej
Wdróż aplikację na serwerze
Zmiana kolejności pól w aplikacji mobilnej
Kolejność wyświetlania pól w widoku kontenera na urządzeniu mobilnym określona jest w
pliku app.xml. Można zmienić położenia pól, aby użytkownicy wprowadzali informacje w
kolejności dopasowanej do potrzeb biznesowych organizacji.
14
Konfigurowanie aplikacji mobilnych Maximo Anywhere
O tym zadaniu
Pola w widoku kontenera są zdefiniowane jako atrybuty w elementach <groupitem> w pliku
definicji aplikacji i zawarte są w elemencie <group>. Element <group> powoduje
wyświetlanie pól w widoku aplikacji. Kolejność atrybutów w grupie odzwierciedla kolejność
wyświetlania atrybutów na ekranie.
Widok kontenera w aplikacji mobilnej wyświetla predefiniowane pola i dane z rekordu. Na
przykład widok Szczegóły zlecenia pracy w aplikacji Work Execution jest widokiem
kontenera zawierającym pola zlecenia pracy.
Procedura
1. W komponencie MobileFirst Studio, przejdź do katalogu MaximoAnywhere\apps\
app_name\artifact i otwórz plik app.xml za pomocą edytora XML.
2. Zmień pozycję pola.
a. Na karcie projektowania odszukaj i zaznacz element <group> zawierający element
<groupitem>, który chcesz przenieść.
b. Na karcie źródła wytnij i wklej element <groupitem> w nowej pozycji.
3. Zapisz zmiany. Aplikacja zostanie automatycznie zbudowana.
4. Opcjonalne: Aby wyświetlić podgląd zmian w programie Mobile Browser Simulator,
kliknij folder aplikacji prawym przyciskiem myszy i wybierz pozycje Run As > Preview.
Co dalej
Wdróż aplikację na serwerze
Dodawanie pól do aplikacji mobilnej
Pola dodawane do aplikacji mobilnej definiuje się za pośrednictwem plików RDF zasobów
OSLC. Dodając pole do aplikacji mobilnej, należy określić zasób OSLC pola jako atrybut
zasobu w pliku definicji aplikacji.
O tym zadaniu
Zasób OSLC pola dodawanego do aplikacji mobilnej musi istnieć programie Maximo Asset
Management. Dla dodawanego pola można wykorzystać istniejący zasób OSLC. Można także
utworzyć pole, tworząc zasób pola w programie Maximo Asset Management i importując plik
RDF do programu Maximo Anywhere.
Dodając pole do widoku aplikacji, należy najpierw zdefiniować zasób pola w sekcji danych
pliku definicji aplikacji. Następnie zasób dodaje się do widoku w sekcji interfejsu
użytkownika, dzięki czemu pole jest widoczne w aplikacji.
Jeśli aplikacja mobilna jest tłumaczona na różne języki, wprowadź nazwę pola w plikach
artifact.js wszystkich obsługiwanych języków. Pliki artifact.js poszczególnych języków
znajdują się w katalogu MaximoAnywhere\apps\nazwa_aplikacji\common\js\application\
translation.
Procedura
1. W komponencie MobileFirst Studio, przejdź do katalogu MaximoAnywhere\apps\
app_name\artifact i otwórz plik app.xml za pomocą edytora XML.
2. W sekcji danych dodaj atrybut do zasobu, do którego chcesz dodać pole.
a. Na karcie projektowania odszukaj element <resource>, do którego chcesz dodać pole.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
15
b. Na karcie źródła dodaj do elementu <resource> atrybut zawierający informacje o
dokumencie kształtu.
Na przykład, aby dodać pole o nazwie Ryzyko do widoku Szczegóły zlecenia pracy w
aplikacji Work Execution, dodaj szczegóły atrybuty ryzyka do zasobu o nazwie
workOrder:
<resource providedBy="/oslc/sp/WorkManagement"
describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastructure#WorkOrder"
name="workOrder" pageSize="200" class="application.business.WorkOrderObject>
<attributes>
<.....>
<attribute name="risk" describedByProperty="spi_wm:risk" index="false" />
3. W sekcji interfejsu użytkownika dodaj atrybut zasobu do widoku, do którego chcesz
dodać pole.
a. Na karcie projektowania odszukaj element <view>, który chcesz zmodyfikować.
b. Na karcie źródła dodaj atrybut zasobu do elementu <group item> w widoku, który
modyfikujesz.
Na przykład dodaj atrybut zasobu Ryzyko do widoku Szczegóły zlecenia pracy:
<view id="WorkExecution.WorkDetailView" label="Szczegóły zlecenia pracy">
...
<groupitem transitionTo="WorkExecution.DescriptionView">
<text resourceAttribute="description" label="Opis"
editable="true" placeHolder="Stuknij, aby wprowadzić" />
</groupitem>
<groupitem>
<text resourceAttribute="risk" label="Ryzyko"
editable="true" placeHolder="Stuknij, aby wprowadzić" />
</groupitem>
4. Opcjonalne: Udostępnij pole do edycji, dodając wartość true do atrybutu editable i
dodając wartość stuknij, aby wprowadzić do atrybutu placeholder. Atrybut placeholder
informuje, że pole jest edytowalne i że można w nim wprowadzić dowolną wartość. Aby
pole było przeznaczone tylko do odczytu, zmień wartość atrybutu editable na false i usuń
atrybut placeholder.
5. Zapisz zmiany. Aplikacja zostanie automatycznie zbudowana.
6. Opcjonalne: Aby wyświetlić podgląd zmian w symulatorze, kliknij folder aplikacji
prawym przyciskiem myszy i wybierz pozycje Run As > Preview.
Co dalej
Wdróż aplikację na serwerze
Zadania pokrewne:
“Tworzenie zasobów OSLC w programie Maximo Asset Management” na stronie 10
Zasoby OSLC są potrzebne do pobierania i przetwarzania danych w aplikacjach mobilnych.
Definiowane zasoby OSLC muszą być oparte na powiązanej strukturze obiektu z programu
Maximo. W celu zdefiniowania dodatkowych danych nowych zasobów, które mają być
używane w aplikacjach mobilnych, należy utworzyć strukturę obiektów i zasób w programie
Maximo Asset Management.
Odsyłacze pokrewne:
“Predefiniowane zasoby i struktury obiektów OSLC” na stronie 12
Maximo Anywhere zawiera predefiniowane zasoby OSLC służące do integracji z
oprogramowaniem Maximo Asset Management. Każdy zasób OSLC jest powiązany ze
strukturą obiektów określającą strukturę danych dostępną dla zasobów.
16
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Dodawanie list wartości jako listy wyszukiwania dla pól
Z niektórymi polami w aplikacji mobilnej mogą być związane listy wartości lub domeny, z
których użytkownicy mogą wybierać wartości. Są to tzw. listy wyszukiwania. Listę wartości
dodaje się jako listę wyszukiwania dla pola w pliku app.xml.
Zanim rozpoczniesz
Dodaj pole, z którym chcesz powiązać listę wartości, do aplikacji mobilnej.
Maximo Anywhere zawiera zasoby OSLC dla domen synonimów i domen alfanumerycznych
(ALN). Sprawdź, czy w programie Maximo Anywhere dostępny jest zasób OSLC
odzwierciedlający typ domeny, którą chcesz dodać. Można także utworzyć zasoby dla
domeny w programie Maximo Asset Management i zaimportować je do programu Maximo
Anywhere.
O tym zadaniu
Aby dodać listę wartości do pola, należy dodać ją jako zasób, a następnie utworzyć
wyszukiwanie dla tego zasobu. Można następnie dodać zasób i wyszukiwanie do widoku dla
pola.
Procedura
1. W programie MobileFirst Studio otwórz w edytorze XML plik app.xml dla aplikacji
mobilnej, którą chcesz zmodyfikować. Plik app.xml znajduje się w
folderzeMaximoAnywhere\apps\app_name\artifact.
2. W sekcji definicji danych dodaj dane zasobu będącego listą wartości.
Na przykład, aby dodać listę wartości do pola Ryzyko w widoku Szczegóły zlecenia pracy
aplikacji Work Execution, dodaj dane zasobu dla domeny o nazwie RISKDOMAIN do
sekcji danych w pliku app.xml. RISK_DOMAIN to domena alfanumeryczna zawierająca
wartości wysokie, średnie i niskie.
<!-- RISK DOMAIN -->
<resource providedBy="/oslc/sp/SmarterPhysicalInfrastructure"
describedBy="http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#AlphaNumericDomain"
name="riskDomain" pageSize="10" additionalData="true">
<attributes>
<attribute name="value" describedByProperty="spi:value" />
<attribute name="domainid" describedByProperty="spi:domainid"/>
<attribute name="alndomainid" describedByProperty="spi:alndomainid"/>
<attribute name="description" describedByProperty="spi:description" />
</attributes>
<queryBases>
<queryBase name="getRisk" queryUri="/oslc/os/oslcalndomain" />
</queryBases>
<whereClause clause="spi:domainid=’RISKDOMAIN’" />
</resource>
3. W sekcji interfejsu użytkownika utwórz dane wyszukiwania dla listy wartości i powiąż
zasób z wyszukiwaniem.
Na przykład dodaj wyszukiwanie dla zasobu RISK DOMAIN.
<!-- Wyszukiwanie w domenie Ryzyko -->
<lookup id="WorkExecution.RiskLookup" label="Wybierz poziom ryzyka"
resource="riskDomain">
<requiredResources>
<requiredResource name="riskDomain"/>
</requiredResources>
<list resource="riskDomain">
<listItemTemplate layout="Item1Desc1">
<listtext resourceAttribute="value" layoutInsertAt="item1"
cssClass="bold textappearance-medium"/>
<listtext resourceAttribute="description" layoutInsertAt="desc1"
cssClass="bold textappearance-medium"/>
</listItemTemplate>
Modyfikowanie aplikacji mobilnych Maximo Anywhere
17
</list>
<returnAttributes>
<returnAttribute sourceAttribute="value" targetAttribute="risk" />
</returnAttributes>
</lookup>
4. W sekcji interfejsu użytkownika powiąż nowe wyszukiwanie z polem.
a. Na karcie projektowania odszukaj element <view> pola, do którego chcesz dodać listę
wyszukiwania.
b. Na karcie źródła dodaj wyszukiwanie do elementu <group item> w widoku, który
modyfikujesz.
Oto przykład powiązania wyszukiwania w domenie ryzyka z widokiem Szczegóły
zlecenia pracy.
<view id="WorkExecution.WorkDetailView" label="Work Order Details"
resource="workOrder">
<...>
<container resource="workOrder">
<...>
<groupitem>
<text resourceAttribute="risk" label="Ryzyko"
editable="true" lookup="WorkExecution.RiskLookup"
lookupAttribute="risk" placeHolder="Tap to enter" />
</groupitem>
<...>
</view>
5. Zapisz zmiany. Aplikacja zostanie zbudowana automatycznie.
6. Opcjonalne: Aby wyświetlić podgląd zmian i przetestować je w symulatorze, kliknij
folder aplikacji prawym przyciskiem myszy i wybierz pozycje Run As > Preview.
Co dalej
Wdróż aplikację na serwerze
Zadania pokrewne:
“Tworzenie zasobów OSLC w programie Maximo Asset Management” na stronie 10
Zasoby OSLC są potrzebne do pobierania i przetwarzania danych w aplikacjach mobilnych.
Definiowane zasoby OSLC muszą być oparte na powiązanej strukturze obiektu z programu
Maximo. W celu zdefiniowania dodatkowych danych nowych zasobów, które mają być
używane w aplikacjach mobilnych, należy utworzyć strukturę obiektów i zasób w programie
Maximo Asset Management.
Odsyłacze pokrewne:
“Predefiniowane zasoby i struktury obiektów OSLC” na stronie 12
Maximo Anywhere zawiera predefiniowane zasoby OSLC służące do integracji z
oprogramowaniem Maximo Asset Management. Każdy zasób OSLC jest powiązany ze
strukturą obiektów określającą strukturę danych dostępną dla zasobów.
Dodawanie rekordów powiązanych do aplikacji mobilnej
Obiekty, które można dodawać jako rekordy powiązane do aplikacji mobilnych, są
zdefiniowane w plikach RDF (Resource Description Framework) określonych w specyfikacji
OSLC. W programie Maximo Asset Management można dodać rekord powiązany do zasobu
OSLC i używać metadanych obiektu jako rekordu powiązanego w aplikacji Maximo
Anywhere.
O tym zadaniu
Dodając obiekt powiązany lub podrzędny w programie Maximo Asset Management do
struktury obiektu OSLC istniejącej w programie Maximo Anywhere, modyfikujesz nadrzędny
18
Konfigurowanie aplikacji mobilnych Maximo Anywhere
zasób OSLC, tak aby zawierał obiekt podrzędny. Aby użyć obiektu podrzędnego jako rekordu
powiązanego w aplikacji mobilnej, należy zaimportować plik RDF z programu Maximo Asset
Management do programu Maximo Anywhere. Po zaimportowaniu pliku RDF należy
zdefiniować zasób i widoki dla rekordu powiązanego w plikach artefaktów aplikacji.
Zasób obiektu podrzędnego musi istnieć w pliku app.xml, tak aby pola były widoczne w
aplikacji mobilnej. Aby uwidocznić powiązany rekord, należy w pliku app.xml dodać widok
zawierający szczegóły rekordu i widok zawierający listę rekordów powiązanych z aplikacją
mobilną.
Na przykład dziennik komunikacji jest obiektem podrzędnym obiektu biznesowego (MBO)
Zlecenie pracy w programie Maximo. Lista dzienników komunikacji może być powiązana ze
Zleceniem pracy. Aby używać dzienników komunikacji jako rekordów powiązanych w
widoku Szczegóły zlecenia pracy aplikacji Work Execution, należy dodać obiekt dziennika
komunikacji do struktury obiektu OSLC zlecenia pracy i powiązanego zasobu OSLC w
programie Maximo Asset Management. Zaimportuj zmodyfikowane metadane do programu
Maximo Anywhere i dodaj atrybut listy dzienników komunikacji do pliku app.xml, tak aby
rekordy dzienników komunikacji i ich pola były widoczne w widoku Szczegóły zlecenia
pracy.
Procedura
1. W programie Maximo Asset Management dodaj obiekt powiązanego rekordu do zasobu
OSLC.
a. W aplikacji Struktury obiektu otwórz rekord struktury obiektów powiązany z
zasobem, do którego chcesz dodać obiekt.
b. Dodaj obiekt podrzędny.
c. Określ obiekt nadrzędny i relację oraz zapisz rekord. Zasób OSLC powiązany ze
strukturą obiektów zostanie automatycznie uzupełniony o obiekt.
d. W aplikacji Zasoby OSLC odszukaj zasób OSLC i sprawdź, czy obiekt podrzędny
został dodany.
Na przykład, aby dodać obiekt dziennika komunikacji (commlog) do zasobu zlecenia
pracy, odszukaj rekord struktury obiektów oslcwodetail. Dodaj obiekt commlog. Określ
WORKORDER jako obiekt nadrzędny i określ COMMLOG jako relację z zasobem. W
aplikacji Zasoby OSLC odszukaj zasób WORKORDER i sprawdź, czy został dodany
obiekt COMMLOG.
2. Zaimportuj zmodyfikowany zasób OSLC z programu Maximo Asset Management do
programu Maximo Anywhere.
a. Zmodyfikuj plik anywhere-rdfs-puller.xml, dodając nazwę RDF.
b. Uruchom plik anywhere-rdfs-puller.xml, aby zaimportować plik RDF do katalogu
zasobów OSLC w programie Maximo Anywhere.
c. Sprawdź, czy plik RDF został zaimportowany do katalogu MaximoAnywhere\oslcdocs\resources\rdf\oslc.
Na przykład w programie MobileFirst Studio zmodyfikuj plik anywhere-rdfs-puller.xml,
dodając nazwę RDF commlog.
<target name="all" description="downloads all rdfs" />
<...>
<downloadOneRdf context="/oslc/shapes/oslcalndomain" />
<downloadOneRdf context="/oslc/shapes/oslcwodetail/commlog"
</target>
/>
Uruchom plik anywhere-rdfs-puller.xml, aby zaimportować plik RDF commlog.
Upewnij się, że dokument kształtu zasobu commlog został zaimportowany do katalogu
MaximoAnywhere\oslc-docs\resources\rdf\oslcshapes\oslcwodetail\commlog.
3. Zdefiniuj atrybut i zasób dla rekordu powiązanego w sekcji danych pliku app.xml.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
19
a. W programie MobileFirst Studio otwórz plik app.xml i dodaj atrybut powiązanego
rekordu do zasobu OSLC. Atrybut definiuje rekord powiązany dostępny do użycia w
aplikacji.
b. Dodaj zasób powiązanego rekordu. Zasób opisuje metadane pól używanych przez
rekord powiązany.
Na przykład dodaj atrybut dziennika commlog do zasobu zlecenia pracy, aby dziennik
komunikacji był widoczny w widoku podrzędnym widoku Szczegóły zlecenia pracy
aplikacji Work Execution. Widok Szczegóły zlecenia pracy odwołuje się do zasobu
workOrder.
<resource providedBy="/oslc/sp/WorkManagement"
describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastructure#WorkOrder"
name="workOrder" pageSize="200" class="application.business.WorkOrderObject">
<attributes>
....
<attribute name="commloglist" describedByProperty="spi_wm:commlog"
describedByResource="commLogResource"/>
....
<localAttribute name="commloglistsize" dataType="string"
persistent="false" />
</attributes>
....
</resource>
Dodaj zasób dziennika komunikacji z polami, które będą używane w aplikacji Work
Execution.
<!-- Zasób dziennika komunikacji -->
<resource name="commLogResource">
<attributes>
<attribute name="createdate" describedByProperty="spi_wm:createdate" />
<attribute name="createby" describedByProperty="spi_wm:createby" />
<attribute name="subject" describedByProperty="spi_wm:subject" />
<attribute name="message" describedByProperty="spi_wm:message" />
<attribute name="sendfrom" describedByProperty="spi_wm:sendfrom" />
<attribute name="sendto" describedByProperty="spi_wm:sendto" />
</attributes>
</resource>
4. W sekcji interfejsu użytkownika pliku app.xml utwórz widok prezentujący szczegóły
rekordu powiązanego.
a. Dodaj element <view> określający identyfikator i etykietę widoku.
b. Zdefiniuj zasób dla widoku.
c. Dodaj pola widoku.
Na przykład, aby utworzyć widok szczegółów dziennika komunikacji, określ atrybut
identyfikatora WorkExecution.CommLogDetailView w nowym elemencie <view>.
Widok szczegółów ma nazwę Wpis w dzienniku komunikacji, a do widoku dodawane są
następujące pola (jako przeznaczone tylko do odczytu):
v Utworzył(a)
v Adresat
v Temat
v Komunikat
Dodawana jest także data i godzina utworzenia dziennika komunikacji.
<!-- Definicja widoku szczegółów dziennika komunikacji -->
<view id="WorkExecution.CommLogDetailView" label="Wpis w dzienniku
komunikacji">
<requiredResources>
<requiredResource name="workOrder">
<requiredAttribute name="commloglist"/>
</requiredResource>
</requiredResources>
<container resource="workOrder" attribute="commloglist">
<group>
<groupitem>
<text resourceAttribute="createdate" editable="false" />
20
Konfigurowanie aplikacji mobilnych Maximo Anywhere
</groupitem>
<groupitem>
<text label="Utworzył(a)" resourceAttribute="createby"
editable="false"/>
</groupitem>
<groupitem>
<text label="Adresat" resourceAttribute="sendto"
editable="false"/>
</groupitem>
<groupitem>
<text label="Subject" resourceAttribute="subject" editable="false" />
</groupitem>
<groupitem>
<text label="Message" resourceAttribute="message" editable="false" />
</groupitem>
</group>
<group>
<groupitem>
<lastupdatetext />
</groupitem>
</group>
</container>
</view>
5. W sekcji interfejsu użytkownika pliku app.xml utwórz widok prezentujący listę rekordów
powiązanych dla aplikacji mobilnej.
a. Dodaj element <view> określający identyfikator i etykietę widoku.
b. Zdefiniuj zasób i atrybut dla widoku.
c. Dodaj pola widoku.
d. Dodaj odsyłacz do widoku szczegółów.
e. Określ nazwę szablonu układu dla widoku listy.
Na przykład, aby utworzyć widok listy dziennika komunikacji, określ atrybut
identyfikatora WorkExecution.CommLogView w nowym elemencie <view>. Widok
listy nosi nazwę Dzienniki komunikacji. Do widoku dodawane są następujące pola (jako
przeznaczone tylko do odczytu):
v Utworzył(a)
v Adresat
v Temat
Dodawana jest także data i godzina utworzenia dziennika komunikacji.
Aby uzyskać dostęp do widoku szczegółów Wpis w dzienniku komunikacji z widoku listy
Dziennik komunikacji, wprowadź identyfikator WorkExecution.CommLogDetailView
do atrybutu transitionTo. Układ widoku nosi nazwę CommLogListItem.
<!-- Definicja widoku listy dziennika komunikacji -<view id="WorkExecution.CommLogView" label="Dziennik komunikacji" >
<requiredResources>
<requiredResource name="workOrder">
<requiredAttribute name="commloglist"/>
</requiredResource>
</requiredResources>
<list resource="workOrder" attribute="commloglist"
transitionTo="WorkExecution.CommLogDetailView">
<sortOptions>
<sortOption label="Created Date" >
<sortAttribute name="createdate" direction="asc" />
</sortOption>
<sortOption label="Created By">
<sortAttribute name="createby" direction="asc" />
</sortOption>
</sortOptions>
<listItemTemplate layout="CommLogListItem">
<listtext resourceAttribute="createdate" layoutInsertAt="item1" />
Modyfikowanie aplikacji mobilnych Maximo Anywhere
21
<listtext resourceAttribute="createby" layoutInsertAt="item2" />
<listtext resourceAttribute="sendto" layoutInsertAt="item3" />
<listtext resourceAttribute="subject" layoutInsertAt="item4"
cssClass="bold textappearance-medium"/>
</listItemTemplate>
</list>
</view>
6. W katalogu MaximoAnywhere\apps\app_name\artifact\layouts\templates\small
utwórz szablon układu dla widoku listy.
Na przykład, aby zdefiniować układ dla widoku Dziennik komunikacji, utwórz plik
układu o nazwie CommLogListItem.xml w katalogu MaximoAnywhere\apps\
WorkExecution\artifact\layouts\templates\small i określ strukturę układu.
<layout width="100">
<row>
<column columnid="item1"
<column columnid="item2"
<column columnid="item3"
</row>
<row>
<column columnid="item4"
</row>
</layout>
colspan="4" />
colspan="4" />
colspan="4" />
colspan="12" />
7. W sekcji interfejsu użytkownika pliku app.xml dodaj do widoku głównego aplikacji
mobilnej pole umożliwiające dostęp do rekordu powiązanego.
Na przykład, aby uzyskać dostęp do widoku listy Dziennik komunikacji z widoku
Szczegóły zlecenia pracy, dodaj widok listy do elementu <groupitem> w widoku.
<view id="WorkExecution.WorkDetailView" label="Szczegóły zlecenia pracy" resource="workOrder">
....
<container resource="workOrder">
....
<group>
<groupitem transitionTo="WorkExecution.CommLogView" layout="Item1Count1Button1">
<text value="Communications Log" editable="false" layoutInsertAt="item1"
cssClass="relatedRecords"/>
<text resourceAttribute="commloglistsize" editable="false"
layoutInsertAt="count1">
</text>
</groupitem>
</group>
<group>
<groupitem>
<lastupdatetext />
</groupitem>
</group>
</container>
</view>
8. Opcjonalne: Aby wyświetlać liczbę rekordów powiązanych dostępnych z widoku
głównego, określ zmienne wielkości listy i atrybut powiązanego rekordu w powiązanym
pliku JavaScript w katalogu MaximoAnywhere\apps\WorkExecution\common\js\
application\handlers.
a. Określ atrybut zasobu rekordu powiązanego w zmiennej attributes. Atrybut zasobu
rekordu powiązanego musi być zdefiniowany w zasobie OSLC w pliku app.xml.
b. Określ atrybut zasobu określający wielkość listy rekordów powiązanych w zmiennej
listSizeArray. Atrybut zasobu określający wielkość listy musi być zdefiniowany
jako atrybut lokalny w zasobie OSLC w pliku app.xml.
Na przykład, aby wyświetlać listę dzienników komunikacji dla każdego zlecenia pracy w
widoku Szczegóły zlecenia pracy, dodaj następujące zmienne do pliku
WODetailHandler.js w katalogu MaximoAnywhere\apps\WorkExecution\common\
js\application\handlers:
v Dodaj atrybut zasobu commloglistsize do zmiennej listSizeArray.
v Dodaj atrybut zasobu commloglist do zmiennej attributes.
22
Konfigurowanie aplikacji mobilnych Maximo Anywhere
var listSizeArray = [’tasklistsize’, ’assignmentlistsize’, ’materiallistsize’,
’toollistsize’, ’actuallaborlistsize’, ’actualmateriallistsize’,
’actualtoollistsize’,’workloglistsize’, ’multiassetloclistsize’,
’attachmentssize’, ’commloglistsize’];
var attributes = ["tasklist", "assignmentlist", "materiallist", "toollist", "actuallaborlist",
"actualmateriallist", "actualtoollist", "workloglist", "multiassetloclist",
"attachments", "commloglist"];
9. Zapisz zmiany. Aplikacja zostanie automatycznie zbudowana.
Co dalej
Aby sprawdzić zmiany w programie Mobile Browser Simulator, kliknij folder aplikacji
prawym przyciskiem myszy i wybierz pozycje Run As > Preview.
Wdróż aplikację na serwerze
Organizowanie układu ekranów aplikacji mobilnej
Istnieje możliwość dostosowania układu ekranów aplikacji mobilnych Maximo Anywhere do
przepływu pracy obowiązującego w konkretnej organizacji. Można zmieniać kolejność pól na
ekranie i modyfikować pliki szablonów układu, aby uwzględnić w nich nowe pola.
Pliki szablonów układu
Plik szablonu układu to plik XML definiujący strukturę i kolejność elementów sterujących w
widokach w aplikacji mobilnej Maximo Anywhere. Zmieniając strukturę widoku w pliku
definicji aplikacji, należy zmodyfikować powiązany plik szablonu układu.
Maximo Anywhere zawiera pliki szablonów układu dla widoków list aplikacji mobilnych. W
plikach app.xml definiujących aplikacje mobilne element <listitemTemplate> identyfikuje
nazwę pliku szablonu układu używanego dla widoku.
Pliki szablonów układu dla aplikacji Work Execution znajdują się w katalogu
MaximoAnywhere\apps\WorkExecution\artifact\layouts\templates\small, a takie pliki
dla aplikacji Work Approval znajdują się w katalogu MaximoAnywhere\apps\
WorkApproval\artifact\layouts\templates\small.
Struktura plików układu
Element <layout> jest elementem głównym pliku szablonu układu. Elementy <row> i
<column> w układzie definiują rozmieszczenie pól w widoku. Aby zastosować strukturę do
aplikacji mobilnej, można zdefiniować następujące atrybuty
Atrybut width
Szerokość układu wyrażona jako odsetek szerokości ekranu urządzenia mobilnego.
Szerokość definiuje się w ramach elementu <layout>.
Atrybut columnid
Punkt przyłączenia pola w widoku aplikacji mobilnej. Atrybut columnid jest
powiązany z atrybutem layoutInsertAt w pliku app.xml.
Atrybut colspan
Liczba kolumn zajmowanych przez wiersz.
Atrybut rowspan
Liczba wierszy, z jakiej powinna składać się kolumna, Aby modyfikować wartość
rowspan, należy zachowywać pozycję pionową atrybutów columnid.
Modyfikowanie aplikacji mobilnych Maximo Anywhere
23
Przykład układu widoku listy prac
Plik układu WorkListItem.xml zawiera trzy wiersze definiujące strukturę powiązanego
widoku aplikacji mobilnej i zajmujące całą szerokość ekranu urządzenia mobilnego. Każdy
wiersz definiuje atrybut columnid powiązany z atrybutem layoutInsertAt w pliku app.xml.
Atrybut colspan definiuje liczbę kolumn zajmowanych przez wiersz.
<layout width="100">
<row>
<column columnid="item3" colspan="10" />
<column columnid="button1" colspan="2" rowspan="3" halign="right"/>
</row>
<row>
<column columnid="item1" colspan="3" />
<column columnid="item2" colspan="7" />
</row>
<row>
<column columnid="item4" colspan="5" />
<column columnid="item5" colspan="5" />
</row>
</layout>
Widok Przypisane prace jest zdefiniowany w pliku app.xml aplikacji Work Execution.
Powiązany plik układu identyfikowany przez atrybut layout to plik WorkListItem.xml.
Atrybut resourceAttribute definiuje każde pole widoczne w widoku. Atrybut layoutInsertAt
definiuje punkt przyłączenia pól. Na przykład atrybut layoutInsertAt dla pola czasu
rozpoczęcia (starttime) jest określony jako item 2. Atrybut columnid w pliku
WorkListItem.xml dla elementu item2 znajduje się w drugim wierszu. Dlatego pole
rozpoczęcia znajduje się w drugim wierszu widoku.
<view id="WorkExecution.WorkItemsView" label="Przypisane prace"
saveonshow="true" showBackButton="false" >
<listItemTemplate layout="WorkListItem">
<listtext resourceAttribute="wonum" layoutInsertAt="item1"
cssClass="bold textappearance-medium"/>
<listtext resourceAttribute="starttime" layoutInsertAt="item2" />
<listtext resourceAttribute="statusdesc" layoutInsertAt="item4" />
<listtext resourceAttribute="description" layoutInsertAt="item3"
cssClass="bold textappearance-medium"/>
<listtext resourceAttribute="assetnumanddescription" layoutInsertAt="item5" />
</view>
Zmienianie układu pól w widokach listy
Istnieje możliwość modyfikowania układów widoków listy, w których rekordy wyświetlane
są w postaci przewijanych list. Można na przykład zmienić kolejność istniejących pól lub
dodać pole. Zmieniając kolejność elementów widoku w pliku app.xml, zmieniasz także
powiązany plik szablonu układu.
O tym zadaniu
W pliku app.xml nazwa szablonu układu powiązanego z widokiem jest określona w atrybucie
layout elementu <listItemTemplate>. Element <listtext> definiuje atrybut zasobu lub pole w
strukturze układu, a atrybut layoutInsertAt definiuje punkt przyłączenia pola w widoku
mobilnym. W pliku szablonu układu wartość atrybutu columnid odpowiada wartości atrybutu
layoutInsertAt.
Jeśli zmieniasz strukturę widoku, to wartości atrybutów columnid i layoutInsertAt muszą być
zgodne, aby zmiany układu widoku odniosły skutek. Na przykład, jeśli dodajesz pole do
widoku w pliku app.xml, wartość atrybutu columnid w pliku szablonu układu musi zgadzać
się z wartością atrybutu layoutInsertAt, aby pole było wyświetlane w widoku na urządzeniu
mobilnym.
24
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Procedura
1. W sekcji interfejsu użytkownika pliku app.xml odszukaj widok, który chcesz zmienić.
2. Zmodyfikuj element <listtext> w elemencie <listItemTemplate> widoku, modyfikując
atrybut resource i atrybut layoutInsertAt, a następnie zapisz plik.
Na przykład, aby dodać pole o nazwie Przełożony do widoku listy Przypisana praca,
dodaj atrybut zasobu pola do elementu <listtext> w elemencie <listItemTemplate>.
Atrybutowi layoutInsertAt przypisz wartość item6. Atrybutowi layoutInsertAt
przypisujemy wartość item6, ponieważ pole Przełożony będzie szóstym polem w widoku.
<view id="WorkExecution.WorkItemsView" label="Przypisane prace"
saveonshow="true" showBackButton="false" >
<listItemTemplate layout="WorkListItem">
<listtext resourceAttribute="wonum" layoutInsertAt="item1"
cssClass="bold textappearance-medium"/>
<listtext resourceAttribute="starttime" layoutInsertAt="item2" />
<listtext resourceAttribute="statusdesc" layoutInsertAt="item4" />
<listtext resourceAttribute="description" layoutInsertAt="item3"
cssClass="bold textappearance-medium"/>
<listtext resourceAttribute="assetnumanddescription" layoutInsertAt="item5" />
<listtext resourceAttribute="supervisor" layoutInsertAt="item6" />
</view>
Dodając pole, należy wprowadzić zmianę w pliku szablonu układu.
Uwaga: Należy także dodać dane zasobu dla pola Przełożony do zasobu Zlecenie pracy,
aby pole to istniało w widoku.
3. Otwórz powiązany plik szablonu układu w katalogu MaximoAnywhere\apps\
app_name\artifact\layouts\templates\small.
4. Zmodyfikuj strukturę układu, tak aby odzwierciedlała zmiany wprowadzone w pliku
app.xml. Można wprowadzić następujące zmiany w układzie:
v Wprowadź element <row>, aby dodać wiersz.
v Wprowadź atrybut columnid, aby wskazać punkt przyłączenia pola. Wartość atrybutu
columnid musi zgadzać się z wartością atrybutu layoutInsertAt dla pola.
v Dodaj wartość atrybutu colspan aby przenieść element <column> na określoną pozycję
w ramach wiersza.
v Zmodyfikuj wartość atrybutu rowspan, aby zmienić położenie pionowe odpowiednich
atrybutów columnid. Jeśli nowe pole zostało umieszczone w istniejącym wierszu, nie
trzeba modyfikować atrybutu rowspan.
Na przykład plik układu powiązany z widokiem listy prac zawiera cztery wiersze. Atrybut
rowspan dla atrybutu columnid button1 w drugim wierszu wynosi 3, ponieważ przycisk
zajmuje trzy kolejne wiersze widoku.
<layout width="100">
<row>
<column columnid="item1" colspan="10" />
</row>
<row>
<column columnid="item3" colspan="10" />
<column columnid="button1" colspan="2" rowspan="3" halign="right"/>
</row>
<row>
<column columnid="item2" colspan="10" />
</row>
<row>
<column columnid="item4" colspan="5" />
<column columnid="item5" colspan="5" />
</row>
</layout>
Modyfikowanie aplikacji mobilnych Maximo Anywhere
25
Aby uwzględnić oddanie pola Przełożony w nowym wierszu widoku listy, dodaj element
<row> do układu i zdefiniuj atrybut columnid jako item6. Wartość rowspan dla atrybutu
columnid button1 wynosi 4, tak aby przycisk licznika czasu zajmował kolejne wiersze, w
tym nowy wiersz dodany do widoku.
<layout width="100">
<row>
<column columnid="item1" colspan="10" />
</row>
<row>
<column columnid="item3" colspan="10" />
<column columnid="button1" colspan="2" rowspan="4" halign="right"/>
</row>
<row>
<column columnid="item2" colspan="10" />
</row>
<row>
<column columnid="item4" colspan="5" />
<column columnid="item5" colspan="5" />
</row>
<row>
<column columnid="item6" colspan="5" />
</row>
</layout>
5. Zapisz zmiany w układzie. Aplikacja zostanie automatycznie zbudowana.
6. Opcjonalne: Aby wyświetlić podgląd zmian, kliknij folder aplikacji prawym przyciskiem
myszy i wybierz pozycje Uruchom jako > Podgląd.
Co dalej
Wdróż aplikację na serwerze.
Modyfikowanie plików javascript aplikacji mobilnych
Maximo Anywhere stosuje względem aplikacji mobilnych reguły biznesowe i zachowania.
Można zmodyfikować pliki JavaScript powiązane z plikiem app.xml, aby zaimplementować
takie reguły.
Tworzenie pól warunkowych w aplikacjach
Aby móc sterować widocznością pola w aplikacji Maximo Anywhere, można utworzyć pole
warunkowe.
O tym zadaniu
W pliku app.xml należy zdefiniować procedurę obsługi zdarzenia, aby określić, czy
pokazywanie lub ukrywanie pola zależy od wartości innego pola, gdy użytkownik mobilny
wybierze wartość. Procedury obsługi zdarzeń implementuje się jako pliki JavaScript
powiązane z widokiem w aplikacji mobilnej.
Na przykład, jeśli dla zlecenia pracy określono typ pracy Konserwacja awaryjna, to w widoku
Szczegóły zlecenia pracy powinno być wyświetlane pole Ryzyko. Pole Ryzyko nie jest
jednak potrzebne w zleceniach pracy innego typu, zatem należy zastosować warunek
sterujący jego widocznością. Należy utworzyć procedurę obsługi zdarzenia dla pola Ryzyko,
aby monitorować zasób i atrybut skojarzony z typem pracy i wyświetlać pole, jeśli
użytkownik urządzenia mobilnego wybierze wartość Konserwacja awaryjna w polu Typ
pracy. Jeśli użytkownik mobilny zmieni również wartość typu pracy, procedura obsługi
sprawdzi tę wartość, aby określić, czy pole Ryzyko jest już wyświetlane.
26
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Procedura
1. W programie MobileFirst Studio otwórz plik app.xml aplikacji, którą chcesz zmienić, i
dodaj pole, do którego chcesz zastosować warunek.
2. W sekcji interfejsu użytkownika pliku app.xml dodaj typ wyświetlania „procedura
obsługi zdarzenia” do widoku, do którego należą pola.
a. W elemencie <text> nowego pola dodaj element podrzędny o nazwie
<eventHandlers>.
b. W elemencie <eventHandlers> dodaj element podrzędny o nazwie <eventHandler>.
c. Określ render jako atrybut zdarzenia i dodaj atrybuty metody i klasy.
Na przykład, aby wyświetlać pole Ryzyko dla prac awaryjnych, dodaj procedurę obsługi
zdarzenia do elementu <groupitem> pola Ryzyko w widoku Szczegóły zlecenia pracy, z
atrybutem zdarzenia ustawionym na render i atrybutem metody ustawionym na
handleConditionalRisk.
<view id="WorkExecution.WorkDetailView" label="Szczegóły zlecenia pracy">
...
<groupitem>
<text resourceAttribute="risk" label="Ryzyko"
editable="true" placeHolder="Stuknij, aby wprowadzić" />
<eventHandlers>
<eventHandler event="render" method="handleConditionalRisk"
class="application.customerExtensions.WODetailExtensionHandler" />
</eventHandlers>
</text>
</groupitem>
....
</view>
3. Zrealizuj warunek w procedurze obsługi zdarzenia zapisanej w pliku JavaScript.
a. Utwórz folder na procedurę obsługi zdarzenia w katalogu MaximoAnywhere\apps\
nazwa_aplikacji\common\js\application. Nazwa folderu musi być zgodna z nazwą
określoną w atrybucie klasy procedury obsługi zdarzenia.
b. Dodaj plik JavaScript do katalogu MaximoAnywhere\apps\nazwa_aplikacji\
common\js\application. Nazwa pliku JavaScript musi być zgodna z nazwą określoną
w atrybucie klasy procedury obsługi zdarzenia.
c. Dodaj warunek procedury obsługi zdarzenia render do pliku JavaScript.
Na przykład, aby dodać kod JavaScript procedury obsługi zdarzenia wyświetlającej pole
Ryzyko dla prac awaryjnych, utwórz plik WODetailExtensionHandler.js w katalogu
MaximoAnywhere\apps\nazwa_aplikacji\common\js\application\
customerExtensions i dodaj w nim kod JavaScript.
define("application/customerExtensions/WODetailExtensionHandler",
[ "dojo/_base/declare",
"dojo/_base/lang",
"platform/handlers/_ApplicationHandlerBase",
"application/handlers/CommonHandler"],
function(declare, lang, ApplicationHandlerBase, CommonHandler) {
return declare( [ApplicationHandlerBase], {
handleConditionalRisk: function(eventContext){
// Program obsługi widoku szczegółów ZP,
// który obsługuje zmiany w polu worktype i wyświetla pole Ryzyko
// bieżące zlecenie workOrder znajduje się w obiekcie eventContext
var currWO = CommonHandler._getAdditionalResource(eventContext,"workOrder").getCurrentRecord();
var worktype = currWO.get(’worktype’);
// Obecne pole Ryzyko jest w obiekcie eventContext,
// aby pole było wyświetlane, gdy worktype równa się EMERGENCY
eventContext.setDisplay(worktype && worktype == "EM");
// Podłączamy program nasłuchujący, by monitorować
// atrybut worktype i wyświetlać pole ryzyka, gdy atrybut równy jest Emergency
jeśli (!eventContext.hasResourceWatch("workTypeWatch")) {
eventContext.addResourceWatchHandle(currWO.watch(’worktype’,
lang.hitch(this, function(attrName, oldValue, newValue)
{
Modyfikowanie aplikacji mobilnych Maximo Anywhere
27
eventContext.setDisplay(newValue && newValue== "EM");
}
)),"workTypeWatch");
}
}
});
});
4. Zapisz zmiany i wyświetl podgląd zmodyfikowanej aplikacji mobilnej w programie
Mobile Browser Simulator.
Co dalej
Wdróż aplikację na serwerze
Zadania pokrewne:
“Dodawanie pól do aplikacji mobilnej” na stronie 15
Pola dodawane do aplikacji mobilnej definiuje się za pośrednictwem plików RDF zasobów
OSLC. Dodając pole do aplikacji mobilnej, należy określić zasób OSLC pola jako atrybut
zasobu w pliku definicji aplikacji.
Tworzenie pól warunkowych tylko do odczytu
Aby móc dynamicznie sterować możliwością wpisywania danych w polu aplikacji Maximo
Anywhere, można zdefiniować pole jako warunkowo przeznaczone tylko do odczytu.
O tym zadaniu
W pliku app.xml należy zdefiniować procedurę obsługi zdarzenia, aby określić, czy pole
zależne od wartości innego pola ma uzyskiwać status pola przeznaczonego tylko do odczytu.
Procedury obsługi zdarzeń implementuje się jako pliki JavaScript powiązane z widokiem w
aplikacji mobilnej.
Na przykład, jeśli dla zlecenia pracy określono typ pracy Konserwacja awaryjna, to pole
Priorytet powinno być przeznaczone tylko do odczytu. Pole Priorytet nie jest jednak
potrzebne w zleceniach pracy innego typu, zatem należy zastosować warunek sterujący
możliwością zapisu w polu. Należy utworzyć procedurę obsługi zdarzenia dla pola Priorytet,
aby monitorować zasób i atrybut skojarzony z typem pracy i nadać polu status tylko do
odczytu, jeśli użytkownik urządzenia mobilnego wybierze wartość Konserwacja awaryjna w
polu Typ pracy. Jeśli użytkownik mobilny zmieni również wartość typu pracy, procedura
obsługi sprawdzi tę wartość, aby określić, czy pole Priorytet ma już status przeznaczonego
tylko do odczytu.
Procedura
1. W programie MobileFirst Studio otwórz plik app.xml aplikacji, którą chcesz zmienić, i
dodaj pole, do którego chcesz zastosować warunek.
2. W sekcji interfejsu użytkownika pliku app.xml dodaj do widoku, do którego należą pola
procedurę obsługi zdarzenia typu inicjalizator.
a. W elemencie <text> nowego pola dodaj element podrzędny o nazwie
<eventHandlers>.
b. W elemencie <eventHandlers> dodaj element podrzędny o nazwie <eventHandler>.
c. Określ initialize jako atrybut zdarzenia i dodaj atrybuty metody i klasy.
Na przykład, aby pole Priorytet było przeznaczone tylko do odczytu dla prac
awaryjnych, dodaj do widoku, do którego należy to pole procedurę obsługi zdarzenia typu
inicjalizator. Zdarzenie skojarzone z procedurą obsługi zdarzenia dla widoku Szczegóły
zlecenia pracy nosi nazwę WODetailExtensionHandler.
28
Konfigurowanie aplikacji mobilnych Maximo Anywhere
<view id="WorkExecution.WorkDetailView" label="Szczegóły zlecenia pracy">
...
<eventHandlers>
<eventHandler event="initialize" method="fetchAllListSizes"
class="application.handlers.WODetailHandler" />
<eventHandler event="initialize" method="handleConditionalReadOnlyPriority"
class="application.customerExtensions.WODetailExtensionHandler" />
<eventHandler event="render" class="application.handlers.WODetailHandler"
method="refreshAllListSizes"/>
<eventHandler event="initialize"
class="application.handlers.MetersListHandler" method="initializeMeters" />
</eventHandlers>
....
</view>
3. Zrealizuj warunek w procedurze obsługi zdarzenia zapisanej w pliku JavaScript.
a. Utwórz folder na procedurę obsługi zdarzenia w katalogu MaximoAnywhere\apps\
nazwa_aplikacji\common\js\application. Nazwa folderu musi być zgodna z nazwą
określoną w atrybucie klasy procedury obsługi zdarzenia.
b. Dodaj plik JavaScript do katalogu MaximoAnywhere\apps\nazwa_aplikacji\
common\js\application. Nazwa pliku JavaScript musi być zgodna z nazwą określoną
w atrybucie klasy procedury obsługi zdarzenia.
c. Dodaj warunek procedury obsługi zdarzenia initialize do pliku JavaScript.
Na przykład, aby dodać warunek nadawania polu Priorytet dla prac awaryjnych statusu
przeznaczonego tylko do odczytu, utwórz plik WODetailExtensionHandler.js w
katalogu MaximoAnywhere\apps\nazwa_aplikacji\common\js\application\
customerExtensions i dodaj w nim kod JavaScript procedury obsługi zdarzenia
realizującej logikę tego warunku.
define("application/customerExtensions/WODetailExtensionHandler",
[ "dojo/_base/declare",
"dojo/_base/lang",
"platform/handlers/_ApplicationHandlerBase",
"application/handlers/CommonHandler"],
function(declare, lang, ApplicationHandlerBase, CommonHandler) {
return declare( [ApplicationHandlerBase], {
handleConditionalReadOnlyPriority: function(eventContext){
// Program obsługi zdarzenia initialize dla widoku szczegółów ZP,
// który obsługuje zmiany w polu worktype
// i zmienia pola Priorytet na tylko do odczytu
// bieżące zlecenie workOrder znajduje się w obiekcie eventContext
var currWO = eventContext.getResource().getCurrentRecord();
var worktype = currWO.get(’worktype’);
// Makes the priority field read-only if worktype equals EMERGENCY
currWO.getRuntimeFieldMetadata(’priority’).set(’readonly’, worktype && worktype=="EM");
// Podłączamy program nasłuchujący, by monitorować
// atrybut worktype i udostępniać atrybut priority tylko do odczytu,
gdy atrybut równy jest Emergency
eventContext.addResourceWatchHandle(currWO.watch(’worktype’,
lang.hitch(this, function(attrName, oldValue, newValue)
{
currWO.getRuntimeFieldMetadata(’priority’).set(’readonly’,
newValue && newValue=="EM");
}
)));
}
});
});
4. Zapisz zmiany i wyświetl podgląd zmodyfikowanej aplikacji mobilnej w programie
Mobile Browser Simulator.
Co dalej
Wdróż aplikację na serwerze
Modyfikowanie aplikacji mobilnych Maximo Anywhere
29
Tworzenie wymaganych pól warunkowych
W aplikacji Maximo Anywhere wymagalność pola może być określana dynamicznie na
podstawie wartości innych pól.
O tym zadaniu
W pliku app.xml należy zdefiniować procedurę obsługi zdarzenia, aby określić, czy pole
zależne od wartości innego pola ma uzyskiwać status pola wymaganego. Procedury obsługi
zdarzeń implementuje się jako pliki JavaScript powiązane z widokiem w aplikacji mobilnej.
Na przykład, jeśli dla zlecenia pracy określono typ pracy Konserwacja awaryjna, to pole
Priorytet powinno być wymagane. Pole Priorytet nie jest jednak potrzebne w zleceniach
pracy innego typu, zatem należy zastosować warunek sterujący wymagalnością pola. Należy
utworzyć procedurę obsługi zdarzenia dla pola Priorytet, aby monitorować zasób i atrybut
skojarzony z typem pracy i nadać polu status wymaganego, jeśli użytkownik urządzenia
mobilnego wybierze wartość Konserwacja awaryjna w polu Typ pracy. Jeśli użytkownik
mobilny zmieni również wartość typu pracy, procedura obsługi sprawdzi tę wartość, aby
określić, czy pole Priorytet ma już status wymaganego.
Procedura
1. W programie MobileFirst Studio otwórz plik app.xml aplikacji, którą chcesz zmienić, i
dodaj pole, do którego chcesz zastosować warunek.
2. W sekcji interfejsu użytkownika pliku app.xml dodaj do widoku, do którego należą pola
procedurę obsługi zdarzenia typu inicjalizator.
a. W elemencie <text> nowego pola dodaj element podrzędny o nazwie
<eventHandlers>.
b. W elemencie <eventHandlers> dodaj element podrzędny o nazwie <eventHandler>.
c. Określ initialize jako atrybut zdarzenia i dodaj atrybuty metody i klasy.
Na przykład, aby pole Priorytet było wymagane dla prac awaryjnych, dodaj do widoku,
do którego należy to pole procedurę obsługi zdarzenia typu inicjalizator. Zdarzenie
skojarzone z procedurą obsługi zdarzenia dla widoku Szczegóły zlecenia pracy nosi
nazwę WODetailExtensionHandler.
<view id="WorkExecution.WorkDetailView" label="Szczegóły zlecenia pracy">
...
<eventHandlers>
<eventHandler event="initialize" method="fetchAllListSizes"
class="application.handlers.WODetailHandler" />
<eventHandler event="initialize" method="handleConditionalRequiredPriority"
class="application.customerExtensions.WODetailExtensionHandler" />
<eventHandler event="render" class="application.handlers.WODetailHandler"
method="refreshAllListSizes"/>
<eventHandler event="initialize"
class="application.handlers.MetersListHandler" method="initializeMeters" />
</eventHandlers>
....
</view>
3. Zrealizuj warunek w procedurze obsługi zdarzenia zapisanej w pliku JavaScript.
a. Utwórz folder na procedurę obsługi zdarzenia w katalogu MaximoAnywhere\apps\
nazwa_aplikacji\common\js\application. Nazwa folderu musi być zgodna z nazwą
określoną w atrybucie klasy procedury obsługi zdarzenia.
b. Dodaj plik JavaScript do katalogu MaximoAnywhere\apps\nazwa_aplikacji\
common\js\application. Nazwa pliku JavaScript musi być zgodna z nazwą określoną
w atrybucie klasy procedury obsługi zdarzenia.
c. Dodaj warunek procedury obsługi zdarzenia initialize do pliku JavaScript.
30
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Na przykład, aby dodać warunek nadawania polu Priorytet dla prac awaryjnych statusu
wymaganych, utwórz plik WODetailExtensionHandler.js w katalogu
MaximoAnywhere\apps\nazwa_aplikacji\common\js\application\
customerExtensions i dodaj w nim kod JavaScript procedury obsługi zdarzenia
realizującej logikę tego warunku.
define("application/customerExtensions/WODetailExtensionHandler",
[ "dojo/_base/declare",
"dojo/_base/lang",
"platform/handlers/_ApplicationHandlerBase",
"application/handlers/CommonHandler"],
function(declare, lang, ApplicationHandlerBase, CommonHandler) {
return declare( [ApplicationHandlerBase], {
handleConditionalRequiredPriority: function(eventContext){
// Program obsługi zdarzenia initialize dla widoku szczegółów ZP,
// który obsługuje zmiany w polu worktype
// i zmienia pola Priorytet na wymagane
// bieżące zlecenie workOrder znajduje się w obiekcie eventContext
var currWO = eventContext.getResource().getCurrentRecord();
var worktype = currWO.get(’worktype’);
// Nadaje polu Priorytet status wymaganego, gdy worktype = EMERGENCY
currWO.getRuntimeFieldMetadata(’priority’).set(’required’, worktype && worktype=="EM");
// Podłączamy program nasłuchujący, by monitorować
// atrybut worktype i nadać atrybutowi priority status wymaganego, gdy atrybut
równy jest Emergency
eventContext.addResourceWatchHandle(currWO.watch(’worktype’,
lang.hitch(this, function(attrName, oldValue, newValue)
{
currWO.getRuntimeFieldMetadata(’priority’).set(’required’, newValue && newValue=="EM");
}
)));
}
});
});
4. Zapisz zmiany i wyświetl podgląd zmodyfikowanej aplikacji mobilnej w programie
Mobile Browser Simulator.
Co dalej
Wdróż aplikację na serwerze
Modyfikowanie aplikacji mobilnych Maximo Anywhere
31
32
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Informacje
Niniejsza publikacja została przygotowana z myślą o produktach i usługach oferowanych w
Stanach Zjednoczonych.
IBM może nie oferować w innych krajach produktów, usług lub opcji omawianych w tej
publikacji. Informacje o produktach i usługach dostępnych w danym kraju można uzyskać od
lokalnego przedstawiciela IBM. Jakakolwiek wzmianka na temat produktu, programu lub
usługi IBM nie oznacza, że może być zastosowany jedynie ten produkt, ten program lub ta
usługa IBM. Zamiast nich można zastosować ich odpowiednik funkcjonalny, pod warunkiem
że nie narusza to praw własności intelektualnej IBM. Jednakże cała odpowiedzialność za
ocenę przydatności i sprawdzenie działania produktu, programu lub usługi pochodzących od
producenta innego niż IBM spoczywa na użytkowniku.
IBM może posiadać patenty lub złożone wnioski patentowe na towary i usługi, o których
mowa w niniejszej publikacji. Przedstawienie tej publikacji nie daje żadnych uprawnień
licencyjnych do tychże patentów. Wnioski o przyznanie licencji można zgłaszać na piśmie
pod adresem:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
Zapytania dotyczące zestawów znaków dwubajtowych (DBCS) należy kierować do lokalnych
działów własności intelektualnej IBM (IBM Intellectual Property Department) lub wysłać je
na piśmie na adres:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan Ltd.
1623-14, Shimotsuruma, Yamato-shi
Kanagawa 242-8502 Japonia
Poniższy akapit nie obowiązuje w Wielkiej Brytanii, a także w innych krajach, w których jego
treść pozostaje w sprzeczności z przepisami prawa miejscowego: INTERNATIONAL
BUSINESS MACHINES CORPORATION DOSTARCZA TĘ PUBLIKACJĘ W STANIE,
W JAKIM SIĘ ZNAJDUJE ("AS IS"), BEZ UDZIELANIA JAKICHKOLWIEK
GWARANCJI (RĘKOJMIĘ RÓWNIEŻ WYŁĄCZA SIĘ), WYRAŹNYCH LUB
DOMNIEMANYCH, A W SZCZEGÓLNOŚCI DOMNIEMANYCH GWARANCJI
PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU ORAZ
GWARANCJI, ŻE PUBLIKACJA TA NIE NARUSZA PRAW OSÓB TRZECICH.
Ustawodawstwa niektórych krajów nie dopuszczają zastrzeżeń dotyczących gwarancji
wyraźnych lub domniemanych w odniesieniu do pewnych transakcji; w takiej sytuacji
powyższe zdanie nie ma zastosowania.
Informacje zawarte w niniejszej publikacji mogą zawierać nieścisłości techniczne lub błędy
typograficzne. Informacje te są okresowo aktualizowane, a zmiany te zostaną uwzględnione w
kolejnych wydaniach tej publikacji. IBM zastrzega sobie prawo do wprowadzania ulepszeń
i/lub zmian w produktach i/lub programach opisanych w tej publikacji w dowolnym czasie,
bez wcześniejszego powiadomienia.
© Copyright IBM Corp. 2014, 2015
33
Wszelkie wzmianki w tej publikacji na temat stron internetowych innych podmiotów zostały
wprowadzone wyłącznie dla wygody użytkownika i w żadnym wypadku nie stanowią zachęty
do ich odwiedzania. Materiały dostępne na tych stronach nie są częścią materiałów
opracowanych dla tego produktu IBM, a użytkownik korzysta z nich na własną
odpowiedzialność.
IBM ma prawo do używania i rozpowszechniania informacji przysłanych przez użytkownika
w dowolny sposób, jaki uzna za właściwy, bez żadnych zobowiązań wobec ich autora.
Licencjobiorcy tego programu, którzy chcieliby uzyskać informacje na temat programu w
celu: (i) wdrożenia wymiany informacji między niezależnie utworzonymi programami i
innymi programami (łącznie z tym opisywanym) oraz (ii) wykorzystywania wymienianych
informacji, powinni skontaktować się z:
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 U.S.A.
Informacje takie mogą być udostępnione, o ile spełnione zostaną odpowiednie warunki, w
tym, w niektórych przypadkach, zostanie uiszczona stosowna opłata.
Licencjonowany program opisany w niniejszej publikacji oraz wszystkie inne licencjonowane
materiały dostępne dla tego programu są dostarczane przez IBM na warunkach określonych w
Umowie IBM z Klientem, Międzynarodowej Umowie Licencyjnej IBM na Program lub w
innych podobnych umowach zawartych między IBM i użytkownikami.
Informacje dotyczące produktów innych niż produkty IBM pochodzą od dostawców tych
produktów, z opublikowanych przez nich zapowiedzi lub innych powszechnie dostępnych
źródeł. IBM nie testował tych produktów i nie może potwierdzić dokładności pomiarów
wydajności, kompatybilności ani żadnych innych danych związanych z tymi produktami.
Pytania dotyczące możliwości produktów innych podmiotów należy kierować do dostawców
tych produktów.
Publikacja ta zawiera przykładowe dane i raporty używane w codziennej pracy. W celu
kompleksowego ich zilustrowania podane przykłady zawierają nazwiska osób prywatnych,
nazwy przedsiębiorstw oraz nazwy produktów. Wszystkie te nazwy/nazwiska są fikcyjne i
jakiekolwiek podobieństwo do istniejących nazw/nazwisk i adresów jest całkowicie
przypadkowe.
LICENCJA W ZAKRESIE PRAW AUTORSKICH:
Niniejsza publikacja zawiera przykładowe aplikacje w kodzie źródłowym, ilustrujące techniki
programowania w różnych systemach operacyjnych. Użytkownik może kopiować,
modyfikować i rozpowszechniać te programy przykładowe w dowolnej formie bez uiszczania
opłat na rzecz firmy IBM, w celu rozbudowy, użytkowania, handlowym lub w celu
rozpowszechniania aplikacji zgodnych z aplikacyjnym interfejsem programowym dla tego
systemu operacyjnego, dla którego napisane były programy przykładowe. Programy
przykładowe nie zostały gruntownie przetestowane. IBM nie może zatem gwarantować ani
sugerować niezawodności, użyteczności i funkcjonalności tych programów. Programy
przykładowe są dostarczane w stanie, w jakim się znajdują ("AS IS"), bez udzielania
jakichkolwiek gwarancji (rękojmię również wyłącza się). IBM nie ponosi odpowiedzialności
za jakiekolwiek szkody wynikające z używania programów przykładowych.
34
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Strategia ochrony prywatności
Produkty programowe IBM, w tym oprogramowanie udostępniane w postaci usług
(„Oprogramowanie”) może używać plików cookie lub innych rozwiązań technicznych do
zbierania informacji o sposobie korzystania z produktu w celu doskonalenia interakcji z
użytkownikiem, dopasowania interakcji do preferencji konkretnego użytkownika lub w
innych celach. W wielu przypadkach Oprogramowanie nie zbiera żadnych informacji
umożliwiających identyfikację tożsamości osób. Część Oprogramowania może jednak
umożliwiać gromadzenie informacji pozwalających na identyfikację osoby. Jeśli Oferowane
Oprogramowanie korzysta z informacji cookie do gromadzenia informacji pozwalających na
identyfikację osoby, poniżej znajdują się szczegółowe informacje na temat takiego
korzystania.
W zależności od wdrożonych konfiguracji niniejsze Oferowane oprogramowanie może
korzystać z plików cookie sesji i trwałych gromadzących nazwy użytkowników, hasła lub
inne informacje pozwalające na identyfikację użytkownika w celach zarządzania sesją,
uwierzytelniania, konfigurowania funkcji jednokrotnego logowania lub innych celach
funkcjonalnych. Informacje cookie można wyłączyć, ale może to spowodować odłączenie
aktywowanych przez nie funkcjonalności.
Jeśli konfiguracje, w jakich to Oprogramowanie zostało wdrożone, umożliwiają klientowi
zbieranie informacji umożliwiających identyfikację tożsamości użytkowników końcowych za
pośrednictwem plików cookie i innych rozwiązań technicznych, to klient powinien zwrócić
się we własnym zakresie o poradę prawną dotyczącą obowiązujących go przepisów
dotyczących zbierania takich danych, w szczególności obowiązkach informacyjnych i
konieczności uzyskania zgody użytkowników.
Więcej informacji o stosowaniu różnych rozwiązań technicznych, w tym informacji cookie,
do wspomnianych wyżej celów zawiera Strategia IBM w zakresie ochrony prywatności
dostępna pod adresem http://www.ibm.com/privacy oraz Oświadczenie IBM o Ochronie
Prywatności w Internecie dostępne pod adresem http://www.ibm.com/privacy/details, a w
szczególności jego sekcja zatytułowana „Informacje cookie, sygnalizatory WWW i inne
technologie”, jak również Oświadczenie IBM o ochronie prywatności w oprogramowaniu, w
tym w oprogramowaniu udostępnianym w postaci usług pod adresem http://www.ibm.com/
software/info/product-privacy.
Znaki towarowe
IBM, logo IBM oraz ibm.com są znakami towarowymi lub zastrzeżonymi znakami
towarowymi International Business Machines Corp. zarejestrowanymi w wielu systemach
prawnych na całym świecie. Nazwy innych produktów i usług mogą być znakami
towarowymi IBM lub innych podmiotów. Aktualna lista znaków towarowych IBM dostępna
jest w serwisie WWW IBM, w sekcji “Copyright and trademark information” (Informacje o
prawach autorskich i znakach towarowych), pod adresem www.ibm.com/legal/
copytrade.shtml.
Java oraz wszystkie znaki towarowe i logo dotyczące języka Java są znakami towarowymi lub
zastrzeżonymi znakami towarowymi Oracle i/lub przedsiębiorstw afiliowanych Oracle.
Linux jest zastrzeżonym znakiem towarowym Linusa Torvaldsa w Stanach Zjednoczonych
i/lub w innych krajach.
Microsoft, Windows i logo Windows są znakami towarowymi Microsoft Corporation w
Stanach Zjednoczonych i/lub w innych krajach.
Informacje
35
UNIX jest zastrzeżonym znakiem towarowym The Open Group w Stanach Zjednoczonych i
w innych krajach.
36
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Indeks
D
dodawanie list wartości
domeny alfanumeryczne 17
domeny synonimów 17
I
instalowanie
Eclipse 5
K
komendy budowania
build all 7
konfigurowanie
serwer budowania
1
M
MobileFirst Studio
1
N
narzędzia programistyczne
Android 2
iOS 4
5
O
OSLC, struktury obiektów
12
S
serwer budowania
konfigurowanie
1
Ś
środowisko programistyczne
1, 5
Z
zasoby OSLC 12
Zasoby OSLC 17
© Copyright IBM Corp. 2014, 2015
37
38
Konfigurowanie aplikacji mobilnych Maximo Anywhere
Drukowane w USA

Podobne dokumenty