• Nebyly nalezeny žádné výsledky

2011JakubKulhavy´ Absolvova´nı´individua´lnı´odborne´praxeIndividualProfessionalPractiseintheCompany VSˇB–Technicka´univerzitaOstravaFakultaelektrotechnikyainformatikyKatedrainformatiky

N/A
N/A
Protected

Academic year: 2022

Podíl "2011JakubKulhavy´ Absolvova´nı´individua´lnı´odborne´praxeIndividualProfessionalPractiseintheCompany VSˇB–Technicka´univerzitaOstravaFakultaelektrotechnikyainformatikyKatedrainformatiky"

Copied!
26
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Fakulta elektrotechniky a informatiky Katedra informatiky

Absolvova´nı´ individua´lnı´ odborne´

praxe

Individual Professional Practise in the Company

2011 Jakub Kulhavy´

(2)

V Ostraveˇ 6. kveˇtna 2011 . . . .

(3)

Ullmannovi za hodnotne´ rady a prˇı´jemnou spolupra´ci. Da´le bych ra´d podeˇkoval me´mu vedoucı´mu bakala´rˇske´ pra´ce Ing. Pavlu Kro¨merovi, Ph.D. za rady prˇi tvorbeˇ te´to zpra´vy.

(4)

Cı´lem te´to bakala´rˇske´ pra´ce je popsat me´ pu˚sobenı´ ve spolecˇnosti KVADOS, kde jsem absolvoval odbornou praxi. Na´plnı´ me´ pra´ce bylo studium na´stroju˚ VSTO, ktere´ slouzˇı´

pro vytva´rˇenı´ doplnˇkovy´ch aplikacı´ pro kancela´rˇsky´ balı´k Microsoft Office. Zaby´val jsem se zkouma´nı´m jejich mozˇnostı´, cozˇ zahrnovalo i vy´voj prakticky´ch uka´zkovy´ch aplikacı´.

Vy´sledkem me´ pra´ce by meˇla by´t Add-In aplikace pro Microsoft Office Word 2007, slouzˇı´cı´

pro zefektivneˇnı´ tvorby analy´z a sjednocenı´ jejich struktury.

Klı´cˇova´ slova: add-in, application-level, C#, KVADOS, MS Office Word, MS SQL Server 2008, praxe, VSTO, .NET, Visual Studio 2010, XML

Abstract

The aim of this bachelor thesis is to describe my work in KVADOS company, where I passed professional practice. Work desccription was to study the VSTO instruments, used for creating Microsoft Office Add-In application. I was involved with the exploration of options, which included practical development of demo applications. My work result it should be Microsoft Office 2007 Add-In application, used for more effective analysis creation and their structure unification.

Keywords: add-in, application-level, C#, KVADOS, MS Office Word, MS SQL Server 2008, work experience, VSTO, .NET, Visual Studio 2010, XML

(5)

CV – Curriculum Vitae

IS – Information System - Informacˇnı´ syste´m ISMS – Information Security Management System

LINQ – Language Integrated Query

MS – Microsoft

MSDN – Microsoft Development Network

OS – Operacˇnı´ syste´m

SQL – Structured Query Language

TFS – Microsoft Team Foundation Server

VS – Visual Studio (2010)

VSTO – Visual Studio Tools for Office

WOM – Word Object Model

XML – eXtensible Markup Language

(6)

Obsah

1 U´ vod 4

2 Popis odborne´ho zameˇrˇenı´ firmy a pracovnı´ho zarˇazenı´ studenta 5

2.1 Popis odborne´ho zameˇrˇenı´ firmy . . . 5

2.2 Popis pracovnı´ho zarˇazenı´ studenta . . . 5

3 Zadane´ u´koly 6 3.1 Sezna´menı´ se syste´mem VENTUSR - modul Personalistika . . . 6

3.2 Pra´ce s porta´lem Kvadopedie . . . 6

3.3 Studium vy´vojovy´ch na´stroju˚ VSTO . . . 6

3.4 Uka´zkova´ aplikace Snippets . . . 7

3.5 Vy´voj doplnˇku pro MS Word . . . 7

4 Rˇ esˇenı´ u´kolu˚ 9 4.1 Pra´ce s porta´lem Kvadopedie . . . 9

4.2 Studium vy´vojovy´ch na´stroju˚ VSTO . . . 9

4.3 Uka´zkova´ aplikace Snippets . . . 10

4.4 Vy´voj doplnˇku pro MS Word . . . 13

5 Zı´skane´ a scha´zejı´cı´ znalosti 19 5.1 Technologie VSTO . . . 19

5.2 Pra´ce v ty´mu . . . 19

5.3 Vy´voj s vyuzˇitı´m ty´movy´ch na´stroju˚ . . . 19

6 Za´veˇr 20

7 Reference 21

(7)

Seznam obra´zku ˚

1 Vkla´da´nı´ stavebnı´ch bloku˚. . . 14

2 Trˇı´dnı´ diagram trˇı´d slouzˇı´cı´ pro vyhleda´va´nı´ dat v databa´zi. . . 16

3 Na´stroje pro editaci stavebnı´ch bloku˚. . . 18

4 Filtry pro skrytı´ textu˚. . . 18

(8)

Seznam vy´pisu ˚ zdrojove´ho ko ´ du

1 Prˇı´klad vytvorˇenı´ vlastnı´ho task pane. . . 11 2 Prˇı´klad vlozˇenı´ stavebnı´ho bloku do dokumentu. . . 13 3 Prˇı´klad vlozˇenı´ Visio objektu do dokumentu. . . 14

(9)

1 U ´ vod

Na za´veˇr bakala´rˇske´ho studia jsem se rozhodl vyuzˇı´t mozˇnosti absolvovat odbornou praxi ve firmeˇ mı´sto klasicke´ bakala´rˇske´ pra´ce. Jizˇ v minulosti jsem meˇl mozˇnost pracovat v male´m vy´voja´rˇske´m ty´mu, ale chteˇl jsem si vyzkousˇet i pra´ci ve velke´ softwarove´ firmeˇ, kde bych byl v kontaktu s lidmi z oboru. Dı´ky odborne´ praxi jsem mohl zjistit na jaky´ch svy´ch vlastnostech bych meˇl zapracovat, aby jsem byl prˇipraven na pra´ci v ty´mu. Navı´c jsem dı´ky praxi zı´skal cenne´ zkusˇenosti z rea´lne´ho prostrˇedı´ softwarove´ spolecˇnosti.

Do spolecˇnosti KVADOS (da´le jen spolecˇnost) jsem byl po prvnı´m kontaktu pozva´n na pohovor, kde byly proveˇrˇeny me´ znalosti z dane´ problematiky. Byl jsem take´ informova´n jake´ u´koly meˇ budou zhruba cˇekat.

V na´sledujı´cı´ kapitole popisuji na´plnˇ podnika´nı´ spolecˇnosti a jejı´ zameˇrˇenı´. Da´le zde uva´dı´m pozici, na kterou jsem nastoupil a pocˇa´tecˇnı´ pozˇadavky. Trˇetı´ kapitola popisuje zadane´ u´koly a technologie, ktere´ jsem musel prostudovat pro u´speˇsˇne´ zvla´dnutı´ praxe.

Cˇtvrta´ kapitola se zaby´va´ pru˚beˇhem vy´voje a rˇesˇenı´m jednotlivy´ch u´kolu˚. Pa´ta´ kapitola popisuje nabyte´ a scha´zejı´cı´ znalosti. V poslednı´ kapitole hodnotı´m dosazˇene´ vy´sledky odborne´ praxe a jejı´ celkovy´ pru˚beˇh.

(10)

2 Popis odborne´ho zameˇrˇenı´ firmy a pracovnı´ho zarˇazenı´ stu- denta

2.1 Popis odborne´ho zameˇrˇenı´ firmy

Spolecˇnost KVADOS jezina´rodnı´ spolecˇnost uzna´vana´ v 11 evropsky´ch zemı´ch. Zaby´va´

se vy´vojem softwaru pro spolecˇnosti pu˚sobı´cı´ v obchodnı´m a logisticke´m sektoru. Na trhu pu˚sobı´ od roku 1992 a jejı´ produkty jsou cı´leny do segmentu obchodu a sluzˇeb. Kval- itu spolecˇnosti dokla´da´ 5 certifika´tu˚ mezina´rodnı´ch standardu˚ ISO, ktere´ zı´skali. Pocˇet zameˇstnancu˚ spolecˇnosti v te´to dobeˇ dosa´hl hranice 130 lidı´.

Mezi nejvy´znamneˇjsˇı´ klienty spolecˇnosti KVADOS patrˇı´ ACCOM holding, CˇD Telematika, Cˇeska´ posˇta, CˇEZ, Energizer, Farmacol, Henkel CˇR, Kofola, L’ORE´AL, MP Kra´sno, PEMIC BOOKS, Podravka, QANTO CZ, Rudolf Jelı´nek, Tchibo a mnoho dalsˇı´ch.

2.2 Popis pracovnı´ho zarˇazenı´ studenta

Na prˇijı´macı´m pohovoru, ktery´ probeˇhl v za´rˇı´ 2010, jsem se prˇedstavil a na za´kladeˇ sve´ho CV popsal sve´ prˇedchozı´ zkusˇenosti z oboru. Ucha´zel jsem se o projekt na te´ma vy´voje aplikacı´ pro kancela´rˇsky´ balı´k MS Office, kde bylo potrˇeba znalosti technologie .NET a programova´nı´ v jazyce C#. Nasˇteˇstı´ jsem meˇl neˇjake´ prˇedchozı´ zkusˇenosti a tyto tech- nologie jsou za´rovenˇ my´m za´jmem, ktere´mu bych se chteˇl nada´le veˇnovat. Mohlo se tedy prˇejı´t k oveˇrˇenı´ my´ch znalostı´ v ra´mci pohovoru se senior programa´torem, panem Mgr.

Pavlem Ullmannem.

Po na´stupu do firmy jsem byl sezna´men s internı´mi procesy a hlavneˇ s projektem, na ktere´m jsem meˇl zacˇı´t pracovat. Cı´lem projektu bylo vytvorˇit rozsˇirˇujı´cı´ aplikaci (Add-In) pro MS Office Word 2007, ktera´ by usnadnila pra´ci prˇi vytva´rˇenı´ analy´z. Byl jsem zarˇazen do vy´robnı´ho oddeˇlenı´ Ventus. Ze zacˇa´tku jsem pracoval pouze s my´m konzultantem, pozdeˇji vsˇak byl k projektu prˇideˇlen projektovy´ manazˇer a tester aplikace.

(11)

3 Zadane´ u ´ koly

3.1 Sezna´menı´ se syste´mem VENTUSR - modul Personalistika

My´m prvnı´m u´kolem bylo sezna´menı´ s modulem Personalistika, ktery´ je soucˇa´stı´ in- formacˇnı´ho syste´mu VENTUSR. Skrz tento syste´m mi byly pozdeˇji zada´va´ny u´koly, ke ktery´m jsem vytva´rˇel rˇesˇenı´ s popisem toho, co jsem dany´ den udeˇlal. Na za´kladeˇ teˇchto funkcı´ se generoval vy´kaz pra´ce, kde jsem mohl sledovat, na ktery´ch u´kolech jsem pra- coval a kolik cˇasu jsem rˇesˇenı´ veˇnoval.

3.2 Pra´ce s porta´lem Kvadopedie

Porta´l Kvadopedie je informacˇnı´ porta´l spravovany´ spolecˇnostı´ KVADOS jak pro internı´

pouzˇitı´, tak i pro pouzˇitı´ jejich partneru˚. Na tomto informacˇnı´m porta´le jsou obsazˇeny ak- tua´lnı´ informace o produktech. Kvadopedie je hojneˇ vyuzˇı´va´na i zameˇstnanci spolecˇnosti jako zdroj informacı´ o analy´za´ch, testova´nı´, rˇı´zenı´ a vy´voji projektu˚, instalaci aplikacı´ a rˇesˇenı´ mozˇny´ch proble´mu˚.

Porta´l je postaven na produktu s na´zvem Confluence od spolecˇnosti Atlassian. Con- fluence je jednoduchy´ syste´m pro vytva´rˇenı´ a sdı´lenı´ webovy´ch stra´nek a dokumentu˚.

U´ kolem bylo projı´t si tutoria´ly o pra´ci s tı´mto syste´mem a naucˇit se pracovat s tex- tem vcˇetneˇ vytva´rˇenı´ tabulek, bloku˚ ko´du˚ a dalsˇı´ch veˇcı´. Pozdeˇji bylo my´m u´kolem zde zverˇejnˇovat du˚lezˇite´ poznatky o vy´voji doplnˇku a pouzˇity´ch funkcı´ch.

3.3 Studium vy´vojovy´ch na´stroju˚ VSTO

Nezbytny´m u´kolem prˇed zapocˇetı´m vy´voje doplnˇku bylo sezna´menı´ s technologiı´ VSTO, ktera´ umozˇnˇuje vyvı´jet doplnˇkove´ aplikace pro sadu MS Office. Studium na´stroju˚ bylo zameˇrˇeno na pra´ci s aplikacı´ Word, pro kterou jsem doplneˇk vyvı´jel, ale zahrnovalo i zkouma´nı´ obecny´ch vlastnostı´.

VSTO:

• Uzˇivatelske´ rozhranı´ a jeho prˇizpu˚sobenı´

• Vestaveˇne´ funkce Word:

• Obecna´ pra´ce s textem

• Pra´ce s dynamicky´mi poli

• Pra´ce s dokumentem pomocı´ WOM

(12)

3.4 Uka´zkova´ aplikace Snippets

Po prostudova´nı´ technologie VSTO bylo my´m u´kolem realizovat na´vrh, ktery´ meˇl slouzˇit jako za´klad budoucı´ho doplnˇku. Tato aplikace meˇla umozˇnit vytva´rˇenı´, ukla´da´nı´ a editaci kousku˚ textu˚, ktere´ by se vkla´daly do dokumentu.

3.4.1 Funkce:

• Seznam snippetu˚

• Vytvorˇenı´ snippetu˚

• Vlastnosti snippetu

• Editor snippetu˚

3.5 Vy´voj doplnˇ ku pro MS Word

Cı´lem me´ praxe bylo vytvorˇit doplneˇk, ktery´ by poma´hal prˇi vytva´rˇenı´ analy´z. Doplneˇk ma´ za u´kol znacˇneˇ zjednodusˇit pra´ci prˇi vytva´rˇenı´ analy´z a sjednotit jejich vzhled a struk- turu. Zjednodusˇenı´ pra´ce prˇi vytva´rˇenı´ analy´z spocˇı´va´ hlavneˇ v usnadneˇnı´ psanı´, proto meˇl doplneˇk nabı´dnout pra´ci s vytvorˇeny´mi bloky textu˚. Nesˇlo o to jen vkla´dat vytvorˇene´

texty, ale nabı´dnout rozsˇı´rˇenou funkcionalitu pro pra´ci s nimi. Vy´sledna´ aplikace meˇla umozˇnit pra´ci s teˇmito bloky a jejich kompletnı´ spra´vu.

Do obecny´ch bloku˚ textu bylo potrˇeba doplnˇovat konkre´tnı´ data aby analy´za vu˚bec da´- vala smysl. Zdrojem dat se stala databa´ze IS VENTUSR, ve ktere´ jsou evidova´ny potrˇebna´

data pro tvorbu analy´z.

Fina´lnı´ produkt pak meˇl obsahovat vesˇkerou potrˇebnou funkcionalitu, aby uzˇivatele´

meˇli co nejmensˇı´ potrˇebu vyuzˇı´t jinou aplikaci, cˇı´mzˇ by se snı´zˇil jejich komfort prˇi pra´ci.

Jednotlive´ pozˇadavky na funkcionalitu se odvı´jely na za´kladeˇ porad, kde jsme s my´m ve- doucı´m prezentovali nasˇe na´vrhy funkcı´ aplikace a prˇijı´mali jsme dalsˇı´ na´vrhy na vy´voj, nebo u´pravy sta´vajı´cı´ funkcˇnosti. Vyvı´jel jsem tedy aplikaci prˇesneˇ podle konkre´tnı´ch pozˇadavku˚ budoucı´ch uzˇivatelu˚.

(13)

3.5.1 Zada´nı´

• Graficke´ rozhranı´ doplnˇku bude reprezentovat nova´ za´lozˇka v ribbonu, do ktere´

budou umı´steˇny ovla´dacı´ prvky slouzˇı´cı´ pro pra´ci s aplikacı´.

• Vy´beˇr technologie pro za´klad pra´ce s bloky textu˚

• Vkla´da´nı´ bloku˚ do dokumentu

• Vyhleda´va´nı´ dat z databa´ze

• Synchronizace sˇablon bloku˚

• Vytvorˇenı´ na´stroju˚ pro editaci bloku˚ textu˚

• Implementace filtru˚ textu˚

• Nasazenı´ aplikace na klientske´m pocˇı´tacˇi

(14)

4 R ˇ esˇenı´ u´kolu˚

4.1 Pra´ce s porta´lem Kvadopedie

Pra´ce s Kvadopediı´ nenı´ prˇı´lisˇ na´rocˇna´. Po prˇecˇtenı´ tutoria´lu jsem byl prˇipraven vytvorˇit svou prvnı´ stra´nku. K takove´muto u´cˇelu je na Kvadopedii zrˇı´zena specia´lnı´ stra´nka s na´zvem ”Pı´skovisˇteˇ”, kde je mozˇne´ si zkousˇet nabyte´ znalosti. Editace stra´nky probı´ha´

pomocı´ zdrojove´ho ko´du. Nejedna´ se vsˇak o zdrojovy´ ko´d jaky´m se pı´sˇe v programovacı´ch jazycı´ch, ale spı´sˇe o znacˇkovacı´ jazyk, kde jednotlive´ znacˇky umozˇnˇujı´ forma´tovat text nebo vytva´rˇet struktury pro organizaci textu.

Jesˇteˇ bylo potrˇeba prostudovat internı´ pravidla pro za´pis informacı´ do Kvadopedie, aby jsem dodrzˇoval zavedene´ standardy, na ktere´ jsou ostatnı´ zvyklı´. Jednalo se naprˇı´klad o spra´vne´ strukturova´nı´ textu, zvy´raznˇova´nı´ du˚lezˇity´ch informacı´ a dalsˇı´ rady jak efektivneˇ psa´t, aby bylo mozˇne´ se pak v textu orientovat a co nejrychleji zı´skat potrˇebne´ informace.

Prvnı´ zapsa´nı´ informacı´ na´sledovalo po nastudova´nı´ technologie VSTO a vytvorˇenı´

uka´zkove´ aplikace, kdy jsem do Kvadopedie prˇidal na´vody na programovou pra´ci s textem a prˇı´stup k dokumentu.

V dobeˇ ke konci me´ praxe je mozˇne´ v Kvadopedii nale´zt na´vody na pra´ci s ru˚zny´mi ob- jekty ve Word dokumentu a take´ uzˇivatelska´ prˇı´rucˇka k vytvorˇene´mu doplnˇku. Prˇı´rucˇka obsahuje na´vod na instalaci a pra´ci s doplnˇkem a take´ rady rˇesˇı´cı´ mozˇne´ potı´zˇe, ktere´

se objevily po vypusˇteˇnı´ aplikace mezi uzˇivatele. Veˇtsˇinou se vsˇak jednalo o chybeˇjı´cı´

komponenty potrˇebne´ pro beˇh aplikace.

4.2 Studium vy´vojovy´ch na´stroju˚ VSTO

Pro studium vy´vojovy´ch na´stroju˚ VSTO jsem pouzˇil knihu Visual Studio Tools for Office 2007 [1] spolu s kvalitnı´mi a aktualizovany´mi informacemi na MSDN [2]. Krom oficia´lnı´ch informacı´ Microsoftu jsem vyuzˇı´val i fo´ra MSDN, kde jsem nacha´zel prˇı´klady a rady.

Studium probı´halo dynamicky v za´vislosti na prˇiby´vajı´cı´ch pozˇadavcı´ch na rozsˇı´rˇenı´

doplnˇku o novou funkcˇnost. Vzˇdy mi bylo zada´no danou problematiku prostudovat a prˇedne´st za´veˇr, zda se pozˇadavek da´ realizovat nebo prˇı´padneˇ navrhnout jiny´ zpu˚sob rˇesˇenı´.

4.2.1 Za´kladnı´ komponenty

Za´kladnı´ rozdeˇlenı´ aplikacı´ napsany´ch pomocı´ VSTO:

• Application-level add-in

• Document-level customization

Rozdı´l mezi teˇmito dveˇmi komponentami je takovy´, zˇe add-in je zainstalovany´ prˇı´mo do Wordu a jeho funkcionalita je dostupna´ neza´visle na otevrˇene´m dokumentu. Kdezˇto

(15)

funkcionalita document-level aplikace je dostupna´ jen v naprogramovane´m dokumentu.

Pro potrˇeby vyvı´jene´ho doplnˇku jsme zvolili application-level prˇı´stup.

4.2.2 Zmeˇny uzˇivatelske´ho rozhranı´

Pomocı´ na´stroju˚ VSTO lze programoveˇ prˇizpu˚sobovat uzˇivatelske´ rozhranı´. Prvky uzˇi- vatelske´ho rozhranı´, ktere´ lze meˇnit:

• Ribbon UI

• Menu

• Toolbars

• CommandBars

• Task panes

• Smart tags

• Shortcuts

Uzˇivatelske´ rozhranı´ ribbonu na´m vsˇak nenabı´zı´ neˇktere´ komponenty, ktere´ jsou dos- tupne´ ve Windows Forms. Nenı´ vsˇak proble´m vytvorˇit klasicke´ Windows Forms dialogy a ty na´sledneˇ vyvolat pro vykona´nı´ neˇjake´ funkce. Neˇktere´ prvky ribbonu dokonce ani nelze dynamicky meˇnit a prˇi pouzˇitı´ jiny´ch prvku˚ uzˇ nenı´ funkcionalita tak efektivnı´.

4.2.3 Vy´voj aplikacı´ pomocı´ VSTO

Pro vy´voj aplikacı´ pomocı´ na´stroju˚ VSTO je nutne´ mı´t nainstalovane´ vy´vojove´ prostrˇedı´, tedy Visual Studio (doporucˇuje se minima´lneˇ verze 2008) a beˇhove´ prostrˇedı´ VSTO Runtime. Aplikace lze psa´t v jazyce C# nebo Visual Basic. Testova´nı´ aplikacı´ nenı´ do- porucˇova´no na pocˇı´tacˇı´ch, kde je aplikace vyvı´jena. Nicme´neˇ jsem se o testova´nı´ aplikace ze zacˇa´tku staral ja´, pozdeˇji vsˇak (asi v polovineˇ praxe, kdy se vedenı´ rozhodlo vytvorˇit z me´ pra´ce oficia´lnı´ projekt) byl k projektu prˇideˇlen tester. Dı´ky tomuto kroku jsem zı´skal zpeˇtnou vazbu o pouzˇı´va´nı´ aplikace z pohledu uzˇivatele.

4.3 Uka´zkova´ aplikace Snippets

Du˚lezˇity´m u´kolem ve vy´voji doplnˇku bylo zvolit si spra´vnou technologii, ktera´ bude slouzˇit jako za´klad pro pra´ci s bloky textu˚. Uka´zkova´ aplikace vyuzˇı´vala pro ukla´da´nı´

bloku˚ textu˚ klasicky´ XML dokument s vlastnı´ strukturou.

Toto rˇesˇenı´ se pozdeˇji uka´zalo jako znacˇneˇ neefektivnı´, jelikozˇ obsahem snippetu bylo XML obsahujı´cı´ nejen text a dynamicke´ prvky, ale kompletnı´ nastavenı´ dokumentu pro uchova´nı´ stylu˚ a ostatnı´ch vlastnostı´. Prˇi vytvorˇenı´ jednoduche´ho snippetu s jednou veˇtou textu tak vznikl XML dokument se stovkami rˇa´dku˚ a to obsahoval pouze jediny´ snippet.

(16)

Nasˇteˇstı´ jsem implementacı´ tohoto syste´mu neztratil mnoho cˇasu a bylo mozˇne´ pokracˇo- vat ve vy´voji s jiny´m za´kladem, ktery´ popisuji v kapitole o vy´voji samotne´ho doplnˇku (viz. 4.4.2).

4.3.1 Seznam snippetu˚

Prvnı´ funkce meˇla na starost zobrazova´nı´/skry´va´nı´ vlastnı´ho task pane. Novy´ task pane obsahoval seznam vytvorˇeny´ch snippetu˚, ktere´ bylo mozˇne´ po kliknutı´ vlozˇit do doku- mentu. Ulozˇene´ snippety se po spusˇteˇnı´ aplikace nacˇetly z XML dokumentu do kolekce, ktera´ na´sledneˇ byla prˇipojena jakoDataSourceproListBox.

usingTools = Microsoft.Office .Tools;

...

// nacha´zı´me se ve trˇı´deˇ ThisAddIn cozˇ je hlavnı´ trˇı´da aplikace

// CustomControl je uzˇivatelska´ komponenta, ktera´ se v task pane bude zobrazovat

// Na´sledujı´cı´ metoda vytvorˇı´ novy´ task pane do kolekce CustomTaskPanes a vra´tı´ na´m jeho instanci, aby jsme s nı´m mohli da´le pracovat

Tools.CustomTaskPane customTaskPane =this.CustomTaskPanes.Add(newCustomControl(), ” Custom Task Pane”);

...

// prˇi kliku na tlacˇı´tko se meˇnila hodnota Visible

customTaskPane.Visible = customTaskPane.Visible ?false:true;

Vy´pis 1: Prˇı´klad vytvorˇenı´ vlastnı´ho task pane.

4.3.2 Vytva´rˇenı´ snippetu˚

Dalsˇı´ potrˇebnou funkcı´, ktera´ musela by´t implementova´na bylo samotne´ vytva´rˇenı´ snip- petu˚. Jestlizˇe jsme chteˇli vytvorˇit novy´ snippet, bylo nutne´ oznacˇit text a stisknout prˇı´s- lusˇne´ tlacˇı´tko v ribbonu, ktere´ vyvolalo dialog pro zada´nı´ informacı´ o snippetu. Obsahem snippetu byl oznacˇeny´ text, tedy jeho XML podoba, kterou jsem zı´ska´val z dokumentu.

4.3.3 Vlastnosti snippetu

U kazˇde´ho snippetu se definovaly ru˚zne´ vlastnosti. V prvnı´m na´vrhu to byly:

• Name - Libovolne´ pojmenova´nı´ snippetu.

• Description - Delsˇı´ popis vysveˇtlujı´cı´ pouzˇitı´ dane´ho snippetu.

• Required - Checkbox definujı´cı´ povinnost pouzˇitı´ snippetu v analy´ze.

• Typ - Vy´cˇet, ktery´ se bude postupneˇ rozsˇirˇovat.

• Text - Samotny´ obsah snippetu v XML forma´tu.

• Author - Nastaveny´ se dle prˇihla´sˇenı´ uzˇivatele do Windows.

(17)

• Seznam dynamicky´ch polı´

Name Description

Type - (String/Numeric/List/Checkbox) Default value

Po zada´nı´ informacı´ o snippetu a stisku tlacˇı´tkaUlozˇitse snippet ulozˇil. Aby nedocha´zelo k cˇaste´mu za´pisu do XML souboru, tak se snippet ukla´dal do kolekce snippetu˚. Samotne´

ulozˇenı´ do XML souboru se realizovalo prˇi ukoncˇenı´ aplikace (zavrˇenı´ Wordu).

4.3.4 Editor snippetu˚

Tato funkce nebyla implementova´na, jelikozˇ prˇed implementacı´ byl objeven efektivneˇjsˇı´

syste´m pro za´klad doplnˇku. Nicme´neˇ jej zde uva´dı´m alesponˇ jako na´vrh rˇesˇenı´.

V task pane obsahujı´cı´m snippety bude tlacˇı´tkoEdit snippet, ktere´ vyvola´ editaci snippetu.

Akce:

1. Zobrazı´ se novy´ dokument.

2. Do dokumentu vlozˇı´ obsah snippetu.

3. Zobrazı´ se novy´ task pane s funkcemi pro editaci snipetu:Snippet Editor.

4. Pokud nebude zapnuta´ za´lozˇkaVy´voja´rˇ, zobrazı´ hla´sˇenı´ s na´poveˇdou jak za´lozˇku aktivovat.

Snippet Editor bude obsahovat:

• Pole pro editaci jednotlivy´ch vlastnostı´ snippetu.

• Seznam dynamicky´ch polı´. Abecedneˇ setrˇı´deˇny´ seznam bez duplicit.

• Prˇi dvojkliku se nastavı´ focus na prvnı´ vy´skyt dynamicke´ho pole.

• Pod seznamem budou objekty pro nastavenı´ vlastnostı´ aktivnı´ho dynamicke´ho pole. Otevrˇenı´ standardnı´ho dialoguVlastnosti.

• Tlacˇı´tkoUlozˇitpro ulozˇenı´ zmeˇn snippetu.

(18)

4.4 Vy´voj doplnˇ ku pro MS Word 4.4.1 Graficke´ rozhranı´ aplikace

Pro graficke´ rozhranı´ aplikace jsem vytvorˇil v ribbonu novou za´lozˇku, do ktere´ jsem na´sledneˇ prˇida´val tlacˇı´tka ovla´dajı´cı´ jednotlive´ funkce. Samotne´ vytvorˇenı´ za´lozˇky v ribbonu je jednoducha´ za´lezˇitost, stacˇı´ do projektu ve VS vlozˇit komponentu Ribbon a na´sledneˇ si ji prˇes designe´r upravit. Du˚lezˇite´ je nastavenı´ jejı´ho na´zvu, jinak je implic- itneˇ pojmenovana´ jako Doplnˇky (za´lezˇı´ na jazykove´ verzi MS Office). V te´to implicitnı´

za´lozˇce se mohou objevit i jine´ funkce vytvorˇene´ v jiny´ch doplnˇcı´ch, ktere´ take´ nemajı´

prˇejmenovanou ribbon za´lozˇku.

4.4.2 Vy´beˇr technologie pro za´klad pra´ce s bloky textu˚

Pouzˇitı´ rˇesˇenı´ implementovane´ v uka´zkove´ aplikaci jsme spolecˇneˇ s my´m vedoucı´m za- mı´tli pro nı´zkou efektivitu a zbytecˇnou na´rocˇnost. Rozhodli jsme se jı´t jinou cestou a vyuzˇı´t takzvane´ stavebnı´ bloky (anglickyBuilding Blocks), ktere´ jsou soucˇa´stı´ MS Word.

Tato technologie mi umozˇnila efektivneˇji a pohodlneˇji pracovat s bloky textu˚, ktere´ se tak vlastneˇ staly stavebnı´mi bloky.

Jednotlive´ stavebnı´ bloky se ukla´dajı´ do Word sˇablony, kterou lze k dokumentu prˇipojit a vyuzˇı´vat tak jejı´ stavebnı´ bloky. Na´sledneˇ lze pomocı´ modelu WOM ke stavebnı´m bloku˚m jednodusˇe prˇistupovat a manipulovat s nimi.

Stavebnı´ bloky jsou rozdeˇleny do jednotlivy´ch galeriı´, ktere´ nelze meˇnit. Pro nasˇe pouzˇitı´

jsem ukla´dal bloky do galerieVlastnı´ 1. Programoveˇ jsou galerie urcˇeny vy´cˇtemWdBuild- ingBlockTypes. Nizˇsˇı´ u´rovnı´ deˇlenı´ jsou kategorie, ktere´ je jizˇ mozˇne´ vytva´rˇet vlastnı´.

4.4.3 Vkla´da´nı´ bloku˚ do dokumentu

Standardneˇ jdou vlastnı´ stavebnı´ bloky ve Wordu vkla´dat skrz Organiza´tor stavebnı´ch bloku˚, ktery´ se nacha´zı´ na karteˇVlozˇenı´-Rychle´ cˇa´sti-Organiza´tor stavebnı´ch bloku˚. Toto je vsˇak neprˇehledne´ rˇesˇenı´, a proto byly do ribbonu prˇida´ny rozbalovacı´ menu rozdeˇlene´

podle kategoriı´, ktere´ dynamicky nacˇı´tajı´ stavebnı´ bloky ze sˇablony.

// nacha´zı´me se ve trˇı´deˇ ThisAddIn

// tato metoda vlozˇı´ stavebnı´ blok na aktua´lnı´ pozici kurzoru

Application .Templates[”NazevSablony.dotx”].BuildingBlockTypes.Item(Word.WdBuildingBlockTypes.

wdTypeCustom1)

.Categories.Item(”NazevKategorie”).BuildingBlocks.Item(”NazevBloku”).Insert(Application.

Selection.Range);

Vy´pis 2: Prˇı´klad vlozˇenı´ stavebnı´ho bloku do dokumentu.

(19)

Stavebnı´ bloky nebyly to jedine´ co bylo potrˇeba do dokumentu vkla´dat. Pozdeˇji vznikl pozˇadavek na vkla´da´nı´ modelu˚ vytvorˇeny´ch v aplikaci MS Visio. Pro toto rˇesˇenı´ do ri- bonnu prˇibylo nove´ rozbalovacı´ menu, ktere´ dynamicky zobrazovalo seznam dostupny´ch Visio dokumentu˚.

Microsoft. Office . Interop .Word.Shape shapeVisio;

// vlozˇenı´ Visio objektu na aktua´lnı´ pozici

shapeVisio = m application.ActiveDocument.Shapes.AddOLEObject(Type.Missing, ”

CestaKdokumentu.vsd”, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.

Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Globals.ThisAddIn.

Application.Selection.Range);

// nastavenı´ obte´ka´nı´nahorˇe a dole

shapeVisio.WrapFormat.Type = Word.WdWrapType.wdWrapTopBottom;

Vy´pis 3: Prˇı´klad vlozˇenı´ Visio objektu do dokumentu.

Obra´zek 1: Vkla´da´nı´ stavebnı´ch bloku˚.

(20)

4.4.4 Vyhleda´va´nı´ dat z databa´ze

Prˇi vytva´rˇenı´ analy´z je nutnost doplnit do nich smysluplna´ data. K tomuto u´cˇelu je mozˇne´

do dokumentu vlozˇit dynamicke´ pole, ktere´ je identifikovatelne´ podle specia´lnı´ znacˇky a dı´ky nı´ ma´ prˇı´stup do databa´ze.

Toto specia´lnı´ dynamicke´ pole, pokud je aktivnı´, umozˇnı´ vyvolat vyhleda´vacı´ dialog (kliknutı´m na tlacˇı´tko v ribbonu nebo stiskem kla´vesy F3), do neˇhozˇ uzˇivatel zada´ vyh- leda´vany´ vy´raz a v seznamu se mu zobrazı´ relevantnı´ vy´sledky. Z databa´ze se vyhleda´va´

dle zacˇa´tku vyhleda´vane´ho vy´razu, vy´sledky se nacˇtou do kolekce a na´sledneˇ se fil- trujı´ pomocı´ LINQ. Toto rˇesˇenı´ jsem zvolil pro omezenı´ pocˇtu prˇı´stupu˚ do databa´ze, kdy nacˇteme za´znamy obsahujı´cı´ zacˇa´tek hledane´ho vy´razu a pak je vyfiltrujeme podle cele´ho vy´razu. Prˇi prˇida´nı´ znaku pak nenı´ potrˇeba posı´lat dotaz na databa´zi, ale stacˇı´ vyfiltrovat data ulozˇena´ v pameˇti. Po vybra´nı´ hodnoty ma´ uzˇivatel mozˇnost vlozˇit vyhledane´ data do dokumentu, nebo pokud v databa´zi nenı´ potrˇebna´ hodnota, tak ji mu˚zˇe vytvorˇit.

Hierarchie trˇı´d pro spolupra´ci s databa´zı´ je rozdeˇlena´ do trˇı´ vrstev:

1. SearchFromDB - Abstraktnı´ trˇı´da urcˇujı´cı´ databa´zovy´ objekt, pomocı´ ktere´ho se bude prˇistupovat k datu˚m.

2. SearchFromCRP- Abstraktnı´ trˇı´da specifikujı´cı´ zdroj dat (aktua´lneˇ je pouze jeden, do budoucna se pocˇı´ta´ s vı´ce). Implementuje zpu˚sob prˇipojenı´ ke zdroji dat.

3. SearchFromCRP... - Trˇı´da urcˇujı´cı´ typ vyhleda´vany´ch dat. Obsahuje SQL dotazy pro pra´ci s konkre´tnı´m typem dat.

SearchFromDB:

Prˇi spusˇteˇnı´ vyhleda´vacı´ho dialogu mi tato trˇı´da pomocı´ metody GetDBObject vra´tı´

konkre´tnı´ objekt, pomocı´ ktere´ho se budu prˇipojovat k databa´zi a prˇistupovat k datu˚m konkre´tnı´ho typu. Mimo jine´ si pamatuje poslednı´ vyhledanou hodnotu, pro kterou se prˇistupovalo do databa´ze a pomocı´ toho se rozhoduje zda se polozˇı´ dotaz na databa´zi nebo se vyhleda´ v datech, ktera´ jsou ulozˇena´ v pameˇti.

SearchFromCRP:

Tato trˇı´da jizˇ konkre´tneˇ specifikuje zdroj dat a implementuje metodyConnectaDisconnect. Mimo jine´ se stara´ o ukla´da´nı´ a aktualizaci dat o analy´za´ch.

SearchFromCRP...:

V te´to trˇı´deˇ jsou definova´ny SQL dotazy a metody pro zı´ska´va´nı´ dat z databa´ze. Data jsou ukla´da´na do pameˇti pro prˇı´padne´ dalsˇı´ pouzˇitı´ bez nutnosti prˇı´stupu do databa´ze.

(21)

Obra´zek 2: Trˇı´dnı´ diagram trˇı´d slouzˇı´cı´ pro vyhleda´va´nı´ dat v databa´zi.

(22)

4.4.5 Synchronizace sˇablon bloku˚ Aktualizace sˇablon bloku˚:

Tato funkce je velmi du˚lezˇita´. Z du˚vodu˚ sjednocenı´ vzhledu analy´z jsou sˇablony, obsahu- jı´cı´ stavebnı´ bloky, spravovane´ centra´lneˇ a ulozˇene´ ve sdı´lene´m adresa´rˇi. Prˇi spousˇteˇnı´

doplnˇku se prova´dı´ kontrola sˇablon a kdyzˇ jsou ve sdı´lene´m adresa´rˇi noveˇjsˇı´ sˇablony, tak se provede jejich stazˇenı´ do loka´lnı´ho uzˇivatelske´ho profilu. Stazˇene´ sˇablony se pak do Wordu prˇipojı´ a jsou dostupne´ pro pra´ci i offline. Stahujı´ se nejen sˇablony se stavebnı´mi bloky, ale i sˇablony Visio modelu˚. Funkci lze vyvolat i dodatecˇneˇ stiskem tlacˇı´tka v rib- bonu. Ikona tlacˇı´tka aktualizace indikuje stav aktua´lnosti sˇablon.

Jelikozˇ se tato akce prova´dı´ prˇi spousˇteˇnı´ doplnˇku, bylo nutne´ prˇi implementaci te´to funkce dba´t na rychlost aktualizace a to zvla´sˇt’prˇi nedostupnosti sdı´lene´ho adresa´rˇe (uzˇi- vatel je mimo firemnı´ sı´t’). Prˇi kontrole dostupnosti sdı´lene´ho adresa´rˇe se aplikace snazˇı´

prˇipojit neˇkolikra´t a dlouho trva´ nezˇ nastane vy´jimkaDirectoryNotFoundException. Pro vyrˇesˇenı´ tohoto proble´mu se nejdrˇı´ve kontroluje dostupnost serveru pomocı´ prˇı´kazu PINGs maly´m timeoutem.

Publikace sˇablon:

Funkce publikace sˇablon ulehcˇuje pra´ci prˇi nahra´va´nı´ sˇablon na server do sdı´lene´ho adresa´rˇe. Uzˇivatel tak mu˚zˇe po u´prava´ch bloku˚ jednodusˇe distribuovat sˇablonu prˇı´mo z Wordu. Navı´c se z bezpecˇnostnı´ch du˚vodu˚ prˇi vyvola´nı´ te´to funkce prova´dı´ na serveru za´loha prˇedchozı´ sˇablony. Tlacˇı´tko pro publikaci se nacha´zı´ u editacˇnı´ch na´stroju˚. V imple- mentaci bylo potrˇeba osˇetrˇit chyby s prˇı´stupovy´mi pra´vyWRITEdo sdı´lene´ho adresa´rˇe, protozˇe ne vsˇichni uzˇivatele´ tyto pra´va majı´.

4.4.6 Vytvorˇenı´ na´stroju˚ pro editaci bloku˚ textu˚

Pro co nejjednodusˇsˇı´ manipulaci se stavebnı´mi bloky byla vytvorˇena skupina na´stroju˚

umozˇnˇujı´cı´ vytva´rˇenı´ a editaci bloku˚.

Vytvorˇenı´ nove´ho bloku:

Pro vytvorˇenı´ nove´ho stavebnı´ho bloku stacˇı´ oznacˇit text, ktery´ bude tvorˇit obsah a stisknout tlacˇı´tkoNovy´ bloknacha´zejı´cı´ se v ribbonu. Ve vyvolane´m dialogu pak vyplnit potrˇebne´ u´daje jako je na´zev a kategorie a stisknout tlacˇı´tkoUlozˇit.

Implementace te´to funkce byla velice jednoducha´. Stacˇilo pomocı´ WOM prˇistoupit ke stavebnı´m bloku˚m a vlozˇit mezi neˇ novy´ blok.

Aktualizace bloku:

Aktualizace stavebnı´ho bloku musı´ probı´hat pomocı´ galerie stavebnı´ch bloku˚, do ktere´ je blok vlozˇeny´, aby byl identifikovatelny´. Pak jej stacˇı´ upravit a potvrdit tlacˇı´tkemAktuali- zovat blok.

(23)

V te´to implementaci je du˚lezˇita´ identifikace stavebnı´ho bloku. Text v dokumentu nenı´

nijak identifikovatelny´, proto se blok musı´ vlozˇit do galerie stavebnı´ch bloku˚, dı´ky ktere´ je identifikovatelny´ dle sve´ho na´zvu a kategorie. Samotna´ aktualizace pak probı´ha´ ulozˇenı´m bloku pod stejny´m na´zvem.

Obra´zek 3: Na´stroje pro editaci stavebnı´ch bloku˚.

4.4.7 Implementace filtru˚ textu˚

Analy´zy mohou obsahovat texty psane´ ru˚zny´mi styly slouzˇı´cı´ k ru˚zny´m u´cˇelu˚m. Neˇktere´

texty vsˇak nejsou pro neˇktere´ uzˇivatele du˚lezˇite´ a pro prˇehlednost si je mohou nechat z dokumentu odfiltrovat pomocı´ prˇepı´nacı´ch tlacˇı´tek v ribbonu. Stisk prˇepı´nacˇe nastavuje u stylu vlastnost fontuHidepodle stavu prˇepı´nacˇe.

Obra´zek 4: Filtry pro skrytı´ textu˚.

4.4.8 Nasazenı´ aplikace na klientske´m pocˇı´tacˇi

Pro nasazenı´ aplikace na klientske´m pocˇı´tacˇi jsem zvolil technologiiClickOnce. Instalace se nespousˇtı´ souboremSetup.exe, protozˇe neˇkterˇı´ uzˇivatele´ nemajı´ pra´va na instalaci sys- te´movy´ch komponent (v tomto prˇı´padeˇ se jedna´ o .NET Framework a VSTO Runtime).

Proto byly prerekvizity instalova´ny vzda´leneˇ ze serveru pomocı´ politik. Spusˇteˇnı´ instalace pak probı´ha´ pomocı´ souboru s koncovkou.vsto.

(24)

5 Zı´skane´ a scha´zejı´cı´ znalosti

5.1 Technologie VSTO

S touto technologiı´ jsem nemeˇl zˇa´dne´ zkusˇenosti, ale nynı´, po absolvova´nı´ odborne´ praxe, mu˚zˇu prohla´sit, zˇe jsem zı´skal dostatecˇny´ za´klad pro pokracˇova´nı´ ve vy´voji aplikacı´

pomocı´ VSTO.

5.2 Pra´ce v ty´mu

S pracı´ v ty´mu jsem nemeˇl prakticky zˇa´dne´ zkusˇenosti. Musel jsem se naucˇit komunikovat s konkre´tnı´mi lidmi o konkre´tnı´ch proble´mech. Z pocˇa´tku jsem neveˇdeˇl, ktere´ informace jsou du˚lezˇite´ a neprobral jsem je s my´m konzultantem. Takovy´ postup je ale chybny´ a nynı´ vı´m, zˇe je vzˇdy lepsˇı´ si ujasnit vsˇechny veˇci prˇed zacˇa´tkem samotne´ implementace.

5.3 Vy´voj s vyuzˇitı´m ty´movy´ch na´stroju˚

Pro vy´voj aplikace jsme vyuzˇı´vali Microsoft Team Foundation Server. Do budoucna se chci zaby´vat vy´vojem aplikacı´ pomocı´ technologie .NET a zkusˇenosti s vy´vojem pomocı´

TFS jsou pro meˇ velice cenne´.

(25)

6 Za´veˇr

Cı´lem te´to pra´ce bylo vytvorˇit rozsˇirˇujı´cı´ aplikaci pro Microsoft Office Word 2007, ktera´

by usnadnˇovala pra´ci prˇi tvorbeˇ analy´z. Vy´voj aplikace probı´hal dynamicky v za´vis- losti na prˇiby´vajı´cı´ch pozˇadavcı´ch. Postupem cˇasu se z vy´voje stal oficia´lnı´ projekt, ktere´mu byl prˇirˇazen projektovy´ manazˇer a tester. Aktua´lneˇ je aplikace vyuzˇı´va´na za- meˇstnanci spolecˇnosti, kterˇı´ majı´ mozˇnost vytva´rˇet dalsˇı´ na´vrhy na novou funkcionalitu.

Ma´ spolupra´ce na vy´voji tohoto doplnˇku bude pokracˇovat i nynı´ po ukoncˇenı´ praxe.

Do budoucna se pla´nuje vytvorˇit novy´ doplneˇk pro dalsˇı´ aplikaci z balı´ku MS Office, konkre´tneˇ se jedna´ o aplikaci Visio.

Absolvova´nı´m odborne´ praxe jsem zı´skal mnoho cenny´ch zkusˇenostı´, ktere´ v budoucnu jisteˇ vyuzˇiji. Dı´ky pra´ci v kolektivu jsem se naucˇil postupu˚m prˇi vy´voji aplikace v soft- warove´ spolecˇnosti. V ra´mci praxe jsem absolvoval sˇkolenı´ o bezpecˇnosti informacı´ (ISMS) a zı´skal jsem tak na´hled do te´to problematiky, na kterou je ve veˇtsˇı´ch spolecˇnostech kladen veliky´ du˚raz.

Z du˚vodu ochrany ”know-how”spolecˇnosti jsem v te´to pra´ci nemohl uve´st podrobne´

informace o rˇesˇenı´ neˇktery´ch u´kolu˚. S vy´sledkem me´ pra´ce jsem spokojen a jsem ra´d, zˇe jsem doka´zal vytvorˇit aplikaci, ktera´ je uzˇivateli aktivneˇ vyuzˇı´va´na.

Jakub Kulhavy´

(26)

7 Reference

[1] Carter, Eric, Lippert, Eric,Visual Studio Tools for Office 2007: VSTO for Excel, Word, and Outlook, Addison-Wesley Professional, 2009.

[2] Microsoft,Microsoft Development Network, [ONLINE].

URL:http://msdn.microsoft.com/

[3] KVADOS,Stra´nky spolecˇnosti KVADOS, a.s., [ONLINE].

URL:http://www.kvados.cz/

[4] KVADOS,Porta´l Kvadopedie, [ONLINE].

URL:http://kvadopedie.kvados.cz/

Odkazy

Související dokumenty

Hlavnı´ cˇa´st pra´ce popisuje nejdu˚lezˇiteˇjsˇı´ rysy frameworku ExtJS a jeho rozsˇı´rˇenı´, ktere´ bylo vytvorˇeno za u´cˇelem zjednodusˇenı´ vy´voje

U poslednı´ho u´kolu, kde jsem zobrazoval 3D model vy´robku v Silverlight, jsem vyuzˇil toho, zˇe jsem meˇl mozˇnost v Silverlighu jizˇ drˇı´ve pracovat. Bohuzˇel

Jako svu˚j prvnı´ u´kol jsem dostal vytvorˇenı´ aplikace, ktera´ slouzˇı´ pro nasazenı´ na termina´ly s dotykovou obrazovkou.. Karta vytvorˇena´ tı´mto

S programova´nı´m v Ruby jsem uzˇ zkusˇenosti meˇl, avsˇak s Ruby on Rails jsem se musel nejdrˇı´ve sezna´mit.. Zezacˇa´tku pro meˇ bylo obtı´zˇne´ pracovat s

S prvnı´mi zmeˇnami jsem se setkal jizˇ prˇi pocˇa´tecˇnı´ch na´vrzı´ch datove´ struktury, kdy bylo nutne´ prove´st neˇkolik desı´tek ru˚zny´ch modifikacı´, cozˇ

V druhe´ cˇa´sti jsem meˇl mozˇnost pracovat na pozici programa´tora, kde bylo my´m u´kolem vyvinout konektor umozˇnˇujı´cı´ synchronizaci dat mezi FlexiBee online a

Spolecˇneˇ se zada´nı´m jsem dostal i prˇı´klad dynamicke´ masky ulozˇenou ve forma´tu XML, protozˇe jsem se beˇhem studia se slozˇiteˇjsˇı´mi XML soubory nesetkal a

Ja´ osobneˇ jsem s nı´m meˇl jizˇ take´ neˇjake´ zkusˇenosti, a proto jsem si musel nejprve sta´hnout PyDev, cozˇ je plugin rozsˇirˇujı´cı´ Eclipse o pra´ci