Sistem EIS

From Apache OpenOffice Wiki
Revision as of 12:54, 24 January 2010 by Filmsi (Talk | contribs)

Jump to: navigation, search

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 CWS-jih (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 (public) in interno (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. Vsi CWS, pri katerih ste "Owner", "QA representative" ali "Member", 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 prikazani le CWS 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 Feature, ki jih v EIS razvijalci in nato razpošljejo na OpenOffice.org dopisne sezname 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 Feature kot tudi specifikacije so ključne za vse, ki delujejo na področju dokumentacije ali zagotavljanja kakovosti (QA). Obvestila o Feature 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 break 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črtovan'): CWS v tem stanju je načrtovan, vendar dejansko še ne obstaja. Tako ni bil spremenjen noben del kode, niti še ni odločeno, iz katerega mejnika bo ustvarjen CWS. To stanje je uporabno predvsem za dolgoročno načrtovanje, aquisition virov itn.
  2. new ('nov'): CWS v tem stanju je bil ustvarjen, they do have a physical representation somewhere and development is currently working on it. The cwscreate commandline tool is used to create directory for source code of a new ChildWorkspace. If a ChildWorkspace with state planned and the name given as argument to cwscreate already exists this one is propagated to state new in EIS otherwise a new entry is created in 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: 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 CWS nastavljena za glavno delovišče, lahko QA zdaj nastavi stanje na nominated ali approved by QA, če QA sprejme spremembe v otroškem delovišču. Če spremembe v CWS niso sprejete, QA nastavi stanje nazaj na new.
  4. approved by 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, program management. To pomeni, da program management nastavi stanje na nominated, potem ko je QA nastavilo to stanje.
  5. nominated: The CWS is being handed over to Release Engineering which can now start to integrate the CWS into the MasterWorkspace
  6. integrated: all work on the CWS is finished and the changes on the ChildWorkspace have been integrated into the MasterWorkspace.
  7. canceled: A canceled CWS has been abandoned, no more work will be done on it. This state is for CWS which where once in state new but are not needed anymore.
  8. deleted: similar to canceled this is for CWS which are not needed any more. The difference is that the deleted state can only be set for planned CWS which never made it to being actually physically created and thus to the state new.
  9. fixed on master: this is used to reflect changes in EIS done by Release Engineering directly on the Master usually to fix a very special urgent problem or a merge conflict. CWS in this state are not really existing physically these are just entries in EIS keeping information about changes done directly on the source code repository branch of the MasterWorkspace.
  10. finished: To je posebno stanje, ki ga uporabljamo za Special-Product-Release otroška delovišča, ki nikoli ne bodo integrirana v glavno delovišče, vendar predstavljajo 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: zgodovinsko stanje, uporabljeno za obravnavo posebnih otroških delovišč produktnih popravkov (angl. Product Patch), ni več v uporabi.
  12. cloned: Zgodi se, da je potrebno spremembe glavnega delovišča, ustvarjene za stabilizacijo minor release, prav tako integrirati v glavno delovišče za trenutni glavni release trunk 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

The main webpage for EIS is http://eis.services.openoffice.org. There you can find a link to EIS logon where you must use your OpenOffice.org email address as username. There is also an anonymous guest logon link on this page for those who do not have an OpenOffice.org account and the RSS feeds EIS provides can also be found on that page. Besides, the "Find a ChildWorkspace (CWS) name for a given IssueTracker issue ID", "List integrated issues within the most current master build" and "Show treeview of all integrated master builds" features on [ http://qa.openoffice.org/issuelinks.html http://qa.openoffice.org/issuelinks.html] are also features provided by EIS. At http://specs.openoffice.org there is a Specification Checking Tool link, which is also a feature offered by EIS. You may find direct links to ChildWorkspaceinformation in some RSS feeds and webpages like Planet OpenOffice.org or in some documentation on http://www.openoffice.org. If you need to create such a direct link to ChildWorkspace information on some webpage yourself you can use something like the following:

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

where 'cwsqueryenhance' is the name of the ChildWorkspace and 'SRC680' is the MasterWorkspace it was created on without milestone information. The general formular for such URLs is

http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=<MasterWorkspace>%2F<ChildWorkspace>

Such links and also the features on the QA issuelinks page and the Specification Checking Tool can be used without logon. The SOAP interface of EIS is at https://eis.services.openoffice.org/soap/servlet/rpcrouter. The CWS commandline tools authenticate there using CVS username and crypted CVS password. This must be configured in a .cwsrc file, details about this .cwsrc file can be found on the CWS Wiki entry. The SOAP interface is currently not yet documented, but with CWS.pm there is a perl module for using it available in the OpenOffice.org source code.

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