Lucrul cu Interfaţa de scriptare portal (PSI)
Aflaţi mai multe despre diferitele moduri pe care le puteţi folosi cu Interfaţa de scriptare portal (PSI).
Informaţii preliminare
Interfaţa de scriptare portal (PSI) furnizat de IBM® WebSphere Portal Express este bazat pe unealta de scriptare wsadmin, care este furnizată de IBM WebSphere Application Server. De aceea, înainte de a folosi Interfaţa de scriptare portal (PSI), familiarizaţi-vă cu modul de utilizare a uneltei wsadmin WebSphere Application Server.
Mod interactiv
Folosiţi modul interactiv dacă doriţi să interacţionaţi direct şi dinamic cu portalul pentru a realiza operaţii administrative simple care ar trebui executate numai odată. De exemplu, administratorul doreşte să modifice permisiunile unei pagini pentru un anumit principal, sau administratorul doreşte să adauge un portlet la o pagină. Folosiţi modul interactiv dacă nu intenţionaţi să repetaţi operaţia.
- Linux: wp_profile_root/PortalServer/bin
- IBM i: wp_profile_root/PortalServer/bin
- Windows: wp_profile_root\PortalServer\bin
- Linux:./wpscript.sh
- IBM i:wpscript.sh
- Windows:wpscript.bat
- Dacă securitatea WebSphere Application
Server este activată, specificaţi un ID utilizator şi o parolă în timpul înregistrării cum se arată în următorul exemplu:
- Linux:./wpscript.sh -port port_number -user user_id -password password
- IBM i:wpscript.sh -port port_number -user user_id -password password
- Windows:wpscript.bat -port port_number -user user_id -password password
Parametrii de bază sunt explicaţi pe scurt în următorul tabel.
Tabela 1. Descriere a parametrilor de bază utilizaţi cu taskul wpscript.bat|sh Parametru Descriere -lang Specifică limba fişierului script, a comenzii, sau a shell-ului interactiv. Specifică una din următoarele valori pentru parametrul -lang:- jacl
- jython
Acest parametru este opţional şi nu are nicio valoare implicită. Această opţiune înlocuieşte determinările de limbă care se bazează pe nume de fişiere script, nume de fişiere script de profil sau proprietatea com.ibm.ws.scripting.defaultLang.
Important: Dacă nu specificaţi limba scriptului în linia de comandă sau ca parametru şi utilitarul wsadmin nu poate determina limba scriptului, apare o eroare. Dacă nu specificaţi limba scriptului ca valoare pentru -lang, utilitarul wsadmin determină limba scriptului după cum urmează:- Dacă specificaţi argumentul -f script_file_name , utilitarul wsadmin determină limba din numele fişierului script destinaţie.
- Dacă specificaţi argumentul -profile profile_script_name , utilitarul wsadmin determină limba din numele scriptului de profiluri.
-conntype Tipul de conexiune care ar trebui stabilit între scripturi. Tipurile valide de conexiune includ:- SOAP
- RMI
- NONE
Valoarea implicită este SOAP. Acest parametru este opţional. Folosiţi opţiunea -conntype NONE pentru a rula în mod local. Rezultatul este că clientul de script nu este conectat la un server în rulare. Dacă se selectează tipul de conexiune NONE, bean-urile de script sunt inactive şi nu se pot folosi pentru administrare, cu excepţia comenzii help.
-port Numărul de port al conexiunii. Acest parametru este opţional. Numărul portului depinde de valorile alese în timpul instalării. Puteţi verifica valoarea care este setată pentru proprietatea WasSoapPort în fişierul wkplc.properties care se află în directorul corespunzător dat aici:- Linux: wp_profile_root/ConfigEngine
- IBM i: wp_profile_root/ConfigEngine
- Windows: wp_profile_root\ConfigEngine
Dacă rulaţi wpscript pe un server care face parte dintr-o celulă gestionată de un manager de implementare, port_number poate varia în funcţie de ce porturi sunt în uz pe sistem când este creat managerul de imlementare. Pentru a verifica valoarea, verificaţi setarea pentru SOAP_CONNECTOR_ADDRESS în serverindex.xml care se află în directorul corespunzător dat aici:- Linux:dmgr_profile_root/config/cells/cell_name/nodes/node_name
- IBM i:dmgr_profile_root/config/cells/cell_name/nodes/node_name
- Windows:dmgr_profile_root\config\cells\cell_name\nodes\node_name
-user ID-ul de utilizator sub care stabiliţi conexiunea. Acest parametru poate fi obligatoriu, în funcţie de configuraţia de securitate.
-password Parola pentru ID-ul de utilizator sub care stabiliţi conexiunea.
- Lagaţi-vă în portal utilizând una din următoarele comenzi de script:
Jython: Portal.login("user_ID", "password")
JACL: $Portal login user_ID password
- Lansaţi comenzile script portal aşa cum se cer.
- După ce aţi terminat toate operaţiile interfeţei de script portal, închideţi şi ieşiţi din procesorul de script. Toate modificările comise sunt aplicate la configuraţia portal.
Mod script
Folosiţi modul script pentru a aplica modificări predefinite la configuraţia unui portal.
Utilitarul wpscript execută un script Jython sau JACL care conţine operaţiile administrative. Clientul de scriptare moşteneşte procesorul de script din wsadmin, astfel încât un administrator poate exploata limbajul de script Jython sau JACL, pentru a scrie scripturi de administrare reutilizabile, extensibile. Acest mod este preferat în mod tipic dacă sunt create taskuri de administrare reproductibile: De exemplu, administratorul poate scrie un script care produce un subarbore complet de pagină şi adaugă dispuneri în pagină individuale şi portleturi pe fiecare pagină.
Utilizatorii care au permisiune de acces pentru a realiza cereri de interfaţă de configurare XML pot schimba configuraţiile tuturor resurselor. Portal Scripting Interface este cel mai consistent cu modelul de administrare expus de interfaţa de utilizator Portal.
Înainte de a folosi modul script, asiguraţi-vă că WebSphere Portal Express rulează şi că un fişier de script portal este disponibil. Trebuie să fiţi înregistrat folosind ID-ul de utilizator administrativ WebSphere. Utilizaţi procedura următoare:
Toate modificările comise de script sunt imediat aplicate la configuraţia portal.
- Exemplu de script portal Jython
- Următorul exemplu este un fişier script Jython numit testme.py:
# Scripting bean example: create a simple page (multi-column Layout) # # Procedure: create a multi-column page under the page that is currently # selected, and place the given portlets into the layout. # # parameters: # name The name of the page # portlet_names A list of portlet names. # returns: # oid The id of the page that has been created def create_multi_col_page(name, portlet_names): thePage = Content.create("page", name, "html") Content.select(thePage) lyt0 = Layout.create("container", "horizontal", "select") for pn in portlet_names: pid = Portlet.find("portlet", "cn", pn) Layout.create("control", pid) return thePage # main code starts here # set User ID/ pwd for portal Login command # Hint: User ID and passwords should normally not be placed inside a # configuration script; better use property files or command line arguments user = "user_ID" pwd = "password" Portal.login(user, pwd) # determine and select the parent of the page to be created. # In this example, This is the "Home" label. Content.select(Content.find("all", "uniquename", "ibm.portal.Home") # Invoke the page creation procedure. The label of the page is "My test page", # portlets to be added are the reminder portlet and the welcome portlet. newbie = create_multi_col_page("A Page", ["Reminder", "Welcome_to_WebSphere_Portal"]) print "ok, we are done."
- Exemplu script portal JACL
- Următorul exemplu este un script JACL numit testme.jacl:
# Scripting bean example: create a simple page (multi-column Layout) # # Procedure: create a multi-column page under the page that is currently # selected, and place the given portlets into the layout. # # parameters: # name The name of the page # portlet_names A list of portlet names. # returns: # oid The id of the page that has been created proc create_multi_col_page { name portlet_names } { global Content Layout Portlet set thePage [$Content create page $name html] $Content select $thePage set lyt0 [$Layout create container horizontal select] foreach pn $portlet_names { set pid [$Portlet find portlet cn $pn] $Layout create control $pid } return $thePage } # main code starts here # set User ID/ pwd for portal Login command # Hint: User ID and passwords should normally not be placed inside a # configuration script; better use property files or command line arguments set user user_ID set pwd password $Portal login $user $pwd # determine and select the parent of the page to be created. # In this example, This is the "Home" label. $Content select [$Content find all uniquename "ibm.portal.Home"] # Invoke the page creation procedure. The label of the page is "My test page", # portlets to be added are the reminder portlet, and the welcome portlet. set newbie [create_multi_col_page "A Page" { "Reminder" "Welcome_to_WebSphere_Portal" } ] puts "ok, we are done."
- Profiluri.
- Argumente în linie de comandă.
- argc
- Utilizaţi această variabilă în scripturile JACL pentru a specifica numărul argumentelor de la linia de comandă.
- argv
- Utilizaţi această variabilă în scripturile JACL şi Jython pentru a specifica numărul argumentelor de la linia de comandă.
user = "portaladmin"
pwd = "adminpwd"
şi înlocuiţi-le cu insrucţiunile următoare:
if len(sys.argv) != 2:
print "invocation syntax: wpscript testme.py <user> <pwd>"
sys.exit(1)
user = argv[0]
pwd = argv[1]
set user portaladmin
set pwd adminpwd
şi înlocuiţi-le cu insrucţiunile următoare:if { $argc != 2 } {
puts "invocation syntax: wpscript testme.jacl <user> <pwd>"
exit
}
set user [lindex $argv 0]
set pwd [lindex $argv 1]
JACL: wpscript.sh -port port_number -f testme.jacl user_ID password
Rulare comenzi script într-un profil
Un profil este un script care rulează înaintea scriptului principal sau înaintea introducerii modului interactiv. Profilurile pot fi folosite pentru a seta comportament specific de mediu sau date specifice de utilizator. Profilurile sunt specificate când se invocă wpscript, folosind parametrul -profile. De exemplu, comanda login poate fi pusă într-un profil.
- Exemplu de script profil Jython
- Următorul exemplu este un script Jython de profile numit mylogin.py:
# scripting profile # contains log-in procedure on portal with disabled security if len(sys.argv) != 2: print "invocation syntax: wpscript -f testme.jacl -profile mylogin.py user_ID password" sys.exit(1) user = argv[0] pwd = argv[1] Portal.login(user, pwd)
Ştergeţi sau comentaţi următoarele instrucţiuni în fişierul script testme.py:if len(sys.argv) != 2: print "invocation syntax: wpscript testme.py user_ID password" sys.exit(1) user = argv[0] pwd = argv[1] Portal.login(user, pwd)
Pentru a invoca mylogin.py, introduceţi următoarea comandă: wpscript.sh -port port_number -profile mylogin.py -f testme.py user_ID password
- Exemplu de script profil JACL
- Următorul exemplu este un script de profiluri JACL numit mylogin.jacl:
# scripting profile # contains log-in procedure on portal with disabled security if { $argc != 2 } { puts "invocation syntax: wpscript -f testme.jacl -profile mylogin.jacl user_ID password" exit } set user [lindex $argv 0] set pwd [lindex $argv 1] $Portal login $user $pwd
Înlăturaţi sau puneţi în comentariu următoarele instrucţiuni în fişierul script testme.jacl:if { $argc != 2 } { puts "invocation syntax: wpscript testme.jacl user_ID password" exit } set user [lindex $argv 0] set pwd [lindex $argv 1] $Portal login $user $pwd
Pentru a invoca mylogin.jacl, introduceţi următoarea comandă: wpscript.sh -port port_number -profile mylogin.jacl -f testme.jacl user_ID password
- Scripturi Jython
# scripting profile # contains log-in procedure on portal with enabled security Portal.login()
- Scripturi JACL
# scripting profile # contains log-in procedure on portal with enabled security $Portal login