Docstoc

Rapport

Document Sample
Rapport Powered By Docstoc
					Rapporttype:             Produktrapport
Afleveringsdato:         13-11 2009
Eksemplarer:             3
Vejleder:                Finn E. Nordbjerg
Semester:                5
Fag:                     Hovedopgave
Projekttitel:            Exponet Arkiverings System
Projecttitle:            Exponet Archiving System
Klasse:                  DM62-63
Skole:                   Nordjyllands Erhvervsakademi

Udarbejdet af:           Heine Dueholm, Kristian Kvist og Jesper Liver




Heine Dueholm      Jesper Liver               Kristian Kvist
Gruppe 9                                                                                                                                Produkt rapport
Montes                                                                                                                          Vejleder: Finn Nordbjerg
5. semester                                                             Hovedopgave                                                   Afleveret: d 13/11


Indholdsfortegnelse
Problemformulering ................................................................................................................................... 5
Organisation.................................................................................................................................................. 7
Karakteristik.................................................................................................................................................. 7
Interview med virksomheden ................................................................................................................ 8
Interessenter ................................................................................................................................................ 9
   Ledelse ........................................................................................................................................................ 9
   Medarbejderne ......................................................................................................................................... 9
Det nuværende system .......................................................................................................................... 10
Problemanalyse ......................................................................................................................................... 11
IT-strategi .................................................................................................................................................... 12
   IT-vision ....................................................................................................................................................... 12
   Teknologi .................................................................................................................................................. 13
   Organisationen ....................................................................................................................................... 14
   IT-handlingsplan ................................................................................................................................... 14
Cost-Benefit analyse ................................................................................................................................ 15
   Cost-Benefit analyse ............................................................................................................................ 15
   Direkte målelige omkostninger ....................................................................................................... 15
Konklusion på foranalyse ....................................................................................................................... 17
       Forskellen på Windows SharePoint Services & Microsoft Office SharePoint Server 20
Brugergrænseflade ................................................................................................................................... 20
Søgning ......................................................................................................................................................... 22
Sikkerhed ..................................................................................................................................................... 23
Kompatibel ...................................................................................................................................................... 24
       Kompabilitet med Windows 7....................................................................................................... 24
       Kompabilitet med Mac .................................................................................................................... 25
Webparts ...................................................................................................................................................... 25
Integration med Office ............................................................................................................................ 27
Microsoft SharePoint 2010 .................................................................................................................... 28
Alternative løsninger til Mail – Arkivering ....................................................................................... 29
Delkonklusion ............................................................................................................................................. 30


                                                                          Side 2 af 93
Gruppe 9                                                                                                                                Produkt rapport
Montes                                                                                                                          Vejleder: Finn Nordbjerg
5. semester                                                             Hovedopgave                                                   Afleveret: d 13/11

Funktionelle krav....................................................................................................................................... 31
       Intranet ................................................................................................................................................. 31
       Outlook.................................................................................................................................................. 31
       Fjernadgang ........................................................................................................................................ 31
Ikke-funktionelle krav ............................................................................................................................. 32
Use cases ..................................................................................................................................................... 34
   Use Case diagram ................................................................................................................................. 36
Detaljeret beskrivelse af Use Cases .................................................................................................. 37
Afgrænsning ................................................................................................................................................ 41
Experiment: Hvordan installeres Windows SharePoint Services 3.0 under Vista? ......................................... 43
Experimenter med Windows SharePoint Services (WSS) ......................................................... 44
   Direkte løsning ....................................................................................................................................... 44
   Client -> Server løsning ..................................................................................................................... 45
Proxy løsning .............................................................................................................................................. 45
Webservice løsning................................................................................................................................... 45
Database .......................................................................................................................................................... 47
   Arkitekturovervejelse .......................................................................................................................... 49
       Kodestandard ..................................................................................................................................... 50
   Patterns .................................................................................................................................................... 51
Implementering af Outlook Add-In .................................................................................................... 53
   Introduktion ............................................................................................................................................ 53
   Hvad kræves der?................................................................................................................................. 53
   Opstart af Visual Studio Office add-in projekt........................................................................... 54
   Menuer ...................................................................................................................................................... 56
   GUI ............................................................................................................................................................. 59
   Komplekse kode segmenter ............................................................................................................. 61
       getToEmailFromHeader()............................................................................................................... 61
       Samtidighed ved DB transaktioner ............................................................................................ 62
       getMessageIdFromInternetHeader() ......................................................................................... 64
       ClickOnce publisering ...................................................................................................................... 65
       Manuel signering ............................................................................................................................... 66
Administration tool ................................................................................................................................... 68



                                                                          Side 3 af 93
Gruppe 9                                                                                                                                 Produkt rapport
Montes                                                                                                                           Vejleder: Finn Nordbjerg
5. semester                                                             Hovedopgave                                                    Afleveret: d 13/11

Web part ....................................................................................................................................................... 70
Design SharePoint .................................................................................................................................... 70
   Forløbet for vores webpart ................................................................................................................ 71
       Gui ekstra Funktionalitet. .............................................................................................................. 72
Oprettelse af webpart. .................................................................................................................................... 75
Performance Tests .................................................................................................................................... 83
   TEST ............................................................................................................................................................. 84
Scenarietest ..................................................................................................................................................... 85
   Kompabilitets test med Windows 7 ............................................................................................................ 88
Dubletter ......................................................................................................................................................... 89
Overflytning af eksisterende kunde-data ........................................................................................................ 89
Fremlæggelse Montes 05-11 2009 .................................................................................................... 90
Fremvisning hos EXPO-NET 05-11 2009. ........................................................................................................ 90
   Oplæg af Jakob fra Montes omkring SharePoint ...................................................................... 91
   Spørgsmål?.............................................................................................................................................. 91
   Forbedringer til Add-in’et ................................................................................................................... 91
       Konklusion på demonstration ................................................................................................................. 91




                                                                          Side 4 af 93
Gruppe 9                                                                           Produkt rapport
Montes                                                                     Vejleder: Finn Nordbjerg
5. semester                                  Hovedopgave                         Afleveret: d 13/11

Indledning

Denne hovedopgave er udarbejdet i fællesskab med Montes A/S i Hjørring. Vi har fået
stillet en opgave til udvikling af en arkiveringsapplikation, som fungerer som et add-in
til Microsoft Outlook 2007. Dette modul, vil Montes A/S gerne have udviklet til en
kunde, som har forespurgt om en løsning til deres IT-system. Dette skal integreres
med Windows SharePoint Services, hvor man vil arkivere al mail-korrespondance og
øvrige filer, som EXPO-NET A/S har med deres kunder. Montes A/S har givet udtryk
for, at de selv er interesseret i at bruge denne tilføjelse til Outlook, samt overføre det
til andre virksomheder, som benytter SharePoint i det daglige.



Problemformulering

Vi skal udvikle et mail-arkiveringssystem, baseret på Microsoft Office (Outlook) og
SharePoint teknologien. Der vil især blive lagt vægt på processen, dokumentationen
og udviklingen af et add-in til Outlook 2007 til håndtering af mail-korrespondance
mellem virksomheden og deres kunder. Mails skal kunne arkiveres fra Outlook via
Exchange serveren til SharePoint. Derudover vil vi også kigge på, udviklingen af en
webpart i Visual Studio til SharePoint.


Vi udvikler applikationen i samarbejde med Montes A/S for EXPO-NET Danmark A/S.


Mail-modulet skal udvikles i Microsoft .Net.


                 Hvordan implementerer vi et nyt mail-arkiveringssystem i SharePoint
                  Services?
                 Hvordan udvikler vi web-parts til SharePoint Services?
                 Hvad kræves der, for at kunne eksportere en mail fra Outlook til
                  SharePoint?
                 Kan   vi    udvikle   en   velfungerende   applikation     til   Outlook,     så
                  mailprogrammet automatisk arkiverer mails (såvel modtagne som
                  afsendte), og vedhæftede filer i respektive kundemapper på SharePoint
                  Services?



                                             Side 5 af 93
Gruppe 9                                                                           Produkt rapport
Montes                                                                     Vejleder: Finn Nordbjerg
5. semester                                   Hovedopgave                        Afleveret: d 13/11

                 Hvordan tilføjer vi et add-in til Outlook, til arkivering af mails til
                  SharePoint?
                 Hvordan undgår vi dubletter i mail-arkivet?
                 Hvordan sørger vi for opfølgning på ikke arkiverede mails (nye kunder
                  o.lign.)?
                 Hvordan fremtidssikrer vi systemet til Windows 7 og fremad?
                 Hvordan overfører vi de gamle data, fra det oprindelige system til det
                  nye?



Forstudie

EXPO-NET Danmark A/S er et ægte ejerledet familieaktieselskab. Selskabet er stiftet i
1959 og drives i dag af far og søn, John og Lars Klinkby.


Virksomheden har specialiseret sig i produktion af plastnet i rør- og fladform,
indenfor bl.a. haveartikler, industri, indpakning, bioblokke og filtrering. 65 % af
produktionen går til eksport og 35 % går til hjemmemarkedet. Varesortimentet består
af   700      forskellige     produkter.   bl.a.   kan   man   nævne   kendte   produkter    som
regnvandsfaskiner og tagrendenet.




Hovedsædet ligger i Hjørring, hvor produktionen også foregår. Derudover er der
salgsafdelinger fordelt i Frankrig og England. Den danske afdeling dækker den øvrige
verden.


EXPO-NET A/S er en virksomhed i stadig vækst. De har en evne til at skabe nye
produkter, via innovation og produktudvikling, gennem et tæt samarbejde med deres
kunder. 70 % af det, som virksomheden producerer, er specialfremstillet. Derved har
de vundet markedsandele verden over. EXPO-NET A/S er den trejde til fjerde største
netproducent i Europa


                                               Side 6 af 93
Gruppe 9                                                                             Produkt rapport
Montes                                                                       Vejleder: Finn Nordbjerg
5. semester                                  Hovedopgave                           Afleveret: d 13/11



Virksomheden har 70 medarbejdere, hvor produktionen i Hjørring kører på tre-holds-
skift.



Organisation




Karakteristik

Organisationsdiagrammet for EXPO-NET Danmark A/S er bygget op efter linie-
princippet. Øverst sidder de to direktører Lars Klinkby og John Klinkby. Det er en
rimelig overskuelig organisation på fem niveauer og et kontrolspænd på op til seks.
Linieprincippet giver en klar definition af fordeling af myndighed og ansvar. Fordelen
ved dette er, at medarbejderen altid ved, hvem ens direkte overordnede er.

Kommunikationslinierne er klare og de overordnede har direkte kontakt til øvrige
afdelinger. Ulempen er, at det stiller store krav til lederen til koordinering af arbejdet
og hans viden. Derudover kan der forekomme lange kommunikationslinier, med de
ulemper, det kan medføre.

Den      horisontale   arbejdsdeling    er    kombination    af   det   funktionelle   (Regnskab,
Sekretariat,logistik    og   Salg)     og    det   objektorienterede    (Salgsafdelinger     opdelt
geografisk). Dette ses normalt i større virksomheder. Fordelene ved den funktionelle


                                              Side 7 af 93
Gruppe 9                                                                           Produkt rapport
Montes                                                                     Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                             Afleveret: d 13/11

arbejdsdeling er, at man udnytter specialisters viden optimalt og kan udføre ensartede
arbejdsudførelser.

Fordelen ved det objektorienterede er, at hver afdeling kan specifikt koncentrere sig
om sit område, og selv kan koordinere sine arbejdsopgaver og fastsætte sine mål.
Ulempen er at, hver afdeling tit råder over medarbejdere med samme viden og det er
vanskeligt, at udføre standardiserede principper for arbejdets udførsel.



Interview med virksomheden
Første    møde    havde    vi   med   virksomhedens      ene   direktør,   Lars   Klinkby.    Her
præsenterede han virksomheden samt deres nuværende system og arbejdsmetode.
Expo-net Danmark A/S benytter sig af Windows XP som styresystem, og MS office
2007, dog med den undtagelse at Outlook kører i 2002-versionen. Grunden til dette
er, at man i denne version, har mulighed for at gemme mails direkte over i sin
stifinder, ved at højreklikke på den ønskede mail, eller ved hjælp af drag-and-drop.

De har indført en uformel form for datadisciplin, så man som medarbejder ved, hvem
der har ansvaret for arkivering af mails. Derudover er it-reglerne for virksomheden
beskrevet i deres personale-håndbog, som alle medarbejdere har fået udleveret eller
er blevet gjort bekendt med.

Det kunne dog give nogle problemer, i kraft af usikkerhed om, at mails rent faktisk
blev arkiveret, eller også oplevede man dubletter samt et stort tidsforbrug ved at
finde en konkret mail, da man kun kan se mailens header og ikke indholdet i fil-
strukturen.

EXPO-NET A/S har derfor givet os følgende kravsspecifikation:


        Et enkelt og brugervenligt system.
        Samme mappe-struktur, som i deres nuværende system.
        Undgå mail-dubletter
        Det skal være muligt, at        lagre   alle    former for fil-typer i SharePoint
         mappestrukturen. (word, Excel, billeder mm.)
        Automatisk arkivering direkte fra Outlook.
        Åbent system, med administrering af brugerrettigheder og gruppepolitikker.
        Styr på filer i arkivet, så overskrivninger undgås. (Versionsstyring).


                                          Side 8 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                        Afleveret: d 13/11

      Indholdet af mailen skal kunne ses i et separat vindue under mail-oversigten (i
       SharePoint).
      Engelsk sproget.




Interessenter
Vi har valgt, at kigge på interessenter i virksomheden, som vil blive berørt af
indførelsen af et intranet bygget på SharePoint. De opdeles i to grupper: Ledelsen og
medarbejdere.

Ledelse
Ledelsen vil gerne se en effektivisering i arbejdsgangen, men den vigtigste faktor er
sikkerhed, stabilitet og kurante data. I dag bruges mail til korrespondance mellem
virksomheden og dens kunder. Her vil der blive fremsendt tilbud, ordrer og andre
aftaler. Derfor er det yderst vigtigt, at man kan dokumentere den konkrete ordlyd i
korrespondancen, ved at arkivere al kommunikation.         Ellers kan det koste mange
penge på bundlinien.

Derudover vil man også se fordelen, ved at skabe en fælles platform, som kan samle
hele virksomhedens IT-system i et overskueligt og enkelt lay-out. EXPO-NET’s ledelse
må derfor tage stilling til, hvor vidt de vil implementere et intranet i virksomheden og
hvor omfattende det skal være. Med tiden er de nødt til at skifte til et mere
tidssvarende operativ system, da Windows XP langsomt bliver udfaset.

Ved udvikling af et specielt mail-modul til Windows SharePoint Services, samt
tilpasning    af   Outlook,   med   automatiserede    arkiveringsprocesser    og    aktive
meddelelsesbokse, sørger for at proceduren omkring mail-arkivering forenkles og
effektiviseres. Dette vil give den effektivitet, stabilitet og kurante data, som ledelsen
ønsker.

Medarbejderne
Ved indførsel af et SharePoint Services intranet, vil man give medarbejderne et nyttigt
værktøj til det daglige arbejde, da man samler hele virksomhedens IT-system på en
platform. Det skulle gerne give en forenklet og overskuelig arbejdsgang.




                                       Side 9 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11

Samtidig kan medarbejderen tilpasse sit web-interface til sine egne behov, som
derved gør den mere personlig. Dette vil give en positiv oplevelse, ved at indføre og
arbejde med det nye system.



Det nuværende system

Expo-net Danmark A/S bruger et ældre operativ system. Windows XP. Grunden til
dette, er at man i virksomheden har en lidt konservativ holdning, samt deres
afhængighed af sikre data, især i forhold til deres mail-korrespondence. Derfor vil
man ikke gå ud, og anskaffe sig et nyt styresystem, så snart det det næste kommer.
Filosofien kan kaldes:

” Man ved, hvad man har. Man ved ikke, hvad man får!”

Lars Klinkby sammenlignede det med biler, at en ny model, altid vil have en del fejl i
den første udgave, som så løbende bliver rettet til i kraft med erfaring og tid.

De vægter stabilitet og at besidde kurante data meget højt. Dokumentation af
korrespondance og aftaler med kunder er yderst vigtig. Det kan koste firmaet mange
penge, ved ikke at kunne bevise tidligere aftaler i en sag, hvis der skulle blive
uoverensstemmelser.

EXPO-NET A/S har oparbejdet et arkiv af kundemails siden 1998 fra hele verden.
Dette arkiv er placeret som en fil på virksomhedens computer-drev. Alle har tilgang til
disse filer, og er tilføjet som et site-view i Outlook 2002. Når Outlook er åbent vil man
derved kunne se stifinderens mappestruktur, som en træstruktur i venstre side af
Outlook-vinduet. Ved modtagelse af mails, er det derved nemt, at kopiere mailen og
dens indhold over til den korrekte mappe.

Dette er kun muligt i version 2002, og ikke i 2007, af sikkerhedsmæssige årsager.
Virksomheden får derved problemer, hver gang de anskaffer sig en ny computer, da
man skal installere Outlook version 2002 i stedet for Outlook 2007, men benytter den
resterende del af MS Office 2007 pakken. Dette bliver ikke nemmere med tiden, og
på et eller andet tidspunkt, bliver man nødt til, at skulle investere i et nyt
styresystem, da XP vil blive forældet og udfaset.




                                       Side 10 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11

Montes A/S fungerer i dag som leverandør af IT-løsninger til EXPO-NET A/S. De har
foreslået, at indføre SharePoint Services i virksomheden, som et fælles intranet-site,
for især at udnytte fordelene ved at kunne finde og dele oplysninger . Tilgangen til
intranettet administrerer man ved hjælp af bruger-profiler og rettigheder. Samtidig
giver det EXPO-NET A/S frihed, til selv at vælge, hvornår de vil indføre et nyt operativ
system i virksomheden, da WSS kan bruges på det eksisterende IT-system.
SharePoint Services vil udelukkende køre på virksomhedens server og tilgås via en
browser fra en klient.

Vores opgave som gruppe, er at udvikle et add-in til Outlook 2007 og en web-part til
SharePoint, som kan håndtere og arkivere mails fra virksomheden og deres kunder.
Derved vil EXPO-NET A/S opnå samme funktionalitet som i det hidtidige system, samt
fuld udnyttelse af hele MS Office 2007 pakken.

Yderlige undgås tilpasning af computere ved nyindkøb, samt en nem tilgang til, at
indføre et nyt operativt system, så snart virksomheden finder det nødvendigt.



Problemanalyse

For at beskrive de nuværende problemer, der kan opstå i det eksisterende system,
har vi listet de forskellige problemstillinger op i en tabel, med angivelse af hypoteser
og løsningsmuligheder.




Problemer, Hypoteser og løsningsmuligheder
Problemer                   Hypoteser                      Løsningsmuligheder
Risiko for at mails ikke    Uformelle aftaler og kort      Automatisk arkivering fra
bliver arkiveret            beskrevne regler beskrevet     Outlook til SharePoint,
                            i en medarbejder håndbog.      vha. en scanner der
                            Manuel procedurer              tjekker nye mails, så snart
                            omkring arkivering af mails    Outlook åbnes eller nye
                                                           mails modtages. Udfra
                                                           kendte kundedata arkivet
                                                           på en database, arkiveres
                                                           der direkte til den korrekte
                                                           mappe i SharePoint. Hvis
                                                           mailen er ny eller på anden
                                                           måde ukendt for systemet,
                                                           vil en arkiveringsprocedure
                                                           guide brugeren til den


                                      Side 11 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                         Afleveret: d 13/11

                                                           korrekte arkivering.
                                                           Systemet tilføjer de
                                                           relevante data til
                                                           databasen
Risiko for dubletter        Mangel på datadisciplin        Ved markering af mail i
                            eller ”for at være på den      Outlook, at mailen er
                            sikre side”, eller             arkiveret. Ved dubletter
                            manglende procedurer           (To klienter modtager
                                                           samme mail) vil der
                                                           automatisk blive tjekket
                                                           om mailen er arkiveret, og
                                                           markering og besked
                                                           returneres til Outlook på
                                                           den bruger, som forsøger
                                                           at arkivere
Svært at finde konkrete     Headeren af mailen er det      Header og indhold blive
mails                       eneste, der er synligt i       vist, ved åbning af mails i
                            mappe-strukturen. Der          webparten i SharePoint
                            gives ingen information om     eller under SharePoint-
                            indhold                        lister i mappestrukturen i
                                                           Outlook.
Søgning og katagorisering   Der findes ingen               SharePoint har indbygget
på mails                    søgefunktion og                en søgefunktion, til
                            kategorisering til at finde    angivelse af søgeord og
                            konkrete mails.                tilpasning af
                                                           søgefunktionen er
                                                           integreret i SharePoint.
Overskrivning af filer      Fare for at tidligere udgave   Versionsstyring ligger
                            af en mail bliver              indbygget i SharePoint.
                            overskrevet af en senere
                            version. Risiko for tab af
                            vedhæftede filer.




IT-strategi
En IT-strategi beskriver EXPO-NET A/S ønsker for, hvad man vil opnå ved det nye
system. IT-strategien tager udgangspunkt i en IT-vision, men beskriver også forhold
på teknologien og organisationen

IT-vision
EXPO-NET A/S har behov for et overskueligt IT-system, som bygger på det
oprindelige system. Fokus er rettet på at fremtidssikre arkiveringen af mail-
korrespondance og øvrige dokumenter med virksomhedens kunder. Dette skal gøres
ved at effektivere og forenkle processen, ved at indbygge automatiske processer og


                                     Side 12 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                           Afleveret: d 13/11

tilføje et web-orienteret interface, som samtidig gør tilgangen til dokumenter
uafhængigt af platform eller operativsystem. Ved brug af SharePoint opnås en
professionelt og overskueligt platform til administration og tilgang til programmer og
filer på tværs af organisationen, som samtidigt er godt integreret med Microsoft Office
2007. Der opnås en udvidet og forbedret søgefunktion, som gør søgning af konkrete
filer meget hurtigere.   Derudover tilføjes der ekstra funktionalitet til Outlook 2007,
som automatiske arkivering og aktive dialog bokse, til at guide og effektivisere
brugeren til at foretage korrekt mail-arkivering.

Teknologi
I dag har EXPO-NET A/S et IT-system, som består af fem fysiske Windows Server
2003. Som beskrevet i diagram nr. _ består It-systemet af følgende: Windows SQL-
server 2005, MS Exchange server 2003, en terminal server til Hjemmearbejdspladser
og det udenlandske afdelingskontor i England. Telefonserver med voicemail samt en




fil-server.   Expo-net   benytter   Windows    XP      Pro   som   styresystem    på    deres
arbejdsstationer.

Montes A/S har tilbudt EXPO-NET A/S at indføre SharePoint Services, som kan
integreres i virksomhedens nuværende IT-system. Muligvis skal man overveje, om
man vil anskaffe sig en ekstra server til implementering af SharePoint, eller at
installere det på en fungerende server, hvor der i forvejen er installeret en SQL-


                                       Side 13 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                          Afleveret: d 13/11

database. Teknologien sætter krav til, at virksomheden benytter Microsoft Server
2003, som virksomheden allerede har, og at klienterne anvender Microsoft Outlook
2007. Med tiden skal EXPO-NET A/S vurdere, hvilet operativt system, man vil
anvende, da alderen er ved at indhente det nuværende.

Organisationen
EXPO-NET A/S har ikke nogen IT-afdeling og bruger derfor Montes A/S som deres
sparringspartner til vedligeholdelse og opsætning af deres IT-system. Montes vil stå
for formidlingen og introduktionen til SharePoint Services. SharePoint teknologien
bygger på en simpel platform til vedligehold og udbygning, som gør at folk, som ikke
har den store erfaring med SPS, hurtigt vil kunne administrere dette. Dog vil der være
behov for Montes, hver gang der skal foretages større ændringer eller tilføjelser til
SharePoint.

IT-handlingsplan

IT-strategien skal udmøntes i en IT-handlingsplan, som er et redskab til at styre og
strukturere arbejdet mod at nå de opstillede mål for et tidssvarende og mere
fremtidssikret IT-system. På baggrund af de tidligere analyser, kan et intranet
opbygget på SharePoint være løsningen til at fremtidssikre mail-arkivering. EXPO-NET
skal overveje, om man vil indføre et intranet opbygget på Windows SharePoint
Services.

Overgangen fra den oprindelige IT-struktur, vil nok kræve en indkørings- og
tilpasningsperiode. Man kan vælge at lave en skæringsdato, hvorfra man vælger at
benytte SharePoint, som platform til arkivering af mails. Her skal tages stilling til, i
hvor vidt, man vil udbygge sit intranet. Om det skal indeholde de basale
arkiveringsmapper eller det skal udbygges fuldt ud til at være EXPO-NET’s interne
hjemmeside, med samling af alle dokumenter, lister, kalendere mm. Tidligere
arkiverede mails og dokumenter, kan enten bevares i det oprindelige system eller
kopieres over i det nye. Det kræver dog, at en person manuelt varetager denne
proces, da det ikke umiddelbart kan integreres til det nye system.

Intranettet kan udbygges i takt med, at man får opbygget fortroligheden til systemet,
så man derved kan tilføje nye funktionaliteter og services. Dette giver brugerne en
glidende tilvænning til systemet, så det hele ikke kommer på en gang.


                                      Side 14 af 93
Gruppe 9                                                              Produkt rapport
Montes                                                        Vejleder: Finn Nordbjerg
5. semester                        Hovedopgave                      Afleveret: d 13/11




Cost-Benefit analyse

Vi har udarbejdet følgende Cost-Benefit analyse, for at bekskrive den økonomiske
konsekvens for EXPO-NET A/S ved investering i systemet.




Cost-Benefit analyse



Direkte målelige omkostninger
Investerings- og udviklingsomkostninger
Udstyr- og programanskaffelse   Man har brug for et program. Microsoft
                                SharePoint Services, som er gratis. Yderligere
                                softwares som Microsoft server 2003 Exchange
                                server og SQL-server er integreret I
                                virksomheden, og derved betaler virksomheden
                                allerede til disse licenser.
                                Derfor vil EXPO-NET A/S ikke opleve behov for
                                store investeringer til programmer. Dog vil der
                                være en udgift til opsætning af systemet.
                                På et tidspunkt, skal EXPO-NET A/S overveje
                                udskiftning af deres eksisterende operativ
                                system. Windows XP er ved at nå det tidspunkt,
                                hvor det bliver forældet. Derfor vil der være
                                behov for at investere i et nyt operativ system.
                                Men dette vil være en naturlig investering, for
                                brugere af et IT-system, skal forholde sig til.
Udviklingsomkostninger          SharePoint Services er integreret med en del
                                standard moduler, som man selv kan tilføje til
                                sit interface. Der vil komme omkostninger til
                                udviklingen af special udviklede web-parts, som
                                det konkrette mail-modul. I denne opgave kan
                                vi ikke sætte prisen på dette, men vil være en
                                aftale med virksomheden og udbyder. Dette
                                gælder også, hvis man får behov for yderligere
                                special udviklede moduler, som man vil
                                udbygge sit system med.
Konvertering                    Der bliver ikke noget problem, da EXPO-NET
                                A/S allerede har deres egen server installeret,
                                som SharePoint benytter sig af.
Uddannelse                      Der vil blive behov for en minimal uddannelse
                                til SharePoint, men ellers er systemet meget
                                brugervenligt anlagt. Medarbejderne på EXPO-
                                NET A/S har i dag en vis bruger erfaring, så

                                   Side 15 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

                                      dette skønnes ikke at blive et problem.
Driftsomkostninger
Vedligehold                      Behovet for vedligehold, vil nok ikke blive
                                 større, end det man kender i dag. Hvis man
                                 ikke har en IT-ansvarlig på EXPO-NET, er
                                 afhængigheden af Montes A/S stadig rimelig
                                 vigtig.
Netværk                          EXPO-NET A/S kan benytte sig af det allerede
                                 eksisterende netværk, som allerede er
                                 installeret på virksomheden.
Materialeomkostninger            Der kan blive et behov for at installere en
                                 ekstra server, hvis det skønnes nødvendigt. Der
                                 vil ikke være yderligere omkostninger i
                                 forbindelse med, at man allerede kan bruge
                                 SharePoint på det eksisterende hardware.
Direkte målelige indtægter / omkostningsbesparelser
Lønomkostniger                   Umiddelbart vil der ikke være direkte målelige
                                 besparelser på lønkontoen, da det nye system
                                 tilbyder den samme funktionalitet som det
                                 gamle.
Inddirekte/ Vanskelige målelige omkostninger
Negative sociale konsekvenser    Tilvænning til et nyt system, hvor SharePoint
                                 tilbyder et intranet, som en ny platform for hele
                                 organisationen. Man kender det gamle system,
                                 og er vant til denne arbejdsprocedure.
                                 Indførelse af ny teknik og nye arbejdsgange
                                 kan altid give problemer i en overgangsfase.
                                 Her er det vigtigt, at brugeren får en indlæring
                                 til det nye system, og de fordele det også vil
                                 bibringe.

Inddirekte/ Vanskelige målelige fordele
Positive sociale konsekvenser    Det nye arkiveringssystem vil gøre
                                 arbejdsfunktionen lettere ved at systemet
                                 foretager autoarkivering eller brugeren bliver
                                 promptet til at foretage en enkel arkiverings-
                                 procedure. Fokus på overskuelighed og
                                 enkelthed ved integrering med SharePoint.
                                 Dette kan give en mindre effektivisering af
                                 medarbejderens arbejde ikke mindst
                                 psykologisk.




Ud fra vores Cost-Benefit analyse kan vi konkludere, at der umiddelbart ikke vil være
udgifter til nye programmer og udstyr, da man kan bygge på det, som virksomheden
allerede har. Der vil være udgifter til opsætning af hele systemet, udgifter til oplæring
af medarbejderne til brug af SharePoint. Derudover kan der blive behov for en ekstra


                                       Side 16 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                         Afleveret: d 13/11

server, med udgift til hardware samt licens. En anden post, vil være udgiften til den
specialudviklede webpart til håndtering og arkivering af mail-korrespondance, samt
andre relevante filer, mellem virksomheden og dens kunder. Man kan undgå
webparten, da man kan benytte sig af SharePoints indbyggede dokumentvisning til
kundemapper og i integrationen med Outlook, hvor man også vil kunne se
mappestrukturen fra SharePoint.

Med tiden skal man nok overveje, hvornår man vil udskifte sit operativsystem.

Der kan blive en indkøringsperiode, hvor medarbejderne skal vænne sig til det nye
interface, som SharePoint tilbyder, men ellers vil der ikke blive de store ændringer i
arbejdsgangen, da det princippet bygger på det gamle system. Det skulle gerne give
nogle forbedringer i kraft af, at systemet kan autoarkivere, men også fungerer som
vagthund, så man bliver vejledt igennem en enkel arkiveringsprocedure af nye mails.



Konklusion på foranalyse
Vi kan konkludere, at EXPO-NET A/S ved implementering af et intranet bygget på
SharePoint teknologien og et add-in til Outlook, samt udvikling af en web-part til
WSS, vil kunne fremtidssikre og videreføre virksomhedens krav til arkivering af mail-
korrespondance. EXPO-NET skal dog tage stilling til, en strategi og hvilke behov
EXPO-NET har, for et intranet bygget op på SharePoint teknologien. Der ligger mange
nye muligheder og udfordringer ved at benytte SharePoint fuldt ud.

Udfra en Cost-benefit analyse, kan vi konstatere, at der er en begrænset økonomisk
ekstra udgift til udvikling af en web-part til arkivering af mails, samt opsætning af
SharePoint på virksomhedens server. Der kan blive en ekstra udgift til en ekstra
server samt licens. Virksomheden kan dog benytte det eksisterende hard- som
software, til at arbejde med den nye løsning. En udgift, som skal sættes i forhold til,
hvor længe EXPO-NET vil eller kan benytte Outlook 2002, som sit mail-program og
Windows XP som sit styresystem. En ny investering, der alligevel være nødvendig for
virksomheden, da man på et givent tidspunkt vil være tvunget til at følge den
teknologiske udvikling.




                                      Side 17 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11




Hvad er Microsoft SharePoint

Windows SharePoint Services kan beskrives ganske kort, som et intranet. Men mere
uddybet er det en integreret platform til udrulning og administration af intranet-,
ekstranet- og internetprogrammer på tværs af virksomheden. WSS er den teknologi i
Windows Server, der gør det muligt for personer at finde og dele oplysninger på tværs
af   afdelings-,   virksomheds-   og   sågar   landegrænser   via    en   browser-baseret
brugergrænseflade, til et eller flere arbejdsområder på en server.




WSS indeholder et framework for dokument håndtering og rummer en generel
mekanisme for opbevaring af alle typer af mere eller mindre strukturerede
oplysninger og dokumenter i en SQL Server database.




                                       Side 18 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                        Afleveret: d 13/11




Dette er et billede af, hvordan platformen er opbygget. OS i bunden med
WSS ovenpå og eventuelt MOSS i toppen

SharePoint services samler al information, som brugerne tilføjer, eller som allerede
findes i virksomhedens system. Det er et værktøj, som er udviklet til at styrke
samarbejde, ved at centralisere dokumenter, billeder, lister, kalendere mm. Disse
gøres nemt tilgængelige, vha. menuer, links eller søgning.         Figur _ viser de
muligheder som WSS tilbyder, til at skabe en overskuelig platform inden for fire
hovedområder.




Figur 1

SharePoint bliver installeret på en Windows Server 2003 hos EXPO-NET A/S, hvor der
i forvejen er sat en Internet Information Service (IIS) op. IIS er en anerkendt web
server, som har en god sikkerhed og er let at tilpasse til det man skal bruge den til.
Mange web servere i dag er baseret på IIS. Denne er også en del af Windows Server
2003, samt XP pro versionen.

Eksterne programmer som især Office 2007, Exchange Server 2003/ 2007 er
kompatible med SharePoint, så man kan udnytte virksomhedens data, så man slipper
for at have den samme information flere steder.


                                     Side 19 af 93
Gruppe 9                                                                         Produkt rapport
Montes                                                                   Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                              Afleveret: d 13/11

Man tilgår sin SharePoint Services via en browser og den bliver vist som en
hjemmeside (HTML).

Forskellen på Windows SharePoint Services & Microsoft Office SharePoint
Server




Windows SharePoint Services




                                    Microsoft Office SharePoint Server




Som denne illustratration viser, er der stor forskel på funktionaliteten i de to udgaver
af SharePoint. SharePoint Server er specielt udviklet til at integrere virksomhedens IT-
system til det fulde. WSS udnytter især integrationen med Outlook, e-mails og
dokumenthåndtering. Det passer netop til EXPO-NET, da det er kun den funktionalitet,
de efterspørger. Prisen for indførsel, af MOSS er også en større økonomisk post.

Brugergrænseflade


Et godt og brugervenligt design er en vigtig del af enhver applikation. Et godt design
er med til at sikre effektivitet i brugerens hverdag. Samtidig kan et dårligt design
være med til at ødelægge et ellers godt og veludviklet program. EXPO-NET skal derfor
gøre op med sig selv, om hvorvidt de vil bruge SharePoint, som deres intranet. På den




                                       Side 20 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

måde kan man tilrette SharePoint, så den er så brugervenlig og effektiv for EXPO-
NET’s ansatte at bruge. En af de første ting man bør ændre på siden, er sidens brand.




Når man opretter en SharePoint Service kan designet ligge meget langt fra det de
ansatte er kendte med i forhold til farver og logoer. Derfor bør man som udvikler
fokusere på at få overført virksomheden kendetegn til siden så som virksomheden
logo og gængse farvebrug. Som standard er en SharePoint oprettet med en farveskala
som ligger i det blå register. EXPO-NET A/S benytter har ikke en decideret farve på
deres hjemmeside samt i deres publikationer og materiale. De bruger en grøn farve i
deres logo. Derfor kan Expo-net vælge at tilrettelægge et design til deres
brugergrænseflade, så det tager udgangspunkt i den grønne farve og deres logo, men
ellers kan de vælge at opbygge et nyt.

Hvis man i SharePoint vil tilføje f.eks. et logo til sit SharePoint site, vælger man at
bruge en masterpage. En masterpage indeholder sidedesign- og layoutelementer, som
gentages på flere sider på et web-sted. Derved giver man sit web-sted et mere
ensartet udseende, f.eks hurtig start, det øverste hyperlinkpanel, titlen og logo.

Dette er selvfølgelig meget enkelt, men mulighederne er dermed også begrænset til
enkelte logoer på siden.

Hvis man ønsker at ændre nogle flere detaljer på siden og i standard Webdelene kan
man benytte sig af SharePoint Designer, som er et webside redigerings værktøj. Her
kan man flytte rundt på de enkelte elementer som links og menuerne, som man
ønsker det. Dette giver en vis grad af frihed til at skræddersy sit site, så man opnår et


                                       Side 21 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11

effektivt og brugervenligt design. Dette vil vi ikke gøre brug af, da vi først og
fremmest har koncentreret vores opgave til at udvikle en web-part til SharePoint og
en arkiveringshåndtering i Outlook i Visual Studio.

Søgning


En central del af enhver applikation som indeholder en stor mængde information er,
at der er mulighed for at søge i den mængde information. Derfor finder man også
søgefunktionen som en standard komponent på SharePoint portalen. Denne funktion
er med til at øge brugervenligheden på siden for brugerne, idet den gør det muligt at
brugeren hurtigt kan finde den relevante information.

Søgning efter indholdet på ens SharePoint-websted, fungerer på samme måde, som
når du søger efter en e-mail eller andre emner, du opretter i Outlook.

Man kan søge efter et bestemt ord eller udtryk fra startsiden,
ved at stille søgeområdet til ”Dette websted” eller et bestemt
ord eller udtryk på en liste, ved at vælge ”Denne liste”. Hvis
siden også indeholder under-ordnede websteder, returnerer
søgeforespørgslen muligvis også tilsvarende resultater, hvis
det søgte findes på de underordnede websteder.

En side kan hurtigt komme til at indeholde en stor mængde data som befinder sig på
mange forskellige arbejdsområder. Derfor kan det være svært for en bruger som er
tilknyttet mange arbejdsområder at holde overblikket over de enkelte dokumenter.
Samtidig bliver nye arbejdsområder tilføjet til søgningen så de medarbejdere som har
adgang til siden automatisk også søger på de nytilføjede arbejdsområder. Dette gør
siden meget let at udvide idet man ikke behøver at bekymre sig om hvorvidt de nye
sider bliver medtaget i søgningen og hvilke brugere der skal have adgang til at søge
på siden.

Samtidig er det også muligt for administratorer at tilføje nye søgeområder så at man
kan afgrænse hvilke områder søgningen skal foregå i. Herved kan man minimere
antallet at resultater søgningen returnerer idet man som bruger kan benytte sig af en
afgrænset søgning. Når man benytter Windows Server 2003 har Microsoft udviklet en
udvidet søgefunktion som er tilpasset bl.a. dette operativsystem. På Microsofts



                                      Side 22 af 93
Gruppe 9                                                                                 Produkt rapport
Montes                                                                           Vejleder: Finn Nordbjerg
5. semester                                Hovedopgave                                 Afleveret: d 13/11

hjemmeside kan man gratis hente Microsoft Search Server 2008 Express, eller købe
Microsoft Search Server 2008, som har flere søgereferencer.

Sikkerhed
Sikkerhed er en central del af SharePoint. Man kan tildele bruger/ gruppe rettigheder,
til styring af adgangen til de data, der lægges op på intranettet, helt ned til fil-niveau.

Uanset hvilken type websted, man har, omfatter sikkerheden og tilladelserne for
webstedet følgende elementer:

                     Bruger:      Brugerkonto’en           godkendes            i      forhold       til
                      godkendelsesmetoden på webserveren. Enten som del af en
                      SharePoint-gruppe eller som enkelt person. Det afhænger af,
                      antallet af brugere,       og derved nemheden i at administrere
                      brugerrettigheder.
                     Domænegruppe:         En        gruppe,        der     er       defineret       af
                      godkendelsessystemet. Eksempelvis
                         o   Windows-sikkerhedsgrupper til Windows-godkendelse
                         o   ASP.NET-rolleadministrationsgrupper
                     SharePoint-gruppe:         En        gruppe,         som        oprettes        på
                      webstedsgruppeniveau. Opdelt i tre standardgrupper:
                         o   Ejere af Navn på websted. Tilladelse: Fuld kontrol.
                         o   Medlemmer af Navn på websted Tilladelse: Bidrage.
                         o   Læsere af Navn på websted. Tilladelse: Læse.

Det er nemmere at administrere tilladelser ved hjælp af SharePoint-grupper, end
direkte tildeling af tilladelse til individuelle brugere. Eksempelvis en leder, der skal
have   forskellige    tilladelser på tre    underordnede        websteder. Her oprettes en
SharePoint-gruppe: Ledere. Herved skal der kun foretages tilladelsestildeling én gang
og et sted. Hvis man gjorde det på brugerniveau, skulle man tildele de relevante
tilladelser for hvert websted.

Serveradministratoren bruger Central Administration til at håndtere Tilladelser,
Tilladelsesniveau og Objektsikring.

                 Tilladelse: (Tidligere kendt som rettigheder) Godkendelse til at udføre
                  specifikke                                                               handlinger.


                                           Side 23 af 93
Gruppe 9                                                                            Produkt rapport
Montes                                                                      Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                              Afleveret: d 13/11

                  SharePoint 3.0 har 33 foruddefinerede tilladelser. F.eks. Visning af
                  sider, åbning af elementer og oprettelse af underordnede websteder.
                  Tilladelsen tildeles ikke direkte til brugere eller SharePoint-grupper,
                  men til ét eller flere tilladelsesniveauer, som derefter tildeles brugere
                  og   SharePoint-grupper.    Hver       tilladelse   kan   inkluderes    i   flere
                  tilladelsesniveauer.
                 Tilladelsesniveau: (Tidligere kendt som webstedgrupper) Et sæt
                  tilladelser, der kan gives til brugere eller SharePoint-grupper for et
                  objekt, der kan sikres. (F.eks. et bibliotek, et websted, en liste, en
                  mappe, et dokument mm.). Følgende tilladelsesniveauer er standard:
                  Fuld kontrol, Design, Bidrage, Læse, Begrænset adgang.
                 Objekt, der kan sikres: Et objekt, der kan konfigureres tilladelser for.
                  F.eks. et websted, en liste mm. Tilladelser for brugere og SharePoint-
                  grupper kan tildeles et specifikt objekt, der kan sikres. Tilladelser
                  tildeles som standard på webstedsniveau til SharePoint-grupper, og
                  objekter, der kan sikres, på lavere niveau, nedarver tilladelserne fra
                  webstedet. Alle, der er tildelt et tilladelsesniveau, der omfatter
                  Administrer tilladelser, kan redigere tilladelserne for alle objekter, der
                  kan sikres. Ejere har som standard denne tilladelse.

Active Directory, som er en del af Windows miljøet, kan også integreres med
SharePoint. AD tilbyder tjenester, som er vigtige for datastyring og datasikkerhed, for
hele netværket. EXPO-NET benytter sig allerede af AD, hvor alle deres brugere er
oprettet. Derved udnytter man de oplysninger, som EXPO-NET, allerede har
registreret på deres system i forvejen. Fordelen er, at man undgår redundante data.
Email-adresser bliver f.eks. hentet direkte fra AD.

Kompatibel

Kompabilitet med Windows 7
Vi har afprøvet vores program på Windows 7, og havde ingen problemer med at køre
Outlook add-in’en med integrationen til et remote SharePoint-site. Det bliver
beskrevet i en test senere i rapporten.




                                         Side 24 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                       Afleveret: d 13/11

Kompabilitet med Mac
Med det voksende antal Mac-computere, giver SharePoint også mulighed for at man
kan samarbejde på samme platform, da tilgangen foregår via en web-browser og på
den måde gør sig uafhængig af hvilken platform og hvilket styresystem man bruger.

Den sidste nye udgave af Apple’s styresystem Snow Leopard understøtter også
Microsoft Exchange Server 2007, og kan godkendes med Active Directory-servere. I
stedet for at bruge Outlook, kalender, Kontakter mm., bruger man Apple’s udgaver
kaldet Mail, iCal og Adressebog.

I vores opgave, har det dog ikke været muligt at integrere en Mac, da kravet til mail-
programmet er Outlook 2007, for at kunne benytte den konkrete Outlook add-in, som
en arkiveringsfunktion.

Webparts
Man kan udvide SharePoint på mange forskellige måder, men det er især udviklingen
af web parts, som er interessant. Her kan skabe små moduler, af kerne- eller
brugerflade kode, som så kan installeres i WSS, så de er tilgængelige for brugerne.

Dette kan være vores udgave af en webpart til filhåndtering. Webparten er bygget op
i en træ-struktur, hvor al information omkring Expo-net og deres kunder er arkiveret.
Det gælder både mailkorrespondance samt alle andre dokumenttyper. Vi beskriver
udviklingen af vores egen web part senere i rapporten.

Den mest anbefalede metode til udvikling af web parts er ved brug af ASP.NET. Man
kan opdele dem i to:

ASP.NET 2.0 web part:

WSS.Web         parts:       SharePoint       web      part,   som       arver        fra
Microsoft.SharePoint.WebPart.Pages.
(WWS 3.0)              (Videreudvikling af ASP.NET 2.0, som bygger I bund og grund på
                   ASP.NET 2.0 web part.).




                                       Side 25 af 93
Gruppe 9                                                                            Produkt rapport
Montes                                                                      Vejleder: Finn Nordbjerg
5. semester                                Hovedopgave                            Afleveret: d 13/11




Denne udvikling gør, at Windows tilpasser og fokuserer WWS 3.0 til at yde SharePoint
Services i stedet for .NET-tjenester, men sørger for at WSS 2.0 er kompatible med
WSS 3.0.

Den største forskel mellem WSS 2.0 og 3.0 er at WSS 3.0 bygger på en
SPWebPartManager Control, som stammer fra ASP.NET 2.0 WebPartManager Control.

Ved udviklingen af WSS 3.0, har man fokuseret på at begrænse udviklerens
tidsforbrug.        Dette       er       defineret         i    det        nye         namespace:
Microsoft.SharePoint.WebPartPages,         som     håndterer    alt    omkring    display   mode,
tilføjelse af editor og katalog-dele og HTML layout’et til web parts.

WSS 3.0 understøtter også flere features som Blogs, Wikis og RSS-feeds.

Den enkleste måde, at opbygge en SharePoint Web Part er, at importere Windows
SharePoint Services 3.0 Tools til Visual Studio 2008 (Framework 3.5). Herved får man
tilføjet fem SharePoint skabeloner i sin liste over forskellige projekttyper. Man kan
også udvikle web parts ved brug af skabelonen ASP.NET Server Control.

Der er to måder, at oprette web parts. Den første, som er den ældre udgave,
tilknytter    en   reference   til   Microsoft.SharePoint.dll    i    API’en.    Den   bruger    en
WebPartZone Control, som arver fra Microsoft.SharePoint.WebpartPages namespace.

De nye ASP.NET web parts tilknytter en reference til System.Web.dll og arver fra
WebPart             i          System.Web.UI.WebControls.WebParts                      namespace.



                                           Side 26 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11



Webservices

Til at kommunikere med SharePoint serveren over netværket har Microsoft valgt, at
man kan benytte sig af web services . Derfor tilbyder SharePoint nogle standard web
services som man kan benytte til at tilgå funktionaliteten på siden indenfor forskellige
områder. SharePoint Services tilbyder i alt 21 forskellige Webservices, som hver især
stille metoder til rådighed indenfor web servicens tildelte område. I vores Outlook
add-in benytter vi to webservices: WebsvcDocumentWorkspace & WebsvcLists. Det
bliver beskrevet nærmere under eksperimenter.

Integration med Office


Brugerne får den bedste oplevelse ved at benytte Office Professionel Plus 2007 eller
Office Enterprise 2007, som udnytter og har den bedste integration med SharePoint
Services 3.0. Her vil man kunne udnytte funktionaliteterne i systemet fuldt ud.

Man får en god data integration med SharePoint Services ved brug af Microsoft Office
2003, men ikke på samme niveau som 2007 Microsoft Office Suites.

Microsoft har bevidst udviklet de sidste nye versioner af såvel SharePoint som Office
pakken, til at opnå den bedste integration.




                                      Side 27 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                       Afleveret: d 13/11




Hvis man skal have den fulde udnyttelse af SharePoint teknologien, skal man vælge
Microsoft SharePoint Server (MOSS).

Microsoft SharePoint 2010
SharePoint 2010 findes allerede i en beta-version, og lanceres formodentligt 22. marts
2010. Her vil man naturligt nok videreudvikle og forbedre SharePoint 2007. En af de
største kritikpunkter i SharePoint 2007 er besværlighederne ved at danne sige et
overblik.

Overordnet er SharePoint 2010 bygget til nettet og ikke til intranettet. SharePoint
2007 har ikke haft succes med at fungere som back end teknologi for websites og
lignende. Nogle enkelte få selskaber som Volvo, anvender SharePoint til at bygge
deres websites.

Man vil tilføje en række nye funktioner som bedre overblik, sikkerhed, samt
opdateringer og patches. Derudover vil man indarbejde sociale funktioner i SharePoint
2010, for at tilgodese de nye generationer. Man har skelet meget til Facebooks måde
at udarbejde disse funktioner. Så SharePoint kan blive virksomhedernes fremtidige
Facebook, sammenholdt med brug af blogs, wikis og andre sociale funktioner.

I Visual Studio 2010, vil man forbedre udviklingsværktøjet på en række funktioner.
Blandt andet med en wizard, der gør det muligt at genere SharePoint komponenter,

                                      Side 28 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11

uden at man skal skrive kode, samt API’er til REST og Atom. Forbedrede funktioner
indenfor life cycle management, applikations-værktøjer, Browser-understøttelse og
indarbejdelse af Silverlight.

Alternative løsninger til Mail – Arkivering
Da vi startede denne opgave havde vi fra Montes side fået udstukket nogle krav hvor i
det ene af dem var at løsningen skulle baseres på Microsofts Sharepoint Services 3.0.
Vi har dog lavet os overvejelser om Expo-Net kunne ha fået en anden form for
løsning. Vi har snakket om tre forskellige senarier:

1. Hosting løsning (servere eksternt placeret)
   Der er mulighed for at ved hjælp af en ekstern hostet server at få opsat et
   Sharpoint miljø som virksomheden vil kunne bruge til deres arkivering. Expo-Net
   undgår herved at selv skulle opsætte og administrere en server. De vil blive
   faktureret for hostingen af miljøet men sparer til gengæld udgifterne ved at
   opsætte server hos dem selv. Når systemet er oppe at køre vil der være måske en
   lidt længere respons tid i programmet da alt data skal sendes ud af huset. Der kan
   også være lidt sikkerheds aspekt i at dataen som er gemt på eksterne servere
   måske lettere kan blive infiltreret af uønskede mennesker.


2. Ren Asp.Løsning
   Ved at bruge ASP.net kan et system bygges op hvor mails fra Outlook bliver
   eksporteret til en SQL database som der efter kan tilgås på et Asp.net web site.
   Her skal alt dog laves fra bunden og alt den funktionalitet som Sharepoint tilbyder,
   vil ikke være inkluderet. Så hvis Expo-Net har planer om at udvide deres
   virksomhed med et intranet så vil denne løsning ikke være det oplagte valg. Ved
   indførsel af denne løsning vil Expo-Net, kun få arkiveringsfunktionaliteten som de
   forespørger.


3. Netværks drev
   Expo-Net har til dato selv brugt denne løsning de har haft et eksternt drev hvorpå
   de selv har oprettet foldere og trukket mails over i. Ulemperne ved denne måde at
   arkiverer på er at der kan ske overskrivelser og rod i strukturen af mapper og
   mails desuden kan der ske forglemmelser så vigtige mails ikke bliver arkiveret.




                                       Side 29 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11

   Det er dog en af de nemmeste måder hvorpå Expo-Net suverænt kan bestemme
   hvordan mappe strukturen skal se ud og hvilke mails der skal arkiveres.



Delkonklusion
Som sagt er Microsoft SharePoint Service et standard værktøj til udvikling af en web-
baseret platform til primært virksomheder. WSS tilbyder mange funktioner der kan
opfylde en del af EXPO-NET’s krav, hvilket betyder at systemet forholdsvis hurtigt kan
implementeres og til en fornuftig pris. Man skal dog være opmærksom på at hvis man
benytter WSS, er man nødt til at acceptere de begrænsninger som programmets
standardkomponenter sætter, ellers skal man selv udvikle dele til systemet.

Leverandøren af produktet er som sagt Microsoft, og man skal ikke bestille fra
forskellige leverandører. Dette bevirker at afhængigheden til leverandøren er stor,
dette dog ikke et problem, da der er tale om Microsoft som er en stabil leverandør.
Ydermere er en del af ansvaret lagt over på Microsoft. Dette kunne fx være mht. til
bugs i programmet, som Microsoft udøver en support på.

WSS er brugervenligt, så i fremtiden kan IT administratorerne selv tilføje nyt indhold
til siden. Hvis man fx gerne vil have tilføjet en ny liste, er der ikke ret meget man skal
sætte sig ind i. Derfor er WSS, også en fremtidssikre løsning, som langt ud i fremtiden
kan følge med udviklingen hos EXPO-NET.

EXPO-NET A/S benytter sig meget af Office pakken, hvilket er endnu en grund til at
vælge WSS. Der er nemlig god og let kollaboration mellem WSS og Office pakken.

WSS er altid under udvikling, og derfor vil integrationen med SharePoint og Office-
pakken og andre Windows-systemer konstant blive forbedret og udbygget.

Vi kan konkludere at WSS ville være et oplagt valg for EXPO-NET, og der vil følge
mange fordele med. Man skal dog være villig til at betale for udviklingen af en specielt
fremstillet web part og acceptere de begrænsninger WSS nu engang sætter.




                                       Side 30 af 93
Gruppe 9                                                                        Produkt rapport
Montes                                                                  Vejleder: Finn Nordbjerg
5. semester                               Hovedopgave                         Afleveret: d 13/11

Krav

På baggrund af foranalysen for EXPO-NET A/S, vil vi fortsætte med at uddybe
kravsspecifikationen. Ved at kigge på det nuværende system, har vi fundet frem til
flere problemstillinger, som vi har beskrevet i foranalysen. Ved indførelse af det nye
system, vil vi analysere de funktionelle og ikke-funktionelle krav.

Funktionelle krav
Funktionelle krav er kendetegnet ved de konkrete processer og funktionaliteter, som
systemet skal omfatte.

   Intranet
             SharePoint løsning, som integrerer et intranet til EXPO-NET A/S, så
              medarbejderne derved får en fælles platform til deling og fremfinding af
              dokumenter på tværs af organisationen.
             En special udviklet web-part til SharePoint, til visning og arkivering af
              mailkorrespondancen mellem virksomheden og dens kunder.
             Man skal kunne finde oplysninger om arkiverede mails, både afsendte som
              modtagne. Listet i en træstruktur, fordelt på lande, årstal og kunder.
             Brugeren kan tilpasse visning af SharePoint sitet til sine personlige
              indstillinger.

   Outlook
             Udvikling af et add-in til Outlook 2007, så man derved kan arkivere mails
              direkte til SharePoint.
             Udvikle automatisk arkivering eller en manuel procedure, til arkivering af
              indkomne og sendte mails til SharePoint.
             Indbygge automatiske processer til kontrol af om, mails rent faktisk er
              arkiveret og derved undgår dubletter.
             Automatisk arkivering ud fra kendte foruddefinerede data.
             Søgning på arkiverede mails ud fra dato, mail-adresse, emne mm.

   Fjernadgang
       Fjernadgang. Adgang til intranettet via internettet




                                          Side 31 af 93
Gruppe 9                                                                          Produkt rapport
Montes                                                                    Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                            Afleveret: d 13/11

Ikke-funktionelle krav
Ikke – funktionelle krav er kendetegnet ved krav til kvaliteten i systemet, som vi har
opdelt i følgende krav:

             Performance
             Availability
             Usability
             Reliability
             Security


Vi vil tage udgangspunkt i en faktor-tabel til at beskrive disse krav. Tabellen er opdelt
i forskellige kolonner:

             Selve faktoren
             Mål og kvalitetsscenarier (måling af opfyldelse af faktor)
             Virkning (Virkning af faktoren for virksomheden)
             Succes (Vigtighed for systemet)
             Sværhedsgrad (Vurdering af hvor svært, det er at realisere faktoren)



Faktor tabel

Faktor             Mål og                     Virkning                   Succes Sværhedsgrad
                   kvalitetsscenarier

Performance

Svartider fra      Måle belastnings           Man oplever, at             Høj         Mellem
man arkiverer      punkter i forhold til      meddelelsesvinduet
en mail i          fastsatte grænser.         hurtigt forsvinder, som
Outlook, til       Kunden har ikke stillet    eksekvering af arkivér
man har            krav.                      kommandoen. Samtidig
gennemført                                    med at systemet
handlingen         Mål: 1000 ms.              foretager arkiveringen.
ved at mailen                                 Det giver et positivt
fysisk er                                     indtryk hos brugeren, at
gemt.                                         arbejdsprocessen kører i
                                              et glidende flow.

Brugervenlighed (Usability)

Intranettet        Afprøve systemet på        Man benytter alle           Høj         Mellem
skal være          flere forskellige          funktioner og man kan
brugervenligt      brugere.                   altid hurtig finde den
og det skal                                   information man ønsker.


                                             Side 32 af 93
Gruppe 9                                                                      Produkt rapport
Montes                                                                Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                        Afleveret: d 13/11

være let at
finde den
information,
man leder
efter.
Opsætningen
af
kundemappen
til håndtering
af mail-
korrespondanc
e, er
overskueligt
og enkelt
opbygget.

Add-ins til      Afprøvning af            Man kan hurtigt             Høj         Mellem
Outlook 2007     systemet på flere        foretage de ønskede
skal være        forskellige brugere      funktioner, som man
logisk                                    har tilføjet i Outlook
integreret og                             2007.
lever op til
kravene om
brugervenlig-
hed.

Stabilitet (Reliability)

Intranettet      -                        Almindelig forventning      Høj         Mellem
skal køre                                 til, at systemet altid er
stabilt.                                  oppe.

Sikkerhed (Security)

Data og        Adgangsbegrænsning         Vigtige informationer og    Høj            Høj
informationer til filer ved brug af       data tilkommer kun dem
skal beskyttes autorisation               man har givet
for                                       rettigheder.
uvedkommend
e adgang.

Log-on           Authentifikation af      Adgang til IT-system        Høj         Mellem
                 brugere, for at kunne    tilkommer kun dem som
                 tilgå virksomhedens      er oprettet som brugere
                 IT-system.               af systemet



                                         Side 33 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                       Afleveret: d 13/11

Tilgængelighed (availability)

Det skal være    -                        -                         Melle           Høj
let at tilføje                                                       m
nye lister,
data,
informationer
osv.



Vi vil ikke gå dybere ind i beskrivelsen af taktikker som en designbeslutning i forhold
til vores add-in i Outlook og Web part i SharePoint. SharePoint sætter begrænsninger
og tager højde for disse taktikker.

Performance: Her kan umiddelbart foretage en beskrivelse af krav til hardwaren

                 Ressource consumption:

                                        Hardware: Vurdering og opgradering af ram,
                                         processor, båndbredde på netværk og datalager
                                         er mulige , for at opnå det ønskede mål.



Use cases

Vi har listet de forskellige use cases op i et diagram, med en kort beskrivelse samt en
prioritering, bedømt ud fra kompleksiteten for såvel bruger som system. Derved kan
vi så udvælge de use cases med størst kompleksitet. Jo større kompleksitet jo større
risici. Ved udarbejdelsen af de mest komplekse use cases, vil man automatisk få
belyst og fjernet de største risici.




Navn             Beskrivelse                     Bruger    System    Rangering
                 Mail i Outlook skal
Indbakke         arkiveres på SharePoint           Høj       Høj            1
Arkivering af    serveren, vha. en
Mail             automatik, eller en
                 manuel procedure.

                 Nogle mails skal ikke
Håndtering af    kunne ses af alle,              Middel    Middel           4
fortrolige       Regnskaber og lignende.


                                         Side 34 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11

mails

               Create oprette mappe
CRUD           Read      Vis mappe
Mappestruktur Update opdatér mapper                  Lav    Middel         6
               Delete slet mappe
               Mails skal gemmes i
               samme mappestruktur
               som i det nuværende
               system.
               Mail skal kategoriseres
Kategorisering efter land, kunde,                    Lav     Lav           9
               årstal.
               Mail besvarelser skal
Udbakke        arkiveres på SharePoint               Høj     Høj           2
arkivering af  serveren.
mail

                 Gamle korrespondancer
Opfølgning på    skal følges op på.                  Lav     Lav          10
mails.

                 Det nuværende data hos
Integrering      Expo-net skal                       Høj    Middel         8
med gamle        importeres til systemet.
data.

                 Arkiverede mails skal
Visning af       kunne ses i et vindue
arkiverede       under mappe strukturen              Høj    Middel         3
mails i          i SharePoint.
SharePoint.

                 Mail skal findes ud fra
Søg efter mail   de valgte kriterier.              Middel    Lav           9

                 Create: oprette fil
                 Read:      Vis fil
CRUD Filer       Update: opdatér fil               Middel   Middel         5
                 Delete: slet fil
                 Der skal kunne oprettes,
                 slettes, læses og
                 opdateres filer på
                 SharePoint serveren.
CRUD Rækker      Create: oprette række
                 Read:      Vis række
                 Update: opdatér række
                                                     Lav    Middel         7
                 Delete: slet række
                 Der skal kunne oprettes,
                 læses, opdateres og


                                           Side 35 af 93
Gruppe 9                                                                      Produkt rapport
Montes                                                                Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                         Afleveret: d 13/11

                  slettes rækker på
                  databasen




Use Case diagram

Ud fra vores Use Cases, danner vi et overblik over de hændelser, der kan forekomme
samt hvilke aktører, der vil benytte sig af dem. Vi har beskrevet tre aktører:

              1. Administrator.
                 Administratoren er den person, som har adgang til systemets
                 opsætning, oprettelse og vedligeholdelse af brugerkonti o.lign.
                 Hvis der skal ske ændringer i databasen, er administratoren, den
                 eneste, der har tilladelse til dette.
              2. Bruger 1. Mailmodtager/- afsender
                 Bruger 1 er den aktive bruger, der aktivt benytter Outlook. Herved
                 aktiveres arkiveringsmodulet og dets hjælpefunktioner, som bruger 1
                 derved skal forholde sig til.
              3. Bruger 2. Forespørgende bruger.
                 Bruger 2 er en person, som foretager forespørgelser i SharePoint eller
                 Outlook. Dette kan foregå i SharePoint (Direkte i fil-strukturen eller ved
                 hjælp af søgefunktionen) eller man tjekker op på sine mails i Outlook.
                 Der foretages ingen form for arkivering.




                                         Side 36 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                         Afleveret: d 13/11




Detaljeret beskrivelse af Use Cases

I dette afsnit vil vi beskrive vores use cases mere detaljeret, både som succes-
scenario, men også med de alternative forløb der måtte være. Vi beskriver dem i den
rækkefølge, som vi har kategoriseret dem. Først beskrives de højest prioriterede,
d.v.s. Prioritet 1. Dette er den use case, der er vurderet mest kompleks.

Vi har valgt, at beskrive use casene, Indbakke arkivering af mails, Sendt Post
arkivering af mails, Visning af arkiverede mails i SharePoint, Håndtering af fortrolige
mails. Vi har valgt, ikke at beskrive flere, da de mere omhandler almindelige CRUD-
cases og derved ligner hinanden.

Use Case: Indbakke arkivering af mails.     Prioritering: 1.

Beskrivelse:          Brugeren har fået en ny mail fra en ekstern kunde i sin
                      indbakke som skal arkiveres.
Aktører:              Medarbejder

Præbetingelser:       Han er oprettet på SharePoint serveren som bruger.



                                      Side 37 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                        Afleveret: d 13/11

Postbetingelser:      Brugeren har arkiveret mailen.

Scenario 1. Succes
Bruger.                                  System.
      1. Brugeren åbner Outlook 2007          2. Systemet scanner indbakken på
                                                 Outlook for nye eller ikke-
                                                 arkiverede mails og arkiverer
                                                 mails til mappe-strukturen i
                                                 SharePoint ud fra kendte data på
                                                 databasen.
                                                 Mailen bliver markeret ”auto-
                                                 arkiveret” i brugerens indbakke

Scenario 2. E-mail adresse er ikke kendt af systemet
Beskrivelse:
Bruger.                                   System.
       1. Brugeren åbner Outlook 2007            2. Systemet scanner indbakken på
                                                    Outlook for nye eller ikke
                                                    arkiverede mails. Systemet åbner
                                                    en meddelelsesboks for manuel
                                                    arkivering.
      3. Brugeren vælger ”excisting             4. Systemet lister firmanavnene fra
          firm”.                                    databasen i en drop down liste
      3.a. Brugeren vælger ”new firm”           4.a. Systemet lister landenavne i en
                                                     drop down liste
      5. Brugeren vælger firma og               6. Systemet arkiverer mailen i
          trykker ”OK”                              kundemappen på SharePoint og
      5.a. Brugeren udfylder firmanavn              databasen bliver tilskrevet med
           Vælger land ud fra drop                  den nye mail-adresse. Mailen
           down listen, og trykker                  bliver markeret som ”Manuelt
           ”OK”.                                    arkiveret” i brugerens indbakke
                                                6.a. Systemet opretter en ny
                                                     kundemappe i SharePoint og
                                                     arkiverer mailen hertil, samt
                                                     tilskriver databasen med de nye
                                                     kundedata. Mailen bliver
                                                     markeret som ”Manuelt
                                                     markeret i brugerens indbakke
Scenarie 3. E-mail adresse er ikke kendt af systemet.
Beskrivelse:
Bruger.                                   System.
   1. Brugeren har Outlook åbent eller       2. Systemet er passivt.
      har udsat arkivering
   3. Brugeren højreklikker på mailen        4. Systemet åbner meddelelsesboksen
      og vælger ”Archive” og vælger             til manuel arkivering.
      ”Inbox”
   5. Brugeren vælger ”excisting                6. Systemet arkiverer mailen i
      firm”.                                        kundemappen på SharePoint og
   5.a. Brugeren vælger ”new firm”                  databasen bliver tilskrevet med
                                                    den nye mail-adresse. Mailen


                                     Side 38 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

                                                     bliver markeret som ”Manuelt
                                                     arkiveret” i brugerens indbakke
                                                  6.a. Systemet opretter en ny
                                                      kundemappe i SharePoint og
                                                      arkiverer mailen hertil, samt
                                                      tilskriver databasen med de nye
                                                      kundedata. Mailen bliver
                                                      markeret som ”Manuelt
                                                      markeret i brugerens indbakke

       7. Brugeren vælger firma og              8. Systemet arkiverer mailen i
           trykker ”OK”                             kundemappen på SharePoint og
       7.a. Brugeren udfylder firmanavn             databasen bliver tilskrevet med
           Vælger land ud fra drop                  den nye mail-adresse. Mailen
           down listen, og trykker ”OK”.            bliver markeret som ”Manuelt
                                                    arkiveret” i brugerens indbakke
                                                8.a. Systemet opretter en ny
                                                 kundemappe i SharePoint og
                                                 arkiverer mailen hertil, samt
                                                 tilskriver databasen med de nye
                                                 kundedata. Mailen bliver
                                                 markeret som ”Manuelt
                                                 markeret i brugerens indbakke
Scenarie 4. E-mail, som ikke er kendt af systemet, der ikke skal arkiveres
Beskrivelse:
Bruger.                                   System.
   6. Brugeren åbner Outlook.                7. Systemet scanner indbakken på
                                                Outlook for nye eller ikke arkiverede
                                                mails. Systemet åbner en
                                                meddelelsesboks for manuel
                                                arkivering.

   8. Brugeren trykker ”ignore”              9. Systemet foretager ingen arkivering.
                                                Mailen bliver markeret som
                                                ”Ignoreret”, og vil derfor ikke blive
                                                forespurgt af systemet mere.
Scenarie 5. Brugeren ønsker ikke, at arkivere mails manuelt lige nu.
Beskrivelse:
Bruger.                                   System.
   1. Brugeren åbner Outlook.                2. Systemet scanner indbakken på
                                                Outlook for nye eller ikke arkiverede
                                                mails. Systemet åbner en
                                                meddelelsesboks for manuel
                                                arkivering
   3. Brugeren trykker ”Cancel”              4. Systemet foretager ingen arkivering.
                                                Mailen bliver ikke markeret, og
                                                proceduren omkring manuel
                                                arkivering vil køre, næste gang
                                                Outlook åbnes eller en ny mail
                                                modtages.


                                      Side 39 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11




Use Case: Sendt post, arkivering af mails.   Prioritering: 2.

Beskrivelse:          Brugeren har besvaret en mail og skal arkivere sin besvarelse.

Aktører:              Medarbejder.

Præbetingelser:       Han er oprettet på SharePoint som bruger.

Postbetingelser:      Brugeren har arkiveret besvarelsen.

Scenarie 1:
Bruger.                                   System.
   1. Brugeren har udarbejdet en mail        2. Systemet scanner mailens og
      til en kunde og trykker ”Send”            autoarkiverer mailen til SharePoint,
                                                ud fra den skrevne adressat, og i
                                                forhold til de angivne data i
                                                kundedatabasen.
Scenarie 2:
Bruger.                                   System.
      1. Brugeren har udarbejdet en             2. Systemet scanner mailen, men
         mail til en kunde eller en                  kan ikke finde et match mellem
         ansat ved Expo-net og                       adressat og kundedatabase. En
         trykker ”Send”                              meddelelsesboks til manuel
                                                     arkivering bliver åbnet.
   3. Brugeren vælger ”excisting             4. Systemet lister firmanavnene fra
      firm”.                                    databasen i en drop down liste
   3.a. Brugeren vælger ”new firm”           4.a. Systemet lister landenavne i en
                                                      drop down liste
   5. Brugeren vælger firma og               6. Systemet arkiverer mailen i
      trykker ”OK”                              kundemappen på SharePoint og
   5.a. Brugeren udfylder firmanavn             databasen bliver tilskrevet med den
        Vælger land ud fra drop                 nye mail-adresse. Mailen bliver
        down listen, og trykker                 markeret som ”Manuelt arkiveret” i
        ”OK”.                                   brugerens indbakke
                                             6.a. Systemet opretter en ny
                                                  kundemappe i SharePoint og
                                                 arkiverer mailen hertil, samt
                                                 tilskriver databasen med de nye
                                                 kundedata. Mailen bliver
                                                 markeret som ”Manuelt
                                                 arkiveret” i brugerens indbakke


Use Case: Visning af Arkiverede mails i      Prioritering: 3
SharePoint

                                      Side 40 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                         Afleveret: d 13/11



Beskrivelse:          Brugeren skal ind og se sine arkiverede mails.

Aktører:              Medarbejder.

Præbetingelser:       Brugeren er oprettet i SharePoint.

Postbetingelser:      Brugeren har fundet arkiverede mails i SharePoint-filstrukturen.

Scenarie:
Bruger.                                    System.
   1. Brugeren indtaster sit password,        2. Autoriserer brugeren og giver adgang
      bruger navn og trykker ok i sit            til SharePoint portalen.
      websted på SharePoint.
   3. Brugeren kigger på                      4. Systemet viser indeholdet af de
      træstrukturen til venstre i                forskellige mapper og viser den valgte
      browseren han klikker der efter            mail i mail vinduet.
      på kategorierne kunde – Land –
      virksomhed –årstal – mail




Use Case: Håndtering af fortrolige mails     Prioritering: 4

Beskrivelse:          Brugeren skal håndtere en fortrolig mail

Aktører:              Direktør.

Præbetingelser:       Brugeren er oprettet i SharePoint. Mappe-strukturen i
                      SharePoint er administreret således, at der er tildelt rettigheder
                      til, hvem der må tilgå hvilke mapper.
Postbetingelser:      Brugeren har fundet en fortrolig mail

Scenarie:
Bruger.                                    System.
   1. Brugeren vælger SharePoint              2. Systemet åbner SharePoint
   3. Brugeren åbner web-parten               4. Systemet åbner kundemappen med
      ”Kunder”                                   underliggende træstruktur ud fra de
                                                 rettigheder, som brugeren har.
   5. Brugeren vælger en                      6. Systemet fremviser filen, som kan
      kundemappe og fil.                         åbnes i det relevante program.




Afgrænsning
Da vi arbejder inden for en begrænset tidsperiode, har vi set os nødsaget til at
begrænse vores opgave til de overordnede funktionaliteter og krav fra kundens side.



                                      Side 41 af 93
Gruppe 9                                                                      Produkt rapport
Montes                                                                Vejleder: Finn Nordbjerg
5. semester                               Hovedopgave                       Afleveret: d 13/11

Det drejer sig især Arkiveringsprocessen i Outlook samt integration med SharePoint.

Færdige funktionaliteter:

                   Automatisk arkivering i Outlook til SharePoint (inbox & sent)
                   Manuel arkivering, hvis afsender ikke kendes (inbox & sent)
                   Katagorisering af emails                       (inbox & sent)
                   Promptning ved forsøg på sletning af emails uden katagori
                   Afslut/ udsæt manuel arkivering
                   Engelsk sprog ( warnings, errors, pop-ups etc.)
                   Inputvalidering (validering af ugyldige tegn, så nye mapper ikke
                    oprettes i SharePoint)
                   Unikt id på emails
                   Samtidighedsproblematik
                   Design af web part
                   Udskrivning til log-fil.

              Mangler

                   Web part (funktionaliteten, så den kan køres sammen med Outlook)
                   Upload af vedhæftede filer
                   Dubletter (Undgå at der opstår dubletter i fil-arkivet)

Vi har opnået en stor del af de ønskede krav og funktionaliteter, men mangler især
funktionaliteten og færdiggørelsen af en special udviklet web part til SharePoint. Til
gengæld kan vi beskrive processen i at udarbejde en selvstændig web part. Det vil
blive beskrevet senere i rapporten.

Vi har selvfølgelig haft som mål, at opnå et færdigt resultat, ved at kunne fremvise en
kørende version af vores Outlook add-in.          Det har vi nået i et væsentligt omfang.
Derudover har vi også haft et hensyn at tage, til processtyring af et projekt samt
udarbejdelse af en rapport med de krav, der forventes fra skolens side. På den
baggrund, synes vi, at vi har afgrænset opgaven således, at vi tilgodeser alle parter.




                                          Side 42 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                        Afleveret: d 13/11

Eksperimenter, Udvikling og test
Experiment: Hvordan installeres Windows SharePoint Services 3.0 under Vista?



Problem:

WSS 3.0 kræver Windows Server 2003/2008 som platform. Ideen fra Microsofts side
har selvfølgelig været at WSS kun skulle kunne køres og benyttes via deres Server
operativsystemer. Det er bare ikke så fantastisk som udvikler at skulle enten;




              a) Installere Windows Server 2003/2008 og boote ind
              b) Installere Windows Server 2003/2008 i en virtuel maskine



Løsninger:

Der er flere forskellige løsninger til dette ’problem’, nogen er gode andre er mindre
gode.

Den første løsning er at installere Windows Server 2003/2008 og boote i den hvor
Visual Studio kan anvendes.




Den anden løsning kunne være at installere Windows Server 2003/2008 i en virtuel
maskine på f.eks. Windows Vista eller Windows XP og benytte sit hidtidige
udviklingsmiljø.




Den tredje løsning er at benytte et tool fra www.bamboosolutions.com som emulerer
Windows Server 2003/2008, således at installationen kan startes på Windows Vista.
Efter installationen er startet er der ikke nogen yderlige komplikationer forbundet med
at lave en emulering.




Link:



                                       Side 43 af 93
Gruppe 9                                                                           Produkt rapport
Montes                                                                     Vejleder: Finn Nordbjerg
5. semester                               Hovedopgave                            Afleveret: d 13/11

http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2008/05/21/
how-to-install-windows-SharePoint-services-3-0-sp1-on-vista-x64-x86.aspx




Den fjerde løsning, og en af de bedste løsninger efter vores mening, kunne være at
dedikere      en   separat   servermaskine,   hvor    Windows     Server   2003/2008       kunne
installeres    med    IIS,   MSSQL   og    WSS     og     så   sætte   Visual   Studio    op    på
udviklingsmaskinerne til at deploye til denne server.


Experimenter med Windows SharePoint Services (WSS)


For at kunne finde ud af hvordan vi snakker bedst muligt sammen med WSS gennem
Visual Studio udførte vi en række experimenter. Der findes mange forskellige måder
hvorpå WSS kan bruges og vi kom frem til fire løsninger:

      Direkte løsning
      Client -> Server løsning
      Proxy løsning
      Webservice løsning

Direkte løsning


Denne løsning var den første vi arbejde med i vores udviklingsmiljø. Vi havde
installeret følgende på vores computere.

      Visual Studio 2008
      Outlook 2007
      WSS 3.0

Dette betød at vi kunne bruge WSS’ Object Model således at vi direkte i Visual Studio
kunne tilgå den tilhørende API. Vi fik lavet en basal funktionalitet og testet den af,
hvorefter vi konkluderede at det virkede efter hensigten.

Problemet med denne løsning var at den ikke understøttede remote SharePoint sites.
Det ville ellers være optimalt da vi kunne pushe information direkte op på sitet som
befandt sig på en netværksserver.



                                          Side 44 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                      Afleveret: d 13/11

En mulig løsning til dette problem kunne dog have været at hver klient skulle have
deres eget SharePoint site, hvorefter man dagligt skulle synkronisere det med hoved
sitet. Dette kunne godt have virket, om end det ikke er den smarteste løsning.

Vi valgte derfor at droppe denne løsning.

Client -> Server løsning



Den anden løsning vi undersøgte var en såkaldt Client – Server løsning. Det gik i alt
sin enkelthed ud på at klienterne sendte objecter til serveren som herefter ”pakkede”
dem ud, og gjorde det ved dem som der skulle gøres.

Løsningen skulle bygges asynkront op, således vi kunne pushe så meget data frem og
tilbage som overhovedet muligt. Det ville give minimale bottlenecks og hurtig respons
på klienten.

Vi arbejdede en del med denne løsning, men det var simpelthen for svært at håndtere
de objecter som vi sendte med. Blandt andet fordi en stor del af de ting vi havde brug
for at serialisere ikke understøttede det.

Derfor endte det med at vi droppede denne løsning.


Proxy løsning



Denne løsning er en løsning beregnet til den ”Direkte løsning”. Problemet med WSS
Object Model er som sagt at den kun understøtter lokale SharePoint sites.

En mulig løsning kunne være at lave sit eget proxy lag på klienterne, således at
klienterne troede at SharePoint sitet kørte lokalt, men rent faktisk befandt sig på en
netværksserver.

Vi prøvede ganske kort denne løsning, men det var alt for kompliceret, så det
droppede vi.


Webservice løsning




                                       Side 45 af 93
Gruppe 9                                                                             Produkt rapport
Montes                                                                       Vejleder: Finn Nordbjerg
5. semester                                     Hovedopgave                        Afleveret: d 13/11

Denne løsning er den sidste i rækken af experimenter vi har udført. Ethvert
SharePoint har en lang række af webservices som man kan abonnere på.

WSS Web                   Beskrivelse
Services
Administration            Indeholder funktioner til at oprette og slette top-level sites osv.
Alerts                    Indeholder funktioner som giver adgang til aktive alarmer,
                          sletning osv.
Document                  Indeholder funktioner til DWS1, CRUD operationer herpå. Meget
Workspace                 relevant for os.
Forms                     Enhver liste indeholder forms til at vise indhold. CRUD
                          operationer herpå.
Imaging                   Indeholder funktioner som giver adgang til at lave et Image
                          library og CRUD herpå.
List Data                 Tillader at eksekvere XPath queries op imod en liste.
Retrieval
Lists                     Tillader at arbejde med lister og listedata. CRUD operationer
                          herpå.
Meetings                  Indeholder funktioner som giver adgang til at lave et Meeting
                          workspace og CRUD operationer herpå
Permissions               Giver adgang til tilladelser på site eller liste niveau.
Site Data                 Giver adgang til META-data på site eller liste niveau osv.
Site                      Giver adgang til at listen over skabeloner som findes på site
                          niveau. Skal bl.a. bruges sammen med Administrations
                          webservicen.
Users and Groups          Tillader adgang til brugere, brugergrupper og CRUD operationer
                          herpå.
Versions                  Tillader brug af versionsstyring
Views                     Tillader brug af Views, således at lister kan vises på forskellige
                          måder.
Web Part Pages            Tillader brug af CRUD operationer på Web Parts. Sider som kan
                          tilføjes til sitet.



1
    Document Workspace Sites

                                                Side 46 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                         Afleveret: d 13/11

Webs                   Tillader adgang til informationer omkring sitet, META data,
                       skabeloner i brug, lister og sub-sites osv.




Database
Vi har tilknyttet en database til vores Outlook add-in hvor vi skal bruge tabeller til at
gemme hvilket land mailen kommer fra, hvilken virksomhed er afsender, hvilke email
adresser er tilknyttet til virksomheden, hvilke emails id, der er oprettet, og hvilke
brugere har tilgang til vores management tool. Databasen består af følgende
entiteter, attributter og relationer:

Company_info: Tabel til registrering af firmanavn og landeid.

       Attributter:
        id     PK
        name
        countryid. FK        countryid danner relationen til company_countries

company_countries: Tabel til registrering af landenavne og landekode

       Attributter:
        id     PK
        countryname
        iso (den engelske landekode)



company_emails: Tabel til registrering af emails for et firma.

       Attributter:
        id     PK
        email
        companyId FK       danner relation til company_info.



mail_id:      Tabel til registrering af et unikt messageid for den enkelte mail.

       Attributter:
        id    PK
        messageid



utility_users: Tabel til registrering af administratorer til management-tool, som er
               ansvarlig for rettelser eller ændringer i databasen.



                                         Side 47 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                       Afleveret: d 13/11

    Attributter:
    user PK
    password




ACID
Databasen lever op til følgende systemkrav.

              Atomare transaktioner: En ændring skal gennemføres helt eller også skal
                                     der ryddes op, så en ændring ikke vil kunne ses
                                     forsøgt gennemført.


              Consistency:              Transaktionerne sørger for at databasens
                (konsistens)            sammenhængende tilstand overføres fra en til en
                                        anden.

              Isolation:                to eller flere programmer må ikke se hinandens
                                        ændringer, før de er gennemførte.

              Durability: (varighed):   Krav til hardware og disk, så data ikke bare
                                        forsvinder. Lander i en cache undervejs.




                                         Side 48 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11

Normalisering.
Alle tabeller lever op til kravene for normalisering af 1. og 2. form, da alle attributter
er fuldt afhængige af primærnøglen. Normalisering af 3. form findes i kraft af, at
landenavn bestemmes af iso-værdien, som er landekoden. Så derfor er tabellen
company_countries oprettet.

Arkitekturovervejelse



En arkitektur er en overordnet strukturform i et system.

Til udviklingen af dette system benytter vi en lagdelt arkitektur, som består af tre lag.
Disse tre lag er opdelt i et Modellag, Controllerlag og GUIlag. Den tre delte arkitektur
kan udvides, og eftersom vi har behov for at tilgå en database udvider vi det nederste
lag med et DBlag.

Kommunikationen mellem lagene er nedadgående, så GUIlaget kommunikerer med
Controllerlaget og Controllerlaget kommunikerer med Modellaget og DBlaget.

I vores DBlag benytter vi en Singleton, som betyder at vi kun opretter én instans af
database forbindelsen.

Meningen med at bruge en lagdelt arkitektur, er at skabe en forståelig og fleksibel
struktur af systemet.

Dette medfører, at systemet bliver lettere at udføre vedligeholdelse på. Det at bruge
den lagdelte arkitektur skaber i første omgang mere kode arbejde, men alternativet
er, at man undlader at bruge lag og får skrevet koden hurtigere, men så betaler
prisen senere i form af besværet vedligehold.




                                       Side 49 af 93
Gruppe 9                                                                      Produkt rapport
Montes                                                                Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                         Afleveret: d 13/11




Princippet i en lagdelt arkitektur er, at man deler de forskellige niveauer, i vores
tilfælde tre, op i pakker eller lag. Hver pakke får så hvert sit ansvar for en del af
systemets funktioner, og man ønsker her at skabe lav kobling og høj binding.

Lav kobling fordi, man ikke ønsker at klasser skal være afhængige af andre klassers
implementation, hvilken vil kunne besværliggøre vedligeholdsarbejde på systemet
betydeligt.

Binding er et mål for hvor tæt relateret de forskellige ansvars områder er i en klasse.

Hvis metoderne, der tilhører en klasse har stor lighed, siges klassen at have høj
binding. Det hjælper med at holde koden læsbar og forhøjer muligheden for at kode
bliver genbrugt.




Kodestandard



Vi har valgt at designe vores klasser og dermed også feltvariabler, metodehoveder og
funktionskald på engelsk da det primært hænger bedre sammen med vores
udviklingsmiljø. Desuden synes vi at et metodehovede skrevet på engelsk er mere
sigende end et tilsvarende på dansk:

                                        Side 50 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                            Afleveret: d 13/11

              printMinStock()

Udover at programmere på engelsk bruger vi også kamelnotation, hvilket betyder at
når ens metodehovede er bygget op af flere ord, skal første bogstav starte med stort.
Det er især anvendeligt hvis man har et langt metodehovede:

              connectMatchIdWithBracketType()

Patterns
I dette kapitel vil vi analyse og dokumentere vores brug af patterns (mønstre).

Grundliggende har vi 9 GRASP mønstre/ principper:

   1. Creator
   2. Information Expert
   3. Low Coupling
   4. High Cohesion
   5. Controller
   6. Polymorhis
   7. Pure Fabrication
   8. Indirection
   9. Protected Variations



Vi vil nu beskrive de mønstre vi har valgt at benytte i udviklingen.

Low Coupling-pattern
Dette mønster bruger vi sammen med den tredelte lagdeling. Lav kobling fordi
klasserne skal være uafhængige. Dette mønster hænger sammen med High Cohesion
pattern.




High Cohesion-pattern
Dette mønster bruger vi sammen med den tredelte lagdeling. Høj binding fordi det gør
koden mere overskuelig og lettere at vedligeholde, samt at det kode kan genbruges.
Dette mønster hænger sammen med Low Coupling pattern.




                                       Side 51 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                          Afleveret: d 13/11

Controller-pattern
Dette mønster bruger vi som et led i den tredelte arkitektur. Dette gør vi da det giver
højere fleksibilitet, såfremt UI’en skal udskiftes. Controlleren er altså det første lag
bag GUI laget som koordinerer efterfølgende operationer. Vi har en hoved-controller
som styrer alt funktionalitet som vedrører emails, så har vi to andre controllers som
bl.a. styrer opstartsproceduren og en anden som styrer alt som vedrører logfilerne.




Creator-pattern
Vores liste følger også princippet "Creator" i GRASP-pattern. Dvs. at vores eks. B
klasse har ansvaret for oprettelse af en instans af A hvis B aggregerer A objekter.

Dette mønster bruger vi i forbindelse med vores GUI lag. Vi har valgt at give GUI
laget adgang til Model laget, da det har mange fordele fremfor at få Controller laget til
at sende trivielle objekter frem og tilbage. Ydermere ville det kræve meget kode på
Controller laget, så som get-metoder.

Dette fremmer ikke low coupling og high cohesion, men det gør det nemmere at
programmere. Vi har valgt denne løsning, selvom det kræver lidt opmærksomhed,
hvis man vil udskifte GUI-laget.

Singleton-pattern
Ved et singleton-pattern forstås, at det kun er en klasse, der er ansvarlig for at
oprette et objekt.

Klassens attributter indkapsles ved at gøre dem private, og kan kun tilgås udefra
igennem et statisk metodekald. Dette mønster bruger vi i sammenhæng med
database forbindelsen. Ved at bruge dette mønster sikrer vi at der kun bliver oprettet
en instans når systemet starter, som efterfølgende bliver brugt så længe systemet
kører. Nedenståede kode viser hvordan opbygningen i DbConnection.cs er.
Konstruktøren er private så man ikke kan oprette flere instanser af klassen. Så har vi
statiske metoder til at give os den samme instans og forbindelsen.


 private DbConnection()

 {

      try

      {

                                        Side 52 af 93
              sqlsource = ConfigurationManager.AppSettings["sqlsource"];

              sqldatabasename = ConfigurationManager.AppSettings["sqldatabasename"];
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11

Implementering af Outlook Add-In


   1. Introduktion
   2. Hvad kræves der?
   3. Opstart af Visual Studio Office projekt
   4. Menuer
   5. GUI
   6. Komplekse kode segmenter
   7. ClickOnce publisering

Introduktion
EXPO-NET benytter Outlook som deres mailprogram, så derfor var det åbenlyst at
implementere en form for automatik heri, således at kravene kan opfyldes. Microsoft
har i forbindelse med lanceringen af Office-pakken tilbudt et komplet API hertil, så
udviklere kan få det meste ud af deres produkter og videreudvikle på dem.




Hoved API’et kalder de for Office Object Model, men der er også specifikke under
API’er til eksempelvis Word, Excel og Outlook. Med lanceringen af Office 2007
opdaterede Microsoft også API’et, således at at nu er blevet endnu bedre og
understøtter flere tilpasningsmuligheder.




Hvad kræves der?



For at kunne starte op på at udvikle til Outlook er der et par ting som kræves
installeret i udviklingsmiljøet. Vi benytter Visual Studio 2008 / C#, så for at kunne
komme i gang skal der være installeret følgende;



      Visual Studio 2008
      .NET 3.5
      Visual Studio Tools for Office 3.0 (VSTO)
      Outlook 2007



                                       Side 53 af 93
Gruppe 9                                                                                                   Produkt rapport
Montes                                                                                             Vejleder: Finn Nordbjerg
5. semester                                           Hovedopgave                                        Afleveret: d 13/11

Den interessante pakke her er Visual Studio Tools for Office 3.0. Denne pakke giver os
adgang til at oprette Office projekter i Visual Studio. Uden denne pakke har vi ikke
adgang til nogen Office templates. De andre pakker er trivielle og kan findes på
www.microsoft.com sammen med VSTO pakken.

Opstart af Visual Studio Office add-in projekt



Vi vil nu vise hvordan processen er helt fra starten af. Vi antager at de fire krav som
er opstillet ovenstående er installeret.




                     Figur 2: Her ser vi projekt vinduet i Visual Studio, hvor Office er markeret og
                     Outlook 2007 er valgt.

I Visual Studio vælges ”New Project”, og Office i den venstre menu. I hovedvinduet
ses de templates som VSTO tilbyder. Vi vælger herefter Outlook Add-in og svarer Ok.

Visual Studio vil herefter genere et projekt for os, og oprette de nødvendige filer. Vi
arbejder      i   filen    ThisAddin.cs,           hvor      vi     kan      skrive       almindelig       C#    kode     i
ThisAddin_Startup og ThisAddin_Shutdown. Vi vil nu vise hvordan man laver en
simpel metode som scanner Indbakken igennem for emails, og returnerer antallet.




                                                       Side 54 af 93
              Figur 3: ThisAddin.cs vises med de to primære metoder.
Gruppe 9                                                                                                 Produkt rapport
Montes                                                                                           Vejleder: Finn Nordbjerg
5. semester                                       Hovedopgave                                          Afleveret: d 13/11




Figur 4: ThisAddIn_Startup med kode

Her kan vi se hvordan koden kan bygges op direkte i ThisAddIn_Startup(). Nu da
dette kun er for demonstrationens skyld, gør det ikke alverden, men det som er værd
at bemærke her, er at det er GUI-tråden som eksekverer koden. Så imens vi kører
vores O(n) loop igennem hænger Outlook faktisk.




                    Figur 5: Vi har nu flyttet koden ned i scanInbox() som startes af sin egen
                    tråd

Vi har nu flyttet koden fra Figur 3 ned i sin egen metode scanInbox(). Hvor vi så i
ThisAddIn_Startup() afvikler scanInbox() via en delegate i sin egen tråd. Dette sikrer
at GUI-tråden ikke hænger og Outlook dermed kan færdig gøre sin opstartsprocedure.




              Figur 6: Her ses koden i aktion




Her ses resultatet af koden.

Vi har nu ganske simpelt tilføjet vores egen funktionalitet til Outlook. Vores test Add-
in vil efterfølgende starte op hver gang vi starter Outlook, da Visual Studio compiler et
VSTO manifest som tilføjes til registreringsdatabasen under:

                                                   Side 55 af 93
Gruppe 9                                                                             Produkt rapport
Montes                                                                       Vejleder: Finn Nordbjerg
5. semester                                 Hovedopgave                            Afleveret: d 13/11

”Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\Outlook
AddIn1\”
Hvis man vil slette Add-in’et skal denne reference i regedit blot slettes, så starter add-
in’et ikke op sammen med Outlook.

Menuer
Det er også muligt at lave sine egne menuer, henholdsvis en tilpasset højrekliks menu
og en menu i toppen.

Vi vil nu vise hvordan vi har lavet vores tilpassede højrekliksmenu.




I Outlook regi kaldes højrekliksmenuen for Application_ItemContextMenu. Denne
menu kan man tilføje            nye     felter til vha. CommandBar. Vi benytter os                af
CommandBarPopup, da den kan opretter en sub-menu som kan indeholde vores egne
felter.


 archivepopup =
 (Office.CommandBarPopup)CommandBar.Controls.Add(Office.MsoControlType.msoControlPopup,
 Type.Missing, "archivingGroup", 2, Type.Missing);




 archivepopup.BeginGroup = true;

 archivepopup.Tag = "archivingGroup";

 archivepopup.Caption = "Archive";

 archivepopup.Visible = true;




 addSubMenuButtonInbox(archivepopup,Selection);

 addSubMenuButtonSentMail(archivepopup, Selection);
Dette stykke kode opretter et nyt felt i højrekliksmenuen. Den er af typen
CommandBarPopup hvilket betyder at den kan ”foldes” ud. 2’tallet repræsenterer
positionen i menuen, så med andre ord, skal den indsættes som den anden øverste.
Ydermere giver vi feltet et navn, et tag, bestemmer at det skal være en gruppering så
der kan være flere sub-menus under, separator-stregen osv. Slutteligt kører vi to nye
metoder, som hver især opretter sin egen sub-menu. De får i øvrigt deres parent-
menu med som parameter, og en Outlook.Selection, som de skal bruge.




                                            Side 56 af 93
Gruppe 9                                                                            Produkt rapport
Montes                                                                      Vejleder: Finn Nordbjerg
5. semester                                Hovedopgave                            Afleveret: d 13/11
 private void addSubMenuButtonInbox(Office.CommandBarPopup CommandBarPopup, Outlook.Selection
 Selection)

 {

     selection = Selection;




     if (selection.Count == 1 && GetMessageClass(selection[1]) == "IPM.Note")

     {

         item = (Outlook.MailItem)selection[1];

         inboxButton =
 (Office.CommandBarButton)CommandBarPopup.Controls.Add(Office.MsoControlType.msoControlButton,
 missing, missing, 1, missing);

         inboxButton.Caption = "Inbox";

         inboxButton.FaceId = 9652;

         inboxButton.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonIconAndCaption;

         inboxButton.Visible = true;




         inboxButton.Click += new
 Office._CommandBarButtonEvents_ClickEventHandler(inboxButton_Click);

     }

 }




Her opretter vi sub-menu knappen ”Inbox”, som er af typen CommandBarButton.

Vi har en constraint som gør at vi kun vil vise knappen hvis det item vi markerer, er
en ”IPM.Note”. Dette er en email i Outlook regi. Såfremt det er en email vi har fat i,
skal ”Inbox” knappen tilføjes til vores CommandBarPopup . Det FaceId vi tildeler
knappen er id’et på ikoner som findes i Office. Slutteligt opretter vi en clickevent for
knappen, så vi kan styre hvad der skal ske når vi trykker på knappen.

Som udgangspunkt har vi så en fuldstændigt customiseret højrekliksmenu som vi selv
kan styre og håndtere events’ne på.




                                           Side 57 af 93
Gruppe 9                                                                            Produkt rapport
Montes                                                                      Vejleder: Finn Nordbjerg
5. semester                                  Hovedopgave                          Afleveret: d 13/11

Ovenstående kode bliver eksekveret når vi trykker på knappen ”Inbox”. Som nævnt
tidligere er det vigtigt at holde styr på sine tråde, så i det at vi trykker på knappen og
eventet bliver skudt i gang, sørger vi for at vores kode bliver kørt i sin egen tråd så
Outlooks GUI tråd ikke fryser. Det skal helst være muligt at bruge Outlook imens
vores kode kører. Derfor gør vi det på denne måde.




Vores funktionelle menu ser ud på ovenstående måde. Grunden til blandingen af
engelsk og dansk er at vores Outlook 2007 er på dansk, mens vores custom menu er
på engelsk. Dette er et krav fra EXPO-NET.




 private void inboxButton_Click(Office.CommandBarButton Ctrl,ref bool CancelDefault)

 {

     Thread archiveInboxThread = new Thread(delegate() {

           ctre.NextItem = false;

           ctre.scanInboxForKnownSenderAddresses();




     });

     archiveInboxThread.Name = "archiveInboxThread";

     archiveInboxThread.IsBackground = false;

     threadsList.Add(archiveInboxThread);

     archiveInboxThread.Start();

 }




                                             Side 58 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11

GUI
I forbindelse med arkiveringen af mails, har vi haft brug for at prompte brugeren, når
vi ikke har kunnet afgøre hvad vi skulle gøre. Derfor har vi lavet et Windows.Forms
GUI vindue, vi viser i disse tilfælde. I situationen hvor afsenders email ved inbox
arkivering eller modtagerens email ved sent emails arkivering prompter vi brugeren
vha. disse vinduer:




Figur 7: Inbox arkivering ..

Denne GUI ser brugeren idet der bliver modtaget en email, hvor afsenderen ikke
fremtræder i databasen over kendte afsendere. Brugeren har herefter mulighed for at
tilknytte afsenders email til en allerede eksisterende virksomhed eller oprette en ny. I
venstre side har vi informationer omkring emailen, og i højre side har vi indholdet af
emailen samt headeren.




                                      Side 59 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                      Afleveret: d 13/11




Figur 8: Inbox arkivering med header aktiveret

Ovenstående billede viser hvordan headeren på emailen bliver vist hvis man sætter
flueben i øverste højre hjørne. Den kan være i relevant at se i tvivls tilfælde, f.eks.
det eksempel vi ser på figuren. I To: feltet står der undisclosed-recipents: som er en
mailingliste Prosa benytter. I headeren kan vi se at X-Original-To: står til at være
sendt til den email vi har tilknyttet til systemet.




                                        Side 60 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                         Afleveret: d 13/11

Komplekse kode segmenter
Vi har valgt nogle interessante kode segmenter ud som vi vil gennemgå. De er alle
sammen en vigtig rolle for at få Add-in’et til at funktionere efter hensigten.




getToEmailFromHeader()
I det første eksempel har vi valgt at vise, hvordan vi sikrer os at emailen som findes i
indbakken er addresseret til den email-adresse vi har valgt. I Outlook er det muligt at
have flere email konti, og man vil derfor kunne have flere emails i sin indbakke som
er sendt til sine forskellige konti. Vores Add-in er sat til kun at kigge på den konti som
er sat til at være standard kontoen.




                                       Side 61 af 93
Gruppe 9                                                                            Produkt rapport
Montes                                                                      Vejleder: Finn Nordbjerg
5. semester                                Hovedopgave                            Afleveret: d 13/11

 public string getToEmailFromHeader(Outlook.MailItem item)

 {

     String header =
 (String)item.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E"
 );

     string returnString = String.Empty;

     Outlook.NameSpace outlookns = aco1.GetNamespace("MAPI");

     List<String> emails = new List<string>();

     string emailPattern = @"([\w-\.]+)@((\[[0-9]{1,3}\." + @"[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-
 ]+\.)+))([a-zA-Z]{2,5}|" + @"[0-9]{1,3})(\]?)";




     MatchCollection mc = Regex.Matches(header, emailPattern);




     foreach (Match m in mc)

         emails.Add(m.Value.ToLower());




     String[] noDupes = emails.Distinct().ToArray();




     foreach (String s in noDupes)

     {

         if (s.Equals(outlookns.CurrentUser.Address.ToLower()))

              returnString = s;

     }

     return returnString;

 }

Ovenstående metode finder alle emails nævnt i headeren, tilføjer dem til en
MatchCollection vha. Regex klassen. Såfremt vi finder flere ens emails i headeren,
udvælges kun de unikke. Slutteligt looper vi de unikke emails igennem, og undersøger
om nogen af de fundne matcher den email konti Outlook benytter som standard-
emailen. Hvis den findes returnerer vi den email-adresse.




Samtidighed ved DB transaktioner
Når vi gemmer emails’ne på SharePoint, har vi valgt at give dem et unikt id i
filnavnet. Dette har vi valgt at gøre for at eliminere risikoen for filnavne kollisioner. Vi


                                           Side 62 af 93
Gruppe 9                                                                                    Produkt rapport
Montes                                                                              Vejleder: Finn Nordbjerg
5. semester                                      Hovedopgave                              Afleveret: d 13/11

har lavet følgende metode som indsætter og udtrækker et unikt id. Vi har valgt at lave
metoden transaktionssikker, da der jo er tilknyttet flere klienter, som helst ikke skal
’stjæle’    ids    fra   hinanden.       Denne    metode         indsætter   også   Message-ID’et       fra
indkommende emails, således at to klienter ikke kan arkivere den samme email.




 public int getMaxId(string s)

 {

           [.. start of method omitted ..]




                  SqlCommand myCommand = new SqlCommand("

                  SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

                  BEGIN TRANSACTION T1

                  INSERT INTO mail_id VALUES('" + s + "')

                  SELECT max(id) AS id FROM mail_id

                  IF (@@ERROR <> 0)

                  ROLLBACK TRANSACTION T1

                  ELSE

                  COMMIT TRANSACTION T1", con);



           [.. rest of method omitted ..]




Vi har valgt at lave opbygningen af transaktionen direkte i SQL-querien. Man kunne
også have valgt at lave et SqlTransaction objekt og knytte til SqlConnection’en og
kalde .commit() og .rollback() herpå. Udfaldet vil være det samme. Vores ISOLATION
LEVEL er SERIALIZABLE, der findes tre andre(ReadUncomitted, ReadComitted og
RepeatableRead), som er mindre restriktive og bl.a. ikke sikrer mod fantom rækker.
Grunden til at vi bruger SERIALIZABLE er fordi vi ikke vil risikere at forskellige klienter
arbejder på SQL-tabellen imens en klient er ved at indsætte. Det giver et hak på




                                                 Side 63 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                            Hovedopgave                           Afleveret: d 13/11

performance skalaen, men til gengæld et ordentligt skub mod højere sikkerhed og
eliminering af arkiverede dupletter.




getMessageIdFromInternetHeader()

Som nævnt i det ovenstående afsnit har vi brug for Message-ID’et på emailen til at
filtrere dupletter fra med. Sådant et Message-ID bliver sat en mailserver, og findes
derfor        først   når   emailen      har           været   forbi    en       mailserver.




Ovenstående metode looper alle linjer igennem på headeren i en email. Vi starter med
at indlæse headeren i en streng via PropertyAccessor.GetProperty på emailen.
Efterfølgende laver vi en StringReader som kan læse linje-for-linje. Hvis den
nuværende linje starter med ”message-id”, så går vi ind og finder det startindex hvor


                                       Side 64 af 93
Gruppe 9                                                                             Produkt rapport
Montes                                                                       Vejleder: Finn Nordbjerg
5. semester                                  Hovedopgave                           Afleveret: d 13/11

karakteren ’<’ findes. Efterfølgende søger vi videre på linjen, fra startindex indtil vi
finder ’>’ som er slutindex. Sidst men ikke mindst udtrækker vi indholdet af det som
står imellem ’<’ og ’>’, og det er derfor vi plusser 1 på startindex og trækker det fra
endindex. Vi har som en ekstra sikkerheds foranstaltning valgt at sige linjerne skal
konverteres til karakterer uden kapitaler [a-z], da vi oplevede at nogle headere ikke
var ens. Nogle skrev Message-ID mens andre skrev Message-Id og message-Id.
Slutteligt returnerer vi messageid’et som en streng, såfremt det er en email uden
header (sendte emails indeholder ikke en header, før den første mailserver har
modtaget den), returnerer vi en default streng.

ClickOnce publisering


Visual Studio har en mulighed for at publisere sit projekt, således at man får en
installationsfil man køre som installerer og sætter Add-in’et op. Når man vælger at
publisere, går Visual Studio ind og genererer forskellige filer og nøgler.




Da vores projekt er et VSTO projekt, bliver følgende filer og mapper oprettet:



 OutlookAddIn1_1/

 OutlookAddIn1_1/OutlookAddIn1_1.vsto
 OutlookAddIn1_1/setup.exe
 OutlookAddIn1_1/Application Files/

 OutlookAddIn1_1/Application Files/OutlookAddIn1_1_1_0_0_2

 OutlookAddIn1_1/Application Files/OutlookAddIn1_1_1_0_0_2/OutlookAddIn1_1.dll.config.deploy

 OutlookAddIn1_1/Application Files/OutlookAddIn1_1_1_0_0_2/OutlookAddIn1_1.dll.deploy

 OutlookAddIn1_1/Application Files/OutlookAddIn1_1_1_0_0_2/OutlookAddIn1_1.dll.manifest

 OutlookAddIn1_1/Application Files/OutlookAddIn1_1_1_0_0_2/OutlookAddIn1_1.vsto




Med disse filer vil det nu være muligt at installere VSTO’et på n klienter. Hvis man
derimod skal ændre noget i konfigurationsfilen før VSTO’et installeres, skal man enten
ændre     det   i   Visual   Studio     og   herefter    re-publisere   projektet,      eller   ændre

                                             Side 65 af 93
Gruppe 9                                                                                    Produkt rapport
Montes                                                                              Vejleder: Finn Nordbjerg
5. semester                                        Hovedopgave                            Afleveret: d 13/11

konfigurationsfilen med en editor og herefter re-signere projektet. Den sidste løsning
kræver ikke adgang til koden.

Manuel signering
Det er ikke utænkeligt at man kan stå i en situation hvor man ikke har adgang til
sourcekoden, men kun de ovenstående filer, og har brug for at ændre nogle setup
parametre i .config filen. Derfor er det som sagt nødvendigt at manuelt signere filerne
igen.




På de næste fire figurer vil vi vise proceduren, hvor man kan ændre i Application Files
og stadig køre installationsprogrammet uden fejl.




               Figur 9: Oversigt over filer når projektet lige er publiseret




Den ovenstående figur afspejler følgende tre filer.




Deployment manifest:                             OutlookAddIn1_1.vsto

Application manifest:                            OutlookAddIn1_1.dll.manifest

Config file:                                                     OutlookAddIn1_1.dll.config.deploy




Man ser tydeligt hvordan OutlookAddIn1_1.vsto kigger i OutlookAddIn1_1.dll.manifest




                                                   Side 66 af 93

                Figur 10: Nu er der sket ændringer i .config filen
Gruppe 9                                                                                             Produkt rapport
Montes                                                                                       Vejleder: Finn Nordbjerg
5. semester                                        Hovedopgave                                     Afleveret: d 13/11

som har en liste over filer i Application Files, her OutlookAddIn1_1.dll.config.deploy.




Hvis man så retter noget i .config filen vil den hash-værdi som findes i
OutlookAddIn1_1.dll.manifest på OutlookAddIn1_1.dll.config.deploy ikke passe mere.

Det kan rettes med Mage.exe som er et signeringsværktøj som findes i Visual Studio.
Mage.exe kan startes via Visual Studio’es egen kommandoprompt.


 mage –update OutlookAddIn1_1.dll.manifest –certfile mycert.pfx




Følgende kommando udfører signeringen. mycert.pfx er et certificat som kræves. De
kan genereres mange steder, Visual Studio kan også klare dette for en. Den skal man




              Figur 11: Nu er ændringerne bliver signeret, men nu passer hash-værdien på application
              manifestet ikke i deployment manifestet

selvfølgelig have med rundt så.




Næste problem vi ramler ind i, er at den hash-værdi på OutlookAddIn1_1.dll.manifest
som står i OutlookAddIn1_1.vsto ikke længere passer. Dette kan Mage.exe også rette
for os.


 mage.exe –update OutlookAddIn1_1.vsto –appmanifest “Application
 Files\MyApplication_%Version%\OutlookAddIn1_1.dll.manifest” –certfile mycert.pfx




                                                   Side 67 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                                           Hovedopgave            Afleveret: d 13/11




Fremgangsmåden er den samme som før, nu retter vi bare OutlookAddIn1_1.vsto i
stedet for OutlookAddIn1_1.dll.manifest.




              Figur 12: Re-signeret projekt, med ændringer i .config




Slutteligt ender vi op med en rettet struktur som ser således ud.




Administration tool
Dette Adminstration tool blev lavet på grundlag af at vi skulle bruge nogle ekstra
funktionalitet inde i vores Outlook addin. Funktionerne omhandler, Virksomheds
navne, Lande navne og ISO kode desuden hvilke mail adresser der er tilknyttet hver
enkelt virksomhed. Disse lister med informationer oprettede vi i vores egen Microsoft
SQL database. Da vi selv har oprettet databasen skulle vi bruge et værktøj som Expo-
Net kan bruge til at redigere databasen med, hvis der sker ændringer eller fejl.
Administration toolet som vi har valgt at kalde applikationen, udarbejdede vi i ASP.net
da Expo-Net på den måde ikke behøvede at installere ekstra funktionalitet for at køre
det på deres maskiner og da der ikke var behov for stor grafisk funktionalitet og
avanceret bruger grænseflade.




                                                      Side 68 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                        Afleveret: d 13/11




Administration toolet indeholder:

      Login modulet er lavet ved at oprette en ny database tabel hvor i brugerne af
       siden er lagret. Når logon knappen bliver trykket tjekker login metoden
       databasen om de indtastede oplysninger svarer til det den har i databasen. Hvis
       ikke får brugeren en fejlmeddelelse og får lov til at prøve igen. Hvis brugerens
       indtastning svarer til databasen bliver han sendt videre til forsiden af
       administration toolet.
      Oprettelse af nye brugere til siden. Modulet fungerer ved at brugeren inde på
       settings siden indtaster den nye brugers oplysninger, bruger navn, kodeord og
       en gentagelse af kodeordet for at bekræfte det. Når knappen new bliver trykket
       oprettes der i databasen en ny bruger med bruger navn og kodeord nu kan
       brugeren så logge ind med den nye bruger næste gang siden startes.
      Sletning af brugere på siden. Brugerens indtastninger tjekkes op mod
       databasen for at se om brugerens kodeord matcher med det lagrede. Hvis det

                                      Side 69 af 93
Gruppe 9                                                                      Produkt rapport
Montes                                                                Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                         Afleveret: d 13/11

       indtastede kodeord er korrekt bliver brugeren slettet ellers bliver brugeren
       orienteret om at kodeordet ikke passer.
      Ændringer af eksisterende brugere. Brugerens indtastninger bliver tjekket op
       mod databasen, er kodeordet identisk med det som ligger i databasen.
       Brugerens kodeord bliver ændret til det indtastede.
      Oprettelse af nye lande. Ved indtastning af et nyt land og dens landekode(ISO)
       bliver indtastningerne tjekket nede i databasen for om der er et eksisterende
       land med samme navn og ISO kode.
      Sletning af lande. Sletning af lande foregår igennem en dropdownbox hvor
       brugeren finder det ønskede land og trykker slet. Landet bliver derefter slettet
       ud fra det valgte lands navn i databasen.
      Ændringer i e-mail adresser der er tilknyttet en virksomhed. Ud fra det valgte
       firma i dropdownboxen finder databasen frem til alle de mail adresser der er
       tilknyttede til virksomheden, de bliver så vist i en listbox hvor brugeren kan
       vælge dem enkeltvis og slette dem.
      Sletning af virksomhed. Når en virksomhed skal slettes vælger brugeren en
       virksomhed og trykker delete, ud fra den valgte virksomhed finder databasen
       frem til virksomhedens id som bliver brugt til at finde frem til de mailadresser
       der er forbundet til virksomheden. Alle mailadresserne tilknyttet virksomheden
       bliver slettet og derefter slettes virksomheden i databasen.

Administrations toolet er designet til at være så sparsomt som muligt og til let øvede
brugere da det kun er beregnet til enkelte system administratorer i virksomheden.
Ændringer i databasen vil også foregå sjældent da det ikke er hver dag virksomheder
går fallit eller fusionere og lande kollapser.


Web part


Design SharePoint
For at designe SharePoint brugte vi SharePoint designer, igennem dette program
kunne vi styre hvordan layouten på SharePoint siden skulle være. Vi lavede forsøg
med hovedsider og undersider for at se hvilke muligheder vi havde med hensyn til det
overordnede design og hvordan vi navigerede på SharePoint igennem vores egne
designede sider. Da Expo-net skulle have et relativt design sparsomt system, fandt vi



                                         Side 70 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

hurtigt frem til at hvad vi havde behov for var mest funktionalitet, vi kiggede på om vi
kunne tilføje den funktionalitet vi skulle bruge ved at skrive ny asp kode til i
SharePoint designeren men som det også fremgår af navnet så er det kun tænkt som
et design program udviklingen af funktionalitet foregår i Visual Studio. Så vi gik i gang
med at udvikle i Visual Studio, her kunne vi oprette webparts hvor vi kunne benytte
os af C#.

Forløbet for vores webpart
Vi begyndte at designe en bruger grænseflade til SharePoint og fandt hurtigt ud af at
for at få den funktionalitet som vi ville have i SharePoint skulle vi udvikle vores egne
web parts. Vi gik i gang med at indhente informationer omkring webparts på nettet og
lavede forsøg i Visual Studio. Til at starte med havde vi problemer med at importere
vores egne webparts da vi blev afvist af SharePoint hver gang vi prøvede at
importerer webparten. Den brokkede sig over at webparten ikke var registreret som
sikker.

Vi undersøgte mulighederne omkring hvordan vi kunne få implementeret webparts til
SharePoint og fandt ud af at vi kunne benytte et værktøjs plugin der hedder
WSPBuilder (http://www.codeplex.com/wspbuilder)        værktøjet bygger et projekt op
omkring webparten som så kan kompiler og integreres ind i SharePoint. WSPBuilderen
går ind og registrerer webparten i web.config filen på SharePoint serveren, som vist
forneden.

<SafeControl          Assembly="WSPBuilderProjectExponet,              Version=1.0.0.0,
Culture=neutral,PublicKeyToken=abab7f7349031f7c"
Namespace="WSPBuilderProjectExponet" TypeName="*" Safe="True" />
</SafeControls>




                                       Side 71 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                       Afleveret: d 13/11

Den går også ind og opretter webparten inde på serveren så den er tilgængelig i
webpart          som            set            i       figuren             nedenunder.




WSPBuilderen opretter en WSP fil det er et arkiv der indeholder alle filerne fra
projektet og som så kan overføres direkte og implementeres i SharePoint.

Når webparten implementeres med WSPBuilderen for første gang skal webparten
aktiveres det gøres inde i Site Collection Features hvis det ikke gøres kan webparten
ikke                ses                 på                denne                     liste.




Gui ekstra Funktionalitet.



                                      Side 72 af 93
Gruppe 9                                                                       Produkt rapport
Montes                                                                 Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                          Afleveret: d 13/11

Vi startede vores projekt med udgangspunkt i at vi ville lave en webpart til SharePoint
hvor vi ville vise de arkiverede mails. Webparten skulle bestå af et træ struktur og et
areal hvor vi ville vise indholdet af mailen hver gang der bliver markeret en mail.




Figur 13 SharePoint gui




Vi brugte lang tid på at finde frem til den bedste teknologi til at udvikle denne gui vi
forsøgte os med at lave webparts hvilket vi benyttede os af træstrukturen til højre i
figur 1 er en webpart, vi fandt dog aldrig ud af hvordan vi fik webparten til at
kommunikerer med vores textbox til højre. Vi kiggede også på mulighederne for
integration af silverlight 3.0 på vores Sharpoint gui vi fandt udad at det var muligt
men vi valgte at vælge denne løsning fra, da Expo-net ikke havde brug for Silverlights
funktionalitet som for eksempel Vektor grafik medieafspilning mm. desuden ville det
betyde at Ekspo-net skulle til at installerer Silverlight 3. Vi fandt frem til at den bedste
løsning ville være at udvikle i asp.net og integrerer den på sharepont. Vi begyndte at
udvikle på denne løsning men undervejs fandt vi ud af at outlook faktisk indeholdte en
funktion der gjorde at det var muligt at synkroniserer med Sharpoint serveren og
derved få genereret en mappestruktur inde i Outlook med præcis de visnings
muligheder som vi gerne ville have.          Figur 2 viser den genererede SharePoint
mappestrukturen i Outlook. For at få denne mappestruktur integreret i Outlook skulle



                                        Side 73 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                          Afleveret: d 13/11

brugeren logge ind i SharePoint og eksportere sit bibliotek ved hjælp af denne
funktion der er vist i figur 3.




Når folderne var importeret kan mailene tilgås på normal Outlook måde som vist
nedenfor.




Efter vi fandt denne løsning blev vi lidt i tvivl om vi skulle fortsætte med at udvikle på
vores webpart da vi faktisk havde opfyldt kundens krav, men vi blev enige om at det
jo ikke altid var muligt at tilgå med sin outlook, derimod var SharePoint jo web
baseret og kunne tilgås bare ved hjælp af en browser så vi fortsatte udviklingen.




                                       Side 74 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

Vores endelige webparts: Siden består af to webparts den ene viser folder
træstrukturen og placeringen af filerne, her skulle det være muligt for brugeren nemt
at finde den aktuelle mail brugeren skal bruge.

Den anden webpart skal bruges til at fremvise den valgte mail, når der bliver valgt en
mail i træet skulle mailens indhold og informationer blive vist i de respektive felter så
brugeren kan få et overblik over mailen.




Udviklingen af disse webparts er forgået i Visual Studio 2008, da vi startede med at
kigge på webparts var der ingen af os der vidste noget omkring det så derfor prøvede
vi at finde eksempler som vi kunne analysere og bruge til vores egne formål ”Der er
ingen grund til at opfinde den dybe tallerken to gange” vi fandt vores træstruktur på
nettet http://www.codeproject.com/KB/SharePoint/librarytreewebpart.aspx vi lavede
nogle små ændringer i træstrukturen så når der blev trykket på filen at den ikke blev
åbnet i et nyt vindue. Desuden filtrerede vi en enkelt mappe fra som ikke havde noget
relevans for os.



Oprettelse af webpart.


                                       Side 75 af 93
    Gruppe 9                                                                                Produkt rapport
    Montes                                                                          Vejleder: Finn Nordbjerg
    5. semester                                 Hovedopgave                               Afleveret: d 13/11

    Nødvendige programmer.

                                              SharePoint services 3.0 (WSS).

                     Windows SharePoint Services Software Development Kit (WSS SDK).

                     WSPBuilder.

    Download Links:

     WSS       3.0     http://www.microsoft.com/downloads/details.aspx?FamilyId=D51730B5-
    48FC-4CA2-B454-8DC2CAF93951&displaylang=en

    WSS        SDK        http://www.microsoft.com/downloads/details.aspx?familyid=1c64af62-
    c2e9-4ca3-a2a0-7d4319980011&displaylang=en

    WSPBuilder
    http://wspbuilder.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30858




    Efter at disse programmer er blevet installeret, startes Visual Studio og der navigeres
    til nyt projekt, her vælges WSPBuilder Project når projektet er oprettet ser det således
    ud nu har vi et helt blankt WSPBuilderprojekt. Vi tilføjer nu en ny webpart feature for
    at oprette en webpart skabelon som vi kan bruge til at udvikle i.




Figur 15 Blankt WSPBuilder Projekt        Figur 14 Oprettelse af webpart skabelon


                                                Side 76 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                     Afleveret: d 13/11




Når vi trykker add kommer boksen fra figur frem her bliver webpartens titel,
beskrivelse og hvor vi regner med at bruge webparten titlen og beskrivelsen bliver
vist i SharePoint når vi skal til at implementere webparten.




Når vi trykker ok her får vi oprettet:

                 Elements.xml
                 Features.xml
                 WebPartFeature1.cs (C# Klasse fil)
                 WebPartFeature1.webpart (fil der indeholder hele webparten bruges
                  når webparten skal implementers på SharePoint serveren).




                                         Side 77 af 93
Gruppe 9                                                                        Produkt rapport
Montes                                                                  Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                          Afleveret: d 13/11

Elements.xml indeholder informationer omkring din webpartfeature, hvilken .webpart
fil der er tilknyttet webparten og hvilken gruppe i SharePoint webparten skal oprettes
under. Denne fil bliver oprettet automatisk og behøves ikke at ændres i.

Feature.xml indeholder registrerings nøglen til SharePoint serverens web.config fil det
er vigtigt at denne nøgle bliver registreret for ellers vil SharePoint ikke kendes ved
webparten, da den ikke tror filen er sikker. Registreringen foregår automatisk når
wspBuilderen bygger projektet.

WebPartFeature.cs filen er her hvor vi skriver vores C# kode til vores webpart

WebPartFeature1.webpart er en fil, der bliver brugt til reference af SharePoint. Det er
den der definere fejl håndtering og hvad webparten hedder.

Vi vil nu gerne indsætte en textbox hvor i vi skriver Hello world. Vi går ind og redigere
i den auto genererede metode CreateChildControls i denne metode tilføjer vi de asp.
Net controls som vi skal bruge i dette tilfælde en textbox. For at få adgang til asp.net
controls skal vi tilføje en reference til:

using System.Web.UI.WebControls;

Vi opretter en ny textbox som vi sætter til at have teksten “Hello world” og tilslut
tilføjer vi textbox controllen til siden så den bliver vist i SharePoint.




                                             Side 78 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                       Afleveret: d 13/11

Nu er vi klar til at bygge projektet. Vi starter med at højre klikke på projektet
hvorefter menuen WspBuilder kommer frem under den har vi flere valg mulig hedder
men det er kun de første fire der interresante for os.




Vi trykker nu på Build WSP hvor efter vi kan se nede i vores output vindue at
WSPBuilderen opretter en WSP fil. Denne fil indeholder hele fil strukturen for
webparten. Filen bliver brugt af SharePoint, når webparten skal integreres.




                                       Side 79 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                           Afleveret: d 13/11

Efter at webparten er blevet bygget skal vi integrere den i SharePoint det gøres ved at
vælge deploy i WSPBuilder menuen. Når vi har trykket deploy kan vi se dette i vores
output vindue.




Webparten er nu integreret i SharePoint og registreret i SharePoint serverens
web.config:

<SafeControl     Assembly="WSPBuilderProject7,        Version=1.0.0.0,   Culture=neutral,
PublicKeyToken=c19e78f8c06e70aa"                       Namespace="WSPBuilderProject7"
TypeName="*" Safe="True" />

Vi åbner nu SharePoint og går ind på SITE SETTINGS siden. Under SITE COLLECTION
ADMINISTRATION menuen finder vi den der hedder SITE COLLECTION FEATURES
under denne side kan vi nu se vores webpart.




                                      Side 80 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11




Under siden skal vi nu aktivere vores webpart feature så vi kan tilføje den til
SharePoint.

Nu er vores webfeature aktiveret og klar til brug vi går herefter ind på den side hvor
vi gerne vil have vores webpart vist i og trykker på site Actions og Edit page.

Nu ser vores side således ud vi trykker på Add a web part.




                                       Side 81 af 93
Gruppe 9                                                                  Produkt rapport
Montes                                                            Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                        Afleveret: d 13/11

Nu får vi vist et vindue hvor vi kan se alle de tilknyttede webparts til sharpoint. Vi
finder vores webpart på listen og trykker add.




Nu har vi en så en textbox med tekst i vores SharePoint.




                                      Side 82 af 93
Gruppe 9                                                                      Produkt rapport
Montes                                                                Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                        Afleveret: d 13/11

Performance Tests



Struktur:

        Scan alle mails som ligger i indbakken
        Check om de er sendt direkte til os
        Hvis de er, så fjern ulovlige karakterer og gem emailen til disken
        Opret mapper på SharePoint via webservices
        Upload emailen til SharePoint

Disse performance test tager udgangspunkt I at alle email-addresser er kendte og
associeret til et firma.

Test #1:

CreateFolder:                            Synkront
Upload:                                             Synkront
Antal:                                              418                               emails
Tid:                                                124                           sekunder
Exceptions:                                         5x                              timeout
Mails / sek:                                        3,37

Test #2

CreateFolder:                            Synkront
Upload:                                             Asynkront
Antal:                                              418                               emails
Tid:                                                70                            sekunder
Exceptions:                                         0
Mails / sek:                                        5,97




Test #3:

CreateFolder:                            Asynkront*
Upload:                                             Asynkront
Antal:                                              419                               emails


                                          Side 83 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

Tid:                                               54                           sekunder
Exceptions:                                        0
Mails / sek:                                       7,75

*) Kan ikke garantere at mapperne er oprettet før næste undermappe prøver at blive
oprettet.

Gem alle emails som ligger i indbakken.

Test #1:

saveAs:                                            Synkron
Ids:                                               Nej
Fjerner ulovlige karakterer:         Ja
Antal:                                             419                              emails
Tid:                                               36                           sekunder
Mails / sek:                                       11,63

Test #2:

saveAs:                                            Synkron
Ids:                                               Ja
Fjerner ulovlige karakterer:         Nej
Antal:                                             489                              emails
Tid:                                               30,9                         sekunder
Mails / sek:                                       15,82




TEST
En vigtig del for systemudviklere er at få systemet til at virke efter hensigten og sørge
for at systemet altid giver korrekt information til brugeren. Hvis nu for eksempel at
når vi aktiverer vores arkiver mail at den så afbryder processen halvvejs så mailen
ikke bliver arkiveret men i Outlook vil mailen stå som arkiveret. Det ville være
katastrofalt for programmet og brugerens tillid til programmet. Så for at sørge for at
et program er så fejlfrit som overhoved muligt benytter udviklere sig af tests. Der er
flere forskellige måder at teste sit program på:

                                       Side 84 af 93
Gruppe 9                                                                          Produkt rapport
Montes                                                                    Vejleder: Finn Nordbjerg
5. semester                               Hovedopgave                           Afleveret: d 13/11

   -   Unit test
              o   Black-box testing (Tester den eksterne implementering af objektet)
              o   White-box testing (Tester den interne implementering af objektet)
   -   Specefication test (Tester en hel use case uden at tænke på hvordan det er
       implementeret)
   -   Structure test (De mest brugte veje i systemet testes)


Hver af disse tests har sine fordele og ulemper, og alle er gode hvis man benytter
dem i de rigtige situationer. Mange gange kan det endvidere være en fordel at benytte
flere tests, da man på den måde kun blive mere sikker på sine systemer fungere.

Vi har lavet specifikation test på vores program og vil herunder gennem gå testen af
arkivering af mail usecasen.



Scenarietest
I dette afsnit vil vi gå igennem vores usecases og teste for om de bliver opfyldt i vores
program.

Kriterier for testen:

Use Case: Indbakke arkivering af mails.         Prioritering: 1.


Beskrivelse:               Brugeren har fået en ny mail fra en ekstern kunde i sin
                           indbakke som skal arkiveres.
Aktører:                   Medarbejder


Præbetingelser:            Han er oprettet på SharePoint serveren som bruger.


Postbetingelser:           Brugeren har arkiveret mailen.


Scenario 1. Succes
Bruger.                                       System.
       1. Brugeren åbner Outlook 2007                 2. Systemet scanner indbakken på
                                                          Outlook   for   nye     eller   ikke-
                                                          arkiverede   mails    og   arkiverer


                                          Side 85 af 93
Gruppe 9                                                                         Produkt rapport
Montes                                                                   Vejleder: Finn Nordbjerg
5. semester                          Hovedopgave                               Afleveret: d 13/11

                                                      mails    til   mappe-strukturen         i
                                                      SharePoint ud fra kendte data på
                                                      databasen.
                                                      Mailen    bliver    markeret     ”auto-
                                                      arkiveret” i brugerens indbakke




Trin 1.

Vi starter med at åbne Outlook for at tjekke for om vi har modtaget nye mails.




Vi kan se vi har fået en ny mail.

Systemet forsøger at oprette forbindelse til databasen og auto arkivere mailen i
databasen. Da vi kører vores add-in uden brug af visual studio har vi normalt ingen
mulighed for at se hvilke ting der går galt men ved hjælp af et lille program der
hedder tail og en automatisk oprettet log fil kan vi få tilgang til fejlfinding i
programmet. Vi har selv defineret igennem program koden hvilke ting vi gerne vil
have skrevet ud til loggen og i dette tilfælde er vi interesseret i vores SharePoint og
Database forbindelse.




                                      Side 86 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11




Vi kan i loggen se at vi har forbindelse til både vores database og SharePoint.

Trin 2.

Visuel bekræftelse af om mailen er blevet arkiveret korrekt.




I vores Outlook kan vi nu se at mailen under kategorier umiddelbart er arkiveret men
der kan måske være gået noget galt under overførslen til SharePoint. Vi åbner vores
SharePoint og finder den arkiverede mail.




                                      Side 87 af 93
Gruppe 9                                                                   Produkt rapport
Montes                                                             Vejleder: Finn Nordbjerg
5. semester                              Hovedopgave                     Afleveret: d 13/11




I vores SharePoint kan vi se at mailen er blevet gemt og at alt er forløbet som det
skulle.

Resten af vores tests kan ses i bilag.

Kompabilitets test med Windows 7
Da EXPO-NET har ytret ønske om at programmet skulle være fremtidssikret til
Windows 7 prøvede vi at installere Microsoft Outlook 2007 og vores add-in.

Kriterier for testen.

              1. Microsoft Outlook 2007 skal være kompatibel med Windows 7
              2. Add-in installation skal kunne udføres på Windows 7
              3. SharePoint tilgang fra Windows 7, remote connection skal fungere
                 problemfrit.

Installationen af Microsoft Outlook 2007 forløb fint og uden problemer, brugertesten
af programmet uden add-in forløb også uden problemer.

Første Kriterie: Status OK

Installationen og brug af add-in’en gik fint uden problemer.

Anden Kriterie: status OK


                                         Side 88 af 93
Gruppe 9                                                                     Produkt rapport
Montes                                                               Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                          Afleveret: d 13/11

SharePoint tilgang fungerede også efter diverse firewalls og antivirus programmer var
slået fra.

Tredje Kriterie: OK

Kompabilitets testen forløb uden problemer og EXPO-NET Mail Arkiv er kompatibel
med Windows 7.



Dubletter
En af de funktionaliteter, hvor vi har løst problemstillingen delvist er omkring
dubletter. Det er løst på den måde, at hvis en mail er 100% identisk med en anden,
vil vi via vores tilskrevne message-id, ikke kunne arkivere denne mail igen.

EXPO-NET efterspurgte en anden form for mail-håndtering. Når de modtog en mail,
ville man nogen gange blot sende et hurtigt svar som bekræftelse på, at man har
modtaget mailen. Det kan være nogle få linjer, som tak for mailen og god weekend
eller lignende.

Denne bekræftelse ville de gerne undgå at arkivere. Denne form for dublet, har vi
ikke kunnet håndtere, for hvornår drejer sig om et væsentligt eller uvæsentligt svar?
Der kan være en situation, hvor man også tilføjer noget betydningsfuldt til sit svar,
som skal arkiveres. Risikoen for at en fejl kan opstå, og en vigtig mail ikke bliver
arkiveret, er for stor. Samtidig er der ingen problemer med lagerplads.



Overflytning af eksisterende kunde-data
Overflytning af EXPO-NET’s data fra deres nuværende system til det nye, blev ikke
nødvendigt, da man ville sætte en dato, for hvornår det nye system skulle tage over.
Fremfinding af ældre filer skulle foretages på virksomhedens systemdrev, og de nye
filer skulle findes via mappestrukturen i SharePoint.

En mulig løsning er at man satte en person til manuelt at oploade filerne til
SharePoint.   En   anden   løsning   er,   at   udvikle   en   applikation   der   scanner
netværksfolderne igennem, og oploader emails’ til SharePoint. Kravet til dette er, at
landenavnene matcher de prædefinerede landenavne i databasen.




                                       Side 89 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                       Afleveret: d 13/11

Fremlæggelse Montes 05-11 2009
Til Montes daglige morgenpause 8.45 fremlagde vi vores projekt resultater. Ved
morgenmødet deltog hele den tilstedeværende personalestab på tyve personer.
Fremlæggelsen blev godt modtaget og der kom konstruktive ideer.

Ideer:

        Emne linje special cases:
         Hvis der ankommer en ny mail med et specifikt indhold i emnelinjen kunne man
         opsætte specielle regelsæt for hvad der skulle ske.


        Country selectionsbox automatisering:
         Boksen der indeholder landenavne indretter sig automatisk efter den mest
         relevante for brugeren.

Montes regner med at implementere programmet og bruge det i den daglige drift når
det er blevet rettet igennem og testet. Desuden var flere af medarbejderne enige om
at der højst sandsynligt var et stort marked for vores løsning.

Salgschefen snakkede med os omkring et datablad, han gerne ville have, som skulle
indeholde en specifik beskrivelse af systemet, hvilket skulle bruges til at sælge
systemet (se bilag).



Fremvisning hos EXPO-NET 05-11 2009.
Ved fremvisningen hos EXPO-NET A/S, var det aftalt at vi skulle demonstrere et
næsten færdigt system, for at vise systemets grænseflader og funktionaliteter.
Tilstede var direktør Lars Klinkby, samt syv af hans ansatte, som repræsentanter for
medarbejderne. De skulle vurdere systemet som brugere.

Fremvisningen var kun demonstration og ikke en brugertest. Dette vil først komme
senere, når evt. tvivlspørgsmål og ønsker om forbedringer er afklaret. Montes A/S vil
stå for disse tests.

Oplæg og demonstration af programmet foregik på samme måde, som til
fremvisningen på Montes tidligere på dagen..




                                        Side 90 af 93
Gruppe 9                                                                    Produkt rapport
Montes                                                              Vejleder: Finn Nordbjerg
5. semester                           Hovedopgave                         Afleveret: d 13/11

Oplæg af Jakob fra Montes omkring SharePoint
Jakob fremviste Montes’ egen SharePoint løsning, med grafer, nyheder, feriekalender
osv.

Tilbagemeldingen på demonstrationen af vores system var meget positivt. Herefter
blev der tid til uddybende forklaringer og spørgsmål og forslag til forbedringer.

Spørgsmål?
Er det muligt at arkivere interne mails?

Hvordan håndterer vi dubletter?

Er det muligt at se vedhæftede filer? (Attachments ikon på en SharePoint liste i
Outlook 2007)

Er det muligt at ændre opsætningen af tab-order.

Er det muligt at sortere efter hvem som sidst har ændret en fil?

Hvad er en realistisk tidsplan?

En masse intern spørgsmål mellem Lars (EXPO-NET A/S) og Jakob (Montes A/S).

Forbedringer til Add-in’et
      Ændring af tab-order.
      Genvejstaster til knapperne
      Auto-selection af Denmark i rullemenuen (Evt. sortering af de oftest brugte
       lande)
      ?



Konklusion på demonstration
EXPO-NET var tilfredse med demonstrationen, og med justering af systemet med de
ønskede forbedringer, vil man kunne få det system, som lever op til virksomhedens
ønsker og krav. Vi har foretaget rettelserne til systemet, så det fungerer efter
hensigten. Montes skal foretage de sidste tests og justeringer, for at have et færdige
produkt. Herefter det en forhandlingssituation mellem EXPO-NET og Montes, som
afgør prisen og brugen af SharePoint og vores add-in til Outlook 2007.




                                       Side 91 af 93
Gruppe 9                                                                        Produkt rapport
Montes                                                                  Vejleder: Finn Nordbjerg
5. semester                                Hovedopgave                        Afleveret: d 13/11


Konklusion
Konklusionen til vores rapport, bunder selvfølgelig i vores problemformulering. Har vi
opnået de svar på vores spørgsmål, vi har sat os for projektet. Vi har indledningsvis
givet en karakteristik af EXPO-NET A/S. Virksomheden står i en situation, hvor de er
nødt til at finde en løsning til arkivering af deres mail-korrespondance mellem
virksomheden og dens kunder. Valget er faldet på SharePoint Services kombineret
med en add-in til Outlook 2007, da det er forholdsvis nemt at integrere ind i EXPO-
NET’s nuværende IT-system.

SharePoint og Office pakken er godt integreret med hinanden, da begge produkter er
udviklet af Microsoft. Udviklingen er en fortsat udbygning af integration mellem
Microsofts    produkter,   så   man   på    den     måde   kan   udnytter   og   effektiviserer
arbejdsprocesserne maksimalt. Systemet er fremtidssikret til Windows 7, da vores
test har vist, at det også fungerer fint på dette nye styresystem.

Vi har fået udviklet en add-in til Outlook 2007, som kan håndtere automatiske
arkiveringer til SharePoint Services for både indkomne og sendte mails, samt en
manuel procedure, når dette ikke er muligt. Vi har udviklet dette i Visual Studio C#,
ved brug af et VSTO tool.

Derudover fik vi udviklet en særskilt web part til SharePoint, hvor EXPO-NET’s
kundemapper bliver oprettet i en træstruktur. Dette fik vi integreret med Outlook
2007, men den sidste funktionalitet, fik vi ikke gennemført, da vi ikke kunne vise
indholdet af en konkret mail i en mail-displayer ved siden af træstrukturen.

De problemstillinger og krav, som er specificeret i rapporten, har vi løst i store træk.
Vi har udviklet en færdig arkiveringsfunktion til Outlook 2007 med integration til
SharePoint. De sidste brugertests og finpudsninger er det eneste, der mangler.

EXPO-NET A/S skal tage den sidste beslutning, om at indføre SharePoint som deres
intranet og udnytte og udvikle de muligheder det giver. Vi er selv tilfredse med det
resultat, som vi kan tilbyde virksomheden. EXPO-NET A/S vil få et system, der lever
op til deres krav og ønsker, og som kan installeres forholdsvist nemt og billigt. Der vil
være en indkøringsperiode, til SharePoint og brug af den nye arkiveringsmetode. I




                                           Side 92 af 93
Gruppe 9                                                                         Produkt rapport
Montes                                                                   Vejleder: Finn Nordbjerg
5. semester                             Hovedopgave                            Afleveret: d 13/11

forhold til alternativerne, så kan vi kun anbefale, at EXPO-NET A/S benytter vores
arkiveringsløsning.

Med hensyn til processen med udviklingen af rapporten og applikationerne, har vi
haft et meget positivt og udviklingsmæssigt samarbejde, både som gruppe men også i
samarbejde med Montes og EXPO-NET. Vi henviser til vores procesrapport, hvor vi
beskriver dette forløb i detaljer.

Der er stadig nogle forbedringer, vi kunne tilføje vores løsning. Først og fremmest er
der web parten, hvor vi kan tilføje den sidste funktionalitet, så man vil kunne se
indholdet af mailen i en mail-displayer ved siden træstrukturen for EXPO-NET’s
kunder.

En anden forbedring, er at man i SharePoint, tilføjer en funktionalitet, så man kan se
en vedhæftet fil, markeret som et ikon, ud for en konkret mail. Ligesom man ser det i
Outlook. Det kan man ikke nu.

Montes har ønsket en forbedring, hvor man kan opsætte email-regler, således at
mails fra bestemte mail-adresser/personer ikke bliver arkiveret/promptet.

Der er nogle komplikationer ved at bruge ClickOnce-publishering, da filerne bliver
signeret af Visual Studio og hvis man skal ændre i f.eks. konfigurationsfilen, skal alt
resigneres. Dette betyder også, at hvis man har installeret add-in’en, og vil rette i
konfigurationsfilen for at foretage ændringer, så kan man ikke re-installere add-in’en,
uden at ændre versionsnummeret. Såfremt man ikke gør dette, vil man få en fejl ved
installation. Vi har en forventning om, at denne procedure er forbedret i Visual Studio
2010, kombineret med Office 2010.

Til sidst vil vi gerne takke Montes A/S og EXPO-NET A/S, for et godt samarbejde og
skabe     rammerne    for   vores    hovedopgave        på   5.   semester   på   Nordjyllands
Erhvervsakademi.




                                        Side 93 af 93

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:42
posted:9/19/2012
language:Norwegian
pages:93