Difference between revisions of "SL/EIS"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Seznam stanj, ki jih uporablja EIS)
Line 39: Line 39:
 
# '''new''' ('''novo'''): [[CWS|Otroško delovišče]] v tem stanju je bilo ustvarjeno, zdaj fizično obstaja in razvoj na njem je trenutno v teku. [http://tools.openoffice.org/dev_docs/ooo-cws-tools-doc.sxw Orodje ukazne vrstice] '''cwscreate''' se uporabi za ustvarjanje mape za izvorno kodo novega [[CWS | otroškega delovišča]]. Če [[CWS | otroško delovišče]] v stanju '''planned''' in ime, podano kot parameter ukazu '''cwscreate''' že obstaja, je povzdignjeno v stanje '''new''' v [http://eis.services.openoffice.org EIS], sicer je ustvarjen nov vnos v [http://eis.services.openoffice.org EIS]. Če ustvarite [[CWS | otroško delovišče]] z ukazom '''cwscreate''', zatem uporabite [http://eis.services.openoffice.org spletni vmesnik] in dodajte kar se da veliko dodatnih informacij.
 
# '''new''' ('''novo'''): [[CWS|Otroško delovišče]] v tem stanju je bilo ustvarjeno, zdaj fizično obstaja in razvoj na njem je trenutno v teku. [http://tools.openoffice.org/dev_docs/ooo-cws-tools-doc.sxw Orodje ukazne vrstice] '''cwscreate''' se uporabi za ustvarjanje mape za izvorno kodo novega [[CWS | otroškega delovišča]]. Če [[CWS | otroško delovišče]] v stanju '''planned''' in ime, podano kot parameter ukazu '''cwscreate''' že obstaja, je povzdignjeno v stanje '''new''' v [http://eis.services.openoffice.org EIS], sicer je ustvarjen nov vnos v [http://eis.services.openoffice.org EIS]. Če ustvarite [[CWS | otroško delovišče]] z ukazom '''cwscreate''', zatem uporabite [http://eis.services.openoffice.org spletni vmesnik] in dodajte kar se da veliko dodatnih informacij.
 
# '''ready for qa''' ('''pripravljeno za QA'''): Razvijalci menijo, da so končali z delom. S to spremembo stanja so pripravili namestitvene pakete in predali [[CWS|otroško delovišče]] v QA. Odvisno od tega, kako je obravnava [[CWS|otroškega delovišča]] nastavljena v [[MWS | glavnem delovišču]], lahko QA zdaj nastavi stanje na '''nominated''' ali '''approved by QA''', če QA sprejme spremembe v [[CWS | otroškem delovišču]]. Če spremembe v [[CWS|otroškem delovišču]] niso sprejete, QA nastavi stanje nazaj na '''new'''.
 
# '''ready for qa''' ('''pripravljeno za QA'''): Razvijalci menijo, da so končali z delom. S to spremembo stanja so pripravili namestitvene pakete in predali [[CWS|otroško delovišče]] v QA. Odvisno od tega, kako je obravnava [[CWS|otroškega delovišča]] nastavljena v [[MWS | glavnem delovišču]], lahko QA zdaj nastavi stanje na '''nominated''' ali '''approved by QA''', če QA sprejme spremembe v [[CWS | otroškem delovišču]]. Če spremembe v [[CWS|otroškem delovišču]] niso sprejete, QA nastavi stanje nazaj na '''new'''.
# '''approved by QA''' ('''odobreno s strani QA'''): To je posebno vmesno stanje, ko je za [[MWS | glavno delovišče]], v katerem je bilo ustvarjeno [[CWS|otroško delovišče]], uporabljamo bolj nadzorovan pristop. V takšnem primeru QA odobri [[CWS|otroško delovišče]], vendar ima zadnjo besedo, če in kdaj kaj vstopi v [[MWS | glavno delovišče]], program management. To pomeni, da program management nastavi stanje na '''nominated''', potem ko je QA nastavilo to stanje.
+
# '''approved by QA''' ('''odobreno s strani QA'''): To je posebno vmesno stanje, ko je za [[MWS | glavno delovišče]], v katerem je bilo ustvarjeno [[CWS|otroško delovišče]], uporabljamo bolj nadzorovan pristop. V takšnem primeru QA odobri [[CWS|otroško delovišče]], vendar ima zadnjo besedo, če in kdaj kaj vstopi v [[MWS | glavno delovišče]], programska uprava. To pomeni, da programska uprava nastavi stanje na '''nominated''', potem ko je QA nastavilo to stanje.
 
# '''nominated''' ('''nominirano'''): [[CWS|Otroško delovišče]] je predano Release Engineering, ki lahko zdaj začne z njegovo integracijo v [[MWS |glavno delovišče]].
 
# '''nominated''' ('''nominirano'''): [[CWS|Otroško delovišče]] je predano Release Engineering, ki lahko zdaj začne z njegovo integracijo v [[MWS |glavno delovišče]].
 
# '''integrated''' ('''integrirano'''): Celotno delo na [[CWS|otroškem delovišču]] je dokončano in spremembe iz [[CWS | otroškega delovišča]] so bile vključene v [[MWS | glavno delovišče]].
 
# '''integrated''' ('''integrirano'''): Celotno delo na [[CWS|otroškem delovišču]] je dokončano in spremembe iz [[CWS | otroškega delovišča]] so bile vključene v [[MWS | glavno delovišče]].

Revision as of 13:35, 24 January 2010

Pregled

EIS (Environment Information System) je sestavljen iz zbirke podatkov, ki hrani podatke o glavnih deloviščih (angl. MasterWorkspace, na kratko MWS) in otroških deloviščih (angl. ChildWorkspace, na kratko CWS), pa tudi druge reči, spletni vmesnik, ki ga uporabljajo vsi vpleteni v delo na otroških deloviščih (npr. razvijalci, člani QA, pisci dokumentacije, člani ekipe za uporabniško izkušnjo, odgovorni za lokalizacijo in internacionalizacijo itn.) ter vmesnik SOAP za kopico orodij ukazne vrstice, ki jih uporabljajo razvijalci za ustvarjanje in vzdrževanje otroških delovišč.

V spletni vmesnik se lahko prijavite na naslovu http://eis.services.openoffice.org s svojim e-poštnim naslovom OOo (vključno z @openoffice.org) in svojim geslom OOo. Tam je na voljo tudi anonimni dostop samo za branje.

EIS je tudi potreben, če želite napisati e-sporočilo o objavi funkcionalnosti (angl. feature announcement) ali spremembah API-ja, s katerimi obveščate razvijalce, inženirje zagotavljanja kakovosti (QA, angl. Quality Assurance), sodelavce pri lokalizaciji (L10N) in dokumentaciji o spremembah v kodi paketa ali če želite preveriti specifikacije.

Poleg tega EIS ponuja več virov RSS z informacijami o otroških deloviščih in glavnih deloviščih. Vir, ki informira o novih mejnikih na glavnih deloviščih je npr. sindiciran na Planet OpenOffice.org. Najdete jih lahko tudi na glavni strani EIS.

Rezultati gradenj smodnišnice (angl. tinderbox) so bili v zadnjem času integrirani v spletno pročelje EIS.

Ozadje in splošni podatki

Za razvoj OpenOffice.org/StarOffice uporabljamo veje v skladiščih izvorne kode (trenutno SubVersion, prej CVS), nabor orodij ukazne vrstice in orodje, imenovano EIS. EIS je akronim za Environment Information System in, mimogrede, nemška beseda za led. Zamisel za glavnimi delovišči in otroškimi delovišči je, da razvoj ne poteka na glavnih deloviščih. Namesto tega je vse delo izvedeno na kopiji glavnega delovišča, to kopijo pa imenujemo otroško delovišče. Le če je otroško delovišče najmanj tako dobro kot glavno delovišče (vsebovati ne sme nobenih regresij in novo vpeljane funkcionalnosti morajo biti popolnoma delujoče), bo spojen (integriran) nazaj v glavno delovišče. Idealno bi to pomenilo, da je glavno delovišče lahko izdano kadarkoli kot popolnoma delujoč drop. Vendar je to tako le v teoriji. Vseeno pa koncept glavnih/otroških delovišč v veliki meri zmanjša število novih zadev/težav, vpeljanih v glavno delovišče.

Kodne veje (angl. codeline) za izdaje uporabljajo različna glavna delovišča in za minor izdaje je ponavadi uvedeno tudi novo glavno delovišče, kar stabilizira kodo za to minor izdajo na ločeni veji.

Delo z otroškimi in glavnimi delovišči pomeni:

  • izvajati celotno razvijalsko delo na kopiji kode izdelka;
  • temeljito preizkusiti in preveriti razvito kodo pred ponovno integracijo v kodo izdelka;
  • le povsem preizkušena izvorna koda se vključi v kodo izdelka, zato je manj regresijskih hroščev;
  • vsi mejniki na glavnih deloviščih (koda izdelka) so potencialno v stanju možnosti izdaje;
  • hrošče pogosteje odkrijemo v času, ko jih uvedemo, in s strani tistih, ki jih uvedejo;
  • ker je koda bolje preverjena in preizkušena pred integracijo v izdelek, ima razvijalec več svobode pri delu.

Otroška delovišča (CWS) imajo v EIS stanje, ki odseva, kaj se trenutno na otroškem delovišču dogaja in ali je otroško delovišče že končalo v kodi izdelka ali pa se še razvija. Prihodnje stanje lahko nastavimo glede na trenutno stanje.

Obstaja nabor politik otroških vozlišč, ki ureja delo na otroškem delovišču, npr. kako se zadeve v sistemu sledenja hroščev v issuezilli OpenOffice.org običajno dodeljujejo otroškim deloviščem in kako različni ljudje, vpleteni v življenjski ciklus otroškega delovišča, sodelujejo drug z drugim. EIS pozna dve različni vrsti otroških delovišč: javno (angl. public) in interno (angl. internal) otroško delovišče podjetja Sun. Za notranje otroško delovišče podjetja Sun je prikazan le omejen nabor podatkov na http://eis.services.openoffice.org. Tako npr. opis, ki lahko vsebuje notranje podatke o stranki podjetja Sun, ni prikazan. V podjetju Sun interno obstaja drugačna inkarnacija spletnega portala EIS, ki te podatke prikaže. Večina otroških delovišč, na katerih delajo razvijalci podjetja Sun, so javna, le nekaj njih, ki vsebujejo izključne module ali funkcionalnosti StarOffice ali tisti, ki vsebujejo zaupne podatke o strankah podjetja Sun, so zasebna otroška delovišča. Otroško delovišče ima vedno "lastnika" (angl. "Owner") in "predstavnika QA" (angl. "QA representative"), ki morata biti praviloma različni osebi ;-). Druge vrste informacij, ki jih hrani EIS, so npr. ustrezni moduli izvorne kode, zadeve novih funkcionalnosti in/ali popravkov, ki se obdelujejo v otroškem delovišču, izdaja, za katero je načrtovana vključitev otroškega delovišča, in zastavice, ki nakazujejo, če so spremembe v tem otroškem delovišču relevantne za dokumentacijo in prevajanje. EIS ponuja tudi nekaj statističnih podatkov o otroških deloviščih. Nekatera polja na strani Edit za CWS je potrebno nastaviti najmanj takrat, ko je stanje spremenjeno na ready for QA (pripravljeno za QA) in v to stanje ne boste mogli spremeniti, ne da bi spremenili tudi njih. Poleg "lastnika" in "predstavnika za QA" EIS ponuja tudi vlogo "člana" (angl. "Member") otroškega delovišča. Člane lahko dodate na strani urejanja otroškega delovišča. Vsa otroška delovišča, pri katerih ste "lastnik", "predstavnik za QA" ali "član", so prikazane na seznamu, ki ga ponuja seznam ChildWorkspaces/MyCWS. Podmeni "ChildWorkspaces/Browse" ponuja nekaj drevesnih pogledov, ki prikazujejo otroška delovišča v zbirki podatkov, glede na različne kriterije izbora. Prikaz v teh drevesnih pogledih omejujejo nastavitve. Privzeto so prikazana le otroška delovišča zadnjega pol leta. To lahko spremenite prek povezave Settings v desnem kotu in nato na zavihku CWS, kjer poiščete polje "months displayed in treeviews", ki ga lahko nastavite na novo vrednost.


Poleg obravnave otroških delovišč in glavnih delovišč je druga uporabnost EIS obravnava sprememb API-ja in obvestila o funkcionalnostih, ki jih v EIS razvijalci in nato razpošljejo na dopisne sezname OpenOffice.org in shranijo v zbirko podatkov EIS. Spremembe API-ja (angl. API Changes) obveščajo druge razvijalce o spremembah kode, ki so lahko zanje relevantne, in obvestila o funkcionalnostih (angl. Feature announcements) kot tudi specifikacije so ključne za vse, ki delujejo na področju dokumentacije ali zagotavljanja kakovosti (QA). Obvestila o funkcionalnostih in specifikacije se uporabijo tudi za pol-samodejno izdelane Opombe ob izdaji in so zato pomembne za obveščanje vseh o spremembah v novih izdajah, za primer si oglejte Opombe ob izdaji OpenOffice.org 2.0.4 (angl.). Specifikacije je potrebno izdelati z uporabo standardne predloge in EIS lahko preveri, ali lahko dokumente uporabite za proces izdelave Opomb ob izdaji ali pa morda dokumenti prelomijo ta proces, ker vsebujejo spremembe, ki naredijo dokument neuporaben za XSLT, ki se v tem procesu uporabi, ali ker ne temeljijo na pravi predlogi.

Seznam stanj, ki jih uporablja EIS

  1. planned (načrtovano): Otroško delovišče v tem stanju je načrtovano, vendar dejansko še ne obstaja. Tako ni bil spremenjen noben del kode, niti še ni odločeno, iz katerega mejnika bo ustvarjeno otroško delovišče. To stanje je uporabno predvsem za dolgoročno načrtovanje, zagotavljanje virov itn.
  2. new (novo): Otroško delovišče v tem stanju je bilo ustvarjeno, zdaj fizično obstaja in razvoj na njem je trenutno v teku. Orodje ukazne vrstice cwscreate se uporabi za ustvarjanje mape za izvorno kodo novega otroškega delovišča. Če otroško delovišče v stanju planned in ime, podano kot parameter ukazu cwscreate že obstaja, je povzdignjeno v stanje new v EIS, sicer je ustvarjen nov vnos v EIS. Če ustvarite otroško delovišče z ukazom cwscreate, zatem uporabite spletni vmesnik in dodajte kar se da veliko dodatnih informacij.
  3. ready for qa (pripravljeno za QA): Razvijalci menijo, da so končali z delom. S to spremembo stanja so pripravili namestitvene pakete in predali otroško delovišče v QA. Odvisno od tega, kako je obravnava otroškega delovišča nastavljena v glavnem delovišču, lahko QA zdaj nastavi stanje na nominated ali approved by QA, če QA sprejme spremembe v otroškem delovišču. Če spremembe v otroškem delovišču niso sprejete, QA nastavi stanje nazaj na new.
  4. approved by QA (odobreno s strani QA): To je posebno vmesno stanje, ko je za glavno delovišče, v katerem je bilo ustvarjeno otroško delovišče, uporabljamo bolj nadzorovan pristop. V takšnem primeru QA odobri otroško delovišče, vendar ima zadnjo besedo, če in kdaj kaj vstopi v glavno delovišče, programska uprava. To pomeni, da programska uprava nastavi stanje na nominated, potem ko je QA nastavilo to stanje.
  5. nominated (nominirano): Otroško delovišče je predano Release Engineering, ki lahko zdaj začne z njegovo integracijo v glavno delovišče.
  6. integrated (integrirano): Celotno delo na otroškem delovišču je dokončano in spremembe iz otroškega delovišča so bile vključene v glavno delovišče.
  7. canceled (preklicano): Preklicano otroško delovišče je bilo opuščeno, v njem se delo ne bo več nadaljevalo. To stanje je za otroška delovišča, ki so bila prej v stanju new, vendar niso več potrebna.
  8. deleted (izbrisano): Podobno kot canceled - to stanje je za otroška delovišča, ki niso več potrebna. Razlika je, da lahko stanje deleted nastavimo le za planned otroška delovišča, ki nikoli niso prišla do dejanske fizične manifestacije in s tem do stanja new.
  9. fixed on master (popravljeno na glavnem): Uporabljamo za odsev sprememb v EIS, ki jih Release Engineering opravi neposredno na glavnem delovišču, običajno gre za popravek zelo posebne, urgentne težave ali spor pri spajanju. Otroško delovišče v tem stanju dejansko ne obstajajo, to so le vnosi v EIS, ki hranijo informacije o spremembah, neposredno opravljenih v skladiščni veji izvorne kode za glavno delovišče.
  10. finished (dokončano): To je posebno stanje, ki ga uporabljamo za otroška delovišča posebnih izdaj izdelka, ki nikoli ne bodo integrirana v glavno delovišče, vendar predstavljajo posebno različico izdelka (angl. Special Release Version), npr. neko različico, izdelano le za posebno stranko s spremembami, ki ne bodo nikoli vključene v glavno delovišče.
  11. pre-nominated for PP (pred-nominirano za popravek programa): zgodovinsko stanje, uporabljeno za obravnavo posebnih otroških delovišč produktnih popravkov (angl. Product Patch), ni več v uporabi.
  12. cloned (klonirano): Zgodi se, da je potrebno spremembe glavnega delovišča, ustvarjene za stabilizacijo minor izdaje, prav tako integrirati v glavno delovišče za trenutno glavno deblo izdaje ali obratno. V tem primeru kloniramo otroška delovišča. Npr. obstaja lahko otroško delovišče xyz, ustvarjeno na glavnem delovišču SRC680, in če želimo integrirati enake spremembe tudi v glavno delovišče OOE680, bo ustvarjen klon xyz_OOE680. Release Engineering ima posebno orodje ukazne vrstice, ki ustvari tovrstne klone.

Vstopne točke EIS

Glavni spletni naslov za EIS je http://eis.services.openoffice.org. Tam lahko najdete povezavo do EIS prijave, kjer morate uporabiti svoj e-poštni naslov OpenOffice.org kot uporabniško ime. Na tej strani je tudi povezava za prijavo anonimnega gosta za tiste, ki nimajo računa OpenOffice.org, in vire RSS, ki jih ponuja EIS, tudi najdete na tej strani. Poleg tega so možnosti "Find a ChildWorkspace (CWS) name for a given IssueTracker issue ID", "List integrated issues within the most current master build" in "Show treeview of all integrated master builds" na [ http://qa.openoffice.org/issuelinks.html http://qa.openoffice.org/issuelinks.html] prav tako funkcionalnosti, ki jih ponuja EIS. Na http://specs.openoffice.org se nahaja povezava Specification Checking Tool, ki je tudi funkcionalnost EIS. Neposredne povezave k podatkom o otroških deloviščih najdete v nekaterih virih RSS in spletnih straneh, kot je Planet OpenOffice.org ali v dokumentaciji na http://www.openoffice.org. Če želite ustvariti takšno neposredno povezavo na podatke o otroškem delovišču na neki spletni strani, lahko uporabite naslednje:

http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fcwsqueryenhance

kjer je 'cwsqueryenhance' ime otroškega delovišča in 'SRC680' je glavno delovišče, v katerem je bilo ustvarjeno, brez informacije o mejniku. Splošen obrazec za takšen URL je:

http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=<glavnodelovišče>%2F<otroškodelovišče>

Takšne povezave in tudi funkcionalnosti na QA issuelinks page in Specification Checking Tool lahko uporabljate brez prijave. Vmesnik SOAP spletišča EIS se nahaja na naslovu https://eis.services.openoffice.org/soap/servlet/rpcrouter. Orodja ukazne vrstice za otroška delovišča se tam overijo z uporabniškim imenom CVS in šifriranim geslom CVS. Slednje mora biti prilagojeno v datoteki .cwsrc, podrobnosti o tej datoteki .cwsrc lahko najdete v wiki-vnosu otroško delovišče (angl.). Vmesnik SOAP trenutno še ni dokumentirano, vendar z CWS.pm je za uporabno na voljo modul perl v izvorni kodi OpenOffice.org.

Triki in namigi

  • Spremenite lahko, da se meni prikaže na levi strani namesto na vrhu, in sicer prek povezave Settings v desnem kotu in nato uporabite izbirni gumb v slogu menijev na zavihku "Frames".
  • Če ste član QA in želite najti otroško delovišče, ki še nima predstavnika za QA, uporabite menijski ukaz "ChildWorkspaces / Seek QA".
  • Če želite ugotoviti, kaj je zadnji mejnik na danem MasterWorkspace, lahko pogledate v EIS (Environment Information System) z menijskim ukazom "MasterWorkspaces / MasterWorkspace Info" ali pa uporabite ukaz "cwsquery latest".
  • Tip: On this wiki you can use {{CWS}}, {{m}}, {{Bug}} templates to easily link to child workspaces, milestones and issues.

Stik

EIS je storitev, ki jo upravlja podjetje Sun in jo trenutno vzdržuje Bernd Eilers. Če ste našli hrošča v EIS ali želite dodatno funkcionalnost, lahko vnesete zadevo v IssueZillo pod kategorijo (Category) 'tools' in s ciljem (target) 'DevTools' zanj.

Sorodne povezave

Personal tools