LOTUS SCRIPT: Základy / 1. časť

lotus.jpg IBM Lo­tus Do­mi­no/No­tes. Sof­tvér, kto­rý je od ro­ku 1996 stra­te­gic­kou sú­čas­ťou por­tfó­lia IBM a v sú­čas­nos­ti de fac­to štan­dard pre „colla­bo­ra­tion“ sys­té­my. K je­ho sil­ným strán­kam pat­rí aj mož­nosť rých­le­ho vý­vo­ja ap­li­ká­cií. Prá­ve pre­to sme na tú­to té­mu po­čas ro­ka 2006 pub­li­ko­va­li 10-di­el­ny se­riál. Od­ha­li­li sme v ňom jed­not­li­vé kom­po­nen­ty ap­li­ká­cie No­tes a zá­ro­veň vy­tvo­ri­li jed­no­du­chý sys­tém na sprá­vu do­ku­men­tov (Do­cu­ment Ma­na­ge­ment Sys­tem – DMS).

Ten­to­raz pok­ra­ču­je­me vy­uži­tím ďal­šie­ho mi­mo­riad­ne sil­né­ho prog­ra­má­tor­ské­ho pros­tried­ku – Lo­tusScrip­tu (LS). V šty­roch pok­ra­čo­va­niach uká­že­me je­ho mož­nos­ti pri zlep­šo­va­ní ap­li­ká­cií No­tes, pri­čom sa v zá­ve­reč­nej čas­ti zmie­ni­me aj o ďal­ších mo­der­ných tech­no­ló­giach, kto­ré prip­ra­vi­la spo­loč­nosť IBM pre plat­for­mu Lo­tus No­tes.

Se­riál ne­má am­bí­ciu a pries­tor, aby poú­čal skú­se­ných prog­ra­má­to­rov LS. Nao­pak, je pri­már­ne ur­če­ný pre tých, čo:
• zvlá­da­jú zá­kla­dy vý­vo­ja ap­li­ká­cii v Lo­tus No­tes, ale LS je pre nich veľ­ká nez­ná­ma,
• poz­na­jú Vi­sual Ba­sic a chce­li by vy­užiť LS,
• prog­ra­mu­jú v iných sys­té­moch a chce­li by zis­tiť, ako na to v Lo­tus No­tes.

Nech už pat­rí­te k ľu­bo­vol­nej sku­pi­ne, na kon­ci se­riá­lu bu­de­te nie­len „múd­rej­ší“, ale bu­de­te mať aj svo­ju vlas­tnú ap­li­ká­ciu s mo­dul­mi LS a pri tro­che šťas­tia aj ce­nu zo sú­ťa­že... Na za­čia­tok eš­te zo­pár poz­ná­mok:
• Ako vý­vo­jo­vé pros­tre­die bu­de opi­so­va­ný Do­mi­no De­sig­ner R7/8 (v sú­čas­nos­ti naj­roz­ší­re­nej­ší). O mo­der­nej Ec­lip­se ba­sed ver­zii Do­mi­no De­sig­ne­ra 8.5x sa zmie­ni­me v zá­ve­reč­nej čas­ti.
• Z dô­vo­du preh­ľad­nos­ti bu­de opi­so­va­ný len je­den „prog­ra­má­tor­ský“ pos­tup, nie všet­ky al­ter­na­tív­ne mož­nos­ti.
• Na strán­kach www.ede­ve­lop­ment.sk (časť Ti­py) náj­de­te pred­chá­dza­jú­ci vý­vo­jár­sky se­riál.
• Sú­čas­ťou se­riá­lu je aj sú­ťaž spo­loč­nos­ti IBM, v kto­rej bu­dú od­me­ne­né naj­lep­šie „prog­ra­má­tor­ské vý­ko­ny“ (de­tai­ly sú na kon­ci člán­ku).

ČO JE LO­TUS SCRIPT
LS je prog­ra­mo­va­cí script ja­zyk, kto­rý:
• je syn­tak­tic­ky po­dob­ný Vi­sual Ba­si­cu,
• je pou­ži­teľ­ný v ur­či­tých čas­tiach ap­li­ká­cie No­tes (te­da je plat­for­mo­vo ne­zá­vis­lý),
• sprís­tup­ňu­je súp­ra­vu ob­jek­tov ap­li­ká­cie No­tes s ich vlas­tnos­ťa­mi a me­tó­da­mi,
• je sú­čas­ťou in­teg­ro­va­né­ho vý­vo­jo­vé­ho pros­tre­dia Lo­tus Do­mi­no De­sig­ne­ra,
• vý­raz­ne prek­ra­ču­je mož­nos­ti tzv. @For­mu­la lan­gua­ge,
• umož­ňu­je zos­ku­po­vať vlas­tné fun­kcie a pro­ce­dú­ry do tzv. kniž­níc LS.

ORIENTÁCIA V PROS­TREDÍ DO­MI­NO DE­SIG­NE­RA
• Z http://www.ede­ve­lop­ment.sk si do dá­to­vé­ho ad­re­sá­ra Lo­tus No­tes klien­ta stiah­ne­me ap­li­ká­ciu DMS_Fi­nal.NSF (časť Ti­py).
• Spus­tí­me prog­ram DD.
• Zvo­lí­me Fi­le-Da­ta­ba­se-Open, vy­hľa­dá­me ap­li­ká­ciu a ot­vo­rí­me ju.
• V sku­pi­ne Forms ot­vo­rí­me fo­mu­lár for­mDo­cu­ment a v ob­jek­toch vy­hľa­dá­me uda­losť Query­Sa­ve, kde sa na­chá­dza LS sek­ven­cia:

lotus_IBM OBR1.jpg
Obr. 1

Jed­not­li­vé čas­ti cha­rak­te­ri­zu­je ta­buľ­ka:

Časť Vy­svet­le­nie
1. Main Re­sour­ce Win­dow Vý­ber z ob­jek­tov da­ta­báz (ap­li­ká­cií) Do­mi­no
2. Ob­ject Tab Vý­ber uda­los­ti, kto­rú je pot­reb­né prog­ra­mo­vať. Po­nu­ka sa kon­texto­vo pris­pô­so­bu­je ty­pu zvo­le­né­ho ob­jek­tu.
3. Re­fe­ren­ce Tab In­for­má­cie o jed­not­li­vých trie­dach (či už Lo­tus No­tes, ale­bo iných prog­ra­moch)
4. Lan­gua­ge Com­bo Box Vý­ber prog­ra­mo­va­cie­ho ja­zy­ka (No­tes for­mu­las, Ja­va, Ja­vaS­cript a Lo­tusScript) na prog­ra­mo­va­nie zvo­le­nej uda­los­ti da­né­ho ob­jek­tu. Mož­nos­ti vý­be­ru sú da­né kon­krét­nym ty­pom zvo­le­nej uda­los­ti.
5. Main Win­dow Edi­tor na pí­sa­nie kó­du LS. Je­ho vlas­tnos­ti (št­ýl pís­ma, dopĺňa­nie pa­ra­met­rov, od­sa­dzo­va­nie od­se­kov, far­by pre prí­ka­zy, ko­men­tá­re...) sú de­fi­no­va­né v Prog­ram­mer‘s Pa­ne (pod pra­vým tla­čid­lom my­ši).

PRAX: MES­SA­GE­BOX
Te­raz už nas­tal čas na de­monštrač­né pou­ži­tie LS, kto­rý nám do di­aló­go­vé­ho ok­na vy­pí­še text. Na ten­to účel je v LS prip­ra­ve­ná fun­kcia Mes­sa­ge­Box.
• V ap­li­ká­cii vy­tvo­rí­me no­vé­ho agen­ta, pri­čom:
- ako ná­zov za­dá­me Agent č.1,
- vlas­tnosť Tar­get zvo­lí­me na None.
• Do uda­los­ti Ini­tia­li­ze za­dá­me kód: Mes­sa­ge­Box “Hello, World!“.
• Agen­ta ulo­ží­me (čím pre­beh­ne kom­pi­lá­cia kó­du) a za­tvo­rí­me.
• Po­tom agen­ta spus­tí­me (me­nu Agent – Run) – na ob­ra­zov­ke sa ob­ja­ví di­aló­go­vé ok­no vy­tvo­re­né po­mo­cou LS:

lotus_IBM OBR2.jpg
Obr. 2

1. TIP:
V čas­ti Re­fe­ren­ce – Lo­tusScript Lan­gua­ge sú uve­de­né všet­ky fun­kcie LS. Po ozna­če­ní a stla­če­ní F1 sa zob­ra­zí do­ku­men­tá­cia z hel­pu.

2. TIP:
Kom­pi­lá­cia kó­du pre­bie­ha auto­ma­tic­ky pri uk­la­da­ní, pri­čom dôj­de k upo­zor­ne­niu na syn­tak­tic­ké chy­by. Chy­by mož­no roz­de­liť na:
• Com­pi­le-ti­me error: Chy­bu od­ha­lí už kom­pi­lá­tor (napr. zlé pa­ra­met­re fun­kcie)
• Run-ti­me error: Chy­ba vznik­ne až pri vy­ko­ná­va­ní kó­du (napr. de­le­nie nu­lou)

SYN­TAK­TICKÉ PRA­VIDLÁ PÍSA­NIA KÓDU LS
Pred pí­sa­ním ďal­ších kó­dov LS je vhod­né pri­po­me­núť, že:
• Prí­ka­zy LS sú zlo­že­né z riad­kov, pri­čom prázd­ny ria­dok neov­plyv­ňu­je vy­ko­ná­va­nie skrip­tu.
• Text skrip­tu sa mô­že za­čí­nať úpl­ne vľa­vo ale­bo byť od­sa­de­ný pod­ľa pot­re­by.
• V rám­ci prí­ka­zu sú je­ho jed­not­li­vé pr­vky od­de­le­né me­dze­rou ale­bo ta­be­lá­to­rom. Bez prob­lé­mov sa da­jú dopl­niť aj ďal­šie práz­dne zna­ky.
• Prí­kaz (s vý­nim­kou blo­ko­vých prí­ka­zov) mu­sí byť na jed­nom riad­ku. Ak je príl­iš roz­siah­ly, mož­no ho spo­jiť s ďal­ším riad­kom po­mo­cou práz­dne­ho zna­ku a pod­čiar­kov­ní­ka ( _ ).

PRAX: ROZŠÍRE­NIE KÓDU
Kód agen­ta si te­raz up­ra­ví­me tak­to:

sText="Hello, World!"
Mes­sa­ge­Box sText
sText="Ahoj, svet!"
Print sText

Vy­svet­le­nie kó­du:
1. ria­dok: Do pre­men­nej sText je na­čí­ta­ný texto­vý re­ťa­zec.
2. ria­dok: Ob­sah pre­men­nej je zob­ra­ze­ný v di­aló­go­vom ok­ne (Mes­sa­ge­Box).
3. ria­dok: Ob­sah pre­men­nej sText je pre­pí­sa­ným no­vým re­ťaz­com.
4. ria­dok: Ob­sah pre­men­nej je vy­pí­sa­ný v dol­nom sta­vo­vom riad­ku (Print).

LS DE­BUG­GER
Kro­ko­va­nie kó­du LS a iden­ti­fi­ká­cia chýb je úlo­hou LS De­bug­ge­ra. Je­ho zá­klad­né fun­kcie vy­svet­lí­me na kro­ko­va­ní kó­du náš­ho agen­ta:

• LS De­bug­ger ak­ti­vu­je­me v me­nu prí­ka­zom Tools – De­bug Lo­tus Scrip.
• Spus­tí­me agen­ta, čím sa zob­ra­zí pros­tre­die LS De­bug­ge­ra.
• V spod­nej čas­ti si prep­ne­me ok­no Va­ria­bles, kto­ré zob­ra­zu­je hod­no­ty pre­men­ných.
• Prí­ka­zom Step In­to/Step Over (F8) kro­ku­je­me vy­ko­ná­va­nie skrip­tu až po 3. ria­dok.
• Ove­rí­me si mož­nosť zme­niť ob­sah pre­men­nej po­čas vy­ko­ná­va­nia tak, že do sText vlo­ží­me iný re­ťa­zec a po pre­cho­de na 4. ria­dok uvi­dí­me v sta­vo­vej liš­te vý­pis na­mi za­da­né­ho re­ťaz­ca.

lotus_IBM OBR3.jpg
Obr. 3

SU­MA­RIZÁCIA
Ten­to­raz sme sa zo­rien­to­va­li v zá­kla­doch LS a je­ho de­bug­ge­ra. Na­bu­dú­ce sa bu­de­me ve­no­vať dá­to­vým ty­pom a zlo­ži­tej­ším inter­ak­tív­nym konštruk­ciám LS.

Ďal­šie čas­ti >>

Zdroj: Infoware 4/2010



Ohodnoťte článok:
 
 
 

24 hodín

týždeň

mesiac

Najnovšie články

LO­TUS SCRIPT: Prá­ca s po­ľa­mi a do­mi­no XML / 4. časť
V poslednej časti seriálu sa pozrieme na spracovanie jednotlivých polí dokumentov technológiou Domino XML. čítať »
 
LO­TUS SCRIPT: Ma­ni­pu­lá­cia s do­ku­men­tmi / 3. časť
V predchádzajúcej časti seriálu sme si objasnili základné konštrukčné prvky LS a zároveň prístup k základným objektom Domino. Teraz budeme pokračovať mimoriadne praktickou časťou – manipuláciou s dokumentmi databázy Notes pomocou back-end i front-end tried. čítať »
 
LO­TUS SCRIPT: „Do­mi­no ob­jek­ty“ / 2. časť
V 1. časti seriálu sme sa zorientovali v problematike LotusScriptu (LS), vyskúšali si používanie Domino Designera a LS Debuggera pri tvorbe a odľaďovaní LS sekvencií. čítať »
 
LO­TUS SCRIPT: Zá­kla­dy / 1. časť
IBM Lotus Domino/Notes. Softvér, ktorý je od roku 1996 strategickou súčasťou portfólia IBM a v súčasnosti de facto štandard pre „collaboration“ systémy. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter