FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015)
|
|
|
- Ejnar Christiansen
- 10 år siden
- Visninger:
Transkript
1 FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015)
2 INDHOLD 1. FORMÅL OG SCOPE TEKNOLOGIER OG RAMMEVÆRKER ARKITEKTUR KOMBIT.FLIS.PORTAL SCRIPTS SHAREPOINT TILPASNINGER KILDEKODE C# KODESTANDARDER POWERSHELL KODESTANDARDER JAVASCRIPT KODESTANDARDER ASP.NET WEBFORMS SPMETAL KOBLING TIL NETCOMPANYS CRM SYSTEM SEMANTIK FLIS_LOGGER DISPOSE ELEVATE LOKAL UDVIKLING SQL OG MDX FEATURE RECEIVERS INTERFACES OG SNITFLADER STIKPRØVER STIKPRØVE 3.1 FLIS STANDARDRAPPORT STIKPRØVE 5.1 KOMMUNE STIKPRØVE 8.1 DATAPAKKEBESTILLING AUTOMATISK TEST (UNIT/INTEGRATION) KONKLUSION i
3 1. FORMÅL OG SCOPE Formålet med dette dokument er at give en gennemgang af kildekoden og arkitektur i forhold til overdragelse til en ny udviklings- og systemleverandør TEKNOLOGIER OG RAMMEVÆRKER Følgende teknologier er brugt til udviklings i backend og frontend: BACKEND: SPMetal (Kombit.Flis.Portal.DataAccess.LinqContext) CKSDev SharePoint 2010 ASP.Net AutoSPInstaller PowerShell AnalysisServices SQL FRONTEND jquery Grunt RequireJS Underscore SPServices 1
4 2. ARKITEKTUR SharePoint løsningen er struktureret i 3 SharePoint (wsp) pakker: Kombit.Flis.Portal Kombit.Flis.PortalDefinition Kombit.Flis.SiteDefinitions Alle løsningskomponenter fra D Softwarearkitektur afsnit er implementeret i pakken Kom- bit.flis.portal, løsningen er grupperet efter artefakt type: Det kan derfor være svært for en ny udvikler direkte og danne sig et overblink over præcis hvor koden til de enkelte komponenter ligger. Det er også uklart hvordan den præcise opdeling er fordi ting som måske kunne være grupperet sammen også er fordelt under flere foldere, f.eks. indholdstyper: En mere naturlig opdeling af pakker kunne måske være en pakke per løsningskomponent. De to sidste pakker implementere portal strukturen fra afsnit 4.3 i softwarearkitektur dokumentet hvor man får indtryk af at der er tale om to portaler. Men i PortalDefinition virker det som at der ligger en ekstra form for portal som ikke er beskrevet i dokumentet en Kom- bit.flis.communityportaldefinition. 2
5 2.1. KOMBIT.FLIS.PORTAL Hele pakken Komit.Flis.Portal er tæt koblet, og der er ikke brug koncepter som f.eks. dependency injection. Hvis der var taget udgangspunkt i guidelines fra Microsoft ville man kunne skabe en mere afkoblet arkitektur. I pakken er der ligeledes implementeret en LoggingService, servicen skriver til SharePoints ULS log. Klassen er implementeret på den måde man må forvente af en SharePoint 2010 løsning SCRIPTS Udover selve pakkerne findes der også en stor mængde scripts. Formålet med disse scripts er deployment af løsningen, men det virker også som at delkomponenter ligger f.eks. i FLIS41\source\web\sharepoint\Kombit.Flis.Portal\Scripts\Modules. Opdelingen mellem hvad der f.eks. er implementeret som en feature receiver og hvad der er et script er svær at gennemskue SHAREPOINT TILPASNINGER SharePoint er blevet tilpasset i større grad, løsningen har lavet custom tilpasningerne af typerne: SiteDefinitions CustomFieldTypes (Kombit.Flis.Portal.Common.CustomFieldTypes) DelegateControls HttpModules Layouts Pages EventReceiver Mange af disse tilpasninger er tidssvarende for da løsningen er lavet, men hvis man vil op på en nye version af SharePoint, måske med en cloud-first tilgang, så må man forvente at der skal investeres en del tid i en sådan opgradering. 3
6 3. KILDEKODE Der er ikke fundet beskrivelser i dokumentationen for hvilke kode standarder løsningen skal overholde. Mange steder i koden er sproget en blanding mellem dansk og engelsk, f.eks.: protected void EditComment(object sender, EventArgs e) var button = sender as Button; CurrentCommentId = int.parse(button.commandargument); } protected void Tilbage(object sender, EventArgs e) var source = HttpContext.Current.Request.QueryString["source"]; Det er ikke optimalt hvis vedligeholdelse af løsningen skal udbydes til en udenlandsk partner, eller løsningen skal vedligeholdes af en person med mindre gode dansk egenskaber C# KODESTANDARDER De fleste steder overholdes normale navne og kodestandarder for C#. Flere steder er man dog ikke helt konsekvent med brug af var, f.eks: private static StringBuilder CreateResetPasswordMailBody(string navn, string newpass- word) StringBuilder mailsignature = MailSignature(); var sb = new StringBuilder(); sb.append("kære " + navn); og casing (burde have været stort C): public string createflislink(string lastbody) Der er også forskel på hvilke type mellemrum man har brugt (tabs vs. spaces): 4
7 Mængden af kommentarer er meget forskellig, nogle klasser indeholder kun standard autogenerede kommentarer, andre ingen. Men der findes også klasser med fint XML documentation comments POWERSHELL KODESTANDARDER Ser fornuftig ud, flere steder kunne man dog godt have fulgt Verb-Noun standarden ( JAVASCRIPT KODESTANDARDER Alt javascript kode befinder sig i Kombit.Flis.Portal\Kombit.Flis.Portal\LAYOUTS\Kombit.Flis.Portal\UI\js kodestandarden ser fornuftig ud. Men jquery burde have været sat i noconflict mode for at undgå sammenfald med SharePoints standard definition af $ ( ASP.NET WEBFORMS Web kontrollerne er lavet på den klassiske ASP.Net WebForms måde, man kunne måske forvente at en løsning af dette omfang var lavet efter et MVW (Model-View-Whatever) princip (f.eks. og SPMETAL Der er dannet SPMetal data kontekst som ligger i Kom- bit.flis.portal\kombit.flis.portal\dataaccess\linqcontext Konteksten bliver brugt f.eks.: Kombit.Flis.Portal.LAYOUTS.Kombit.Flis.Portal.ApplicationPage1 var url = KommuneHelper.GetAdminPortalUrl() + "/UddannelseOgVejledning"; using (var entity = ContextHelper.GetAdministrationUddannelseContext(url, true)) var context = HttpContext.Current; HttpContext.Current = null; var kurser = entity.kurser.where(k => k!= null && k.status!= Status.Aflyst && k.status!= Status.Gennemført); Men alligevel fraviger man i samme klasse også brugen og tilgår SharePoint direkte: SPList listkurser = root.lists["kurser"]; SPListItem kursus = listkurser.getitembyid(kursusnavnid); if (kursus!= null) string lokationtmp = kursus["courselocation"].tostring(); kursuslokationnamn = lokationtmp.substring(lokationtmp.indexof('#') + 1); KursusLokationLbl.Text = kursuslokationnamn; KursusDatoLbl.Text = Date- Time.Parse(kursus["StartDate"].ToString()).ToShortDateString(); 5
8 3.6. KOBLING TIL NETCOMPANYS CRM SYSTEM Dokumentet D0130 Logisk Datamodel beskriver i afnist 7 at fejl og ændringer sendes direkte fra til Netcompanys CRM system. BCS modellen i Kom- bit.flis.portal\kombit.flis.portal\artifacts\bcs Models\IncidentModel er derfor stærkt afhængig af dette eksterne system. 6
9 4. SEMANTIK Afsnit beskriver konceptuelle udfordringer ved kildekoden FLIS_LOGGER Der er fundet en FLIS_Logger klasse hvor alle metoderne er tomme. Løsningen indeholder allerede en anden logger LoggingService. Kursus delen i løsningen kalder FLIS_Logger: new FLIS_Logger("FLIS", "FLIS log").writetoeventlog("kursusdetaljer: Der fandtes enten ingen eller flere kursusmoduler i kursusmodul- listen med følgende navn: " + kursusmo- dulnavn + ", da " + SPContext.Current.Web.CurrentUser.LoginName + "forsøgte at få vist kursusdetaljer.", "error"); Og det virker derfor til at disse fejlbeskeder bliver slugt af systemet DISPOSE Flere steder i løsningen kan der findes eksempler på at SPWeb og SPSite objekter ikke frigives korrekt. F.eks.: public class LayoutEventReceiver : SPFeatureReceiver public override void FeatureActivated(SPFeatureReceiverProperties properties) SPSite site = (SPSite)properties.Feature.Parent; using (SPWeb web = site.rootweb) Og public class ipadrollouthelper public static void RollOutIPadAppFile(SPWebApplication webapplication, SPFile sourcefile) LoggingService.LogVerbose(string.Format("Beginning rollout of ipad- file {0}", sourcefile.name)); SPSecurity.RunWithElevatedPrivileges(() => foreach (SPSite site in webapplication.sites) Er direkte modstridende i forhold til de guidelines som microsoft har lavet: Andre steder i løsningen (f.eks. SiteCollectionIteratorService): foreach (SPSite spsite in webapplication.sites) try... } finally 7
10 spsite.dispose(); } } Virker det dog til at man er udmærket klar over disse guidelines. Et værktøj som burde man forvente var brugt til udviklingen, men det virker ikke som tilfældet. Konsekvensen ved ikke at bruge dispose korrekt er at hukommelsen for Application Pool en vil blive fyldt og på et tidspunkt recyclet ELEVATE Når rettigheder skal forhøjes bruges RunWithElevatedPrivileges. Mange steder bruges den dog ikke korrekt, f.eks. (fra ManuelDataleveranceJob): using (SPSite site = new SPSite(siteCollection.Url)) SPSecurity.RunWithElevatedPrivileges(() => Andre steder kaldes metoden korrekt, og der er tilmed en kommentar til hvorfor det skal gøres sådan (AfmeldKursus): protected void AfmeldKursusBtn_Click(Object sender, EventArgs e) var centralurl = KommuneHelper.GetAdminPortalUrl(); // XTZ FLIS- 1744: Moved the RunWithElevatedPrivileges to BEFORE we open the Admin- site, hence giving the user the required credentials.. SPSecurity.RunWithElevatedPrivileges(() => using (var site = new SPSite(centralUrl)) Se for korrekt brug (frequently, to perform actions in SharePoint, you must get a new SPSite object to effect the changes.). Når RunWithElevatedPrivileges bruges er det også vigtig at validere på om den nuværende bruger faktisk har burde kunne udføre den handling som skal gøres. F.eks. virker det som at der i AfmeldKur- sus gives lov til at alle kan slette elementer fra listen Kursustilmeldinger: SPSecurity.RunWithElevatedPrivileges(() => using (var site = new SPSite(centralUrl)) using (var root = site.allwebs["uddannelseogvejledning"]) root.allowunsafeupdates = true; //Sletter listeelementet med det id, som står i query string int coursetodeleteid = Convert.ToInt32(Request.QueryString["k"]); SPList listkursustilmeldinger = root.lists["kursustilmeldinger"]; listkursustilmeldinger.items.deleteitembyid(coursetodeleteid); listkursustilmeldinger.update(); 4.4. LOKAL UDVIKLING Der er fundet hardcoding af en IP: 8
11 //...[Necessary hack for local develop- ment]... var host = SPContext.Current.Web.Url.Contains(" ")? " : SPContext.Current.Web.Url; Det virker som en IP der bliver brugt i forhold til udvikling, hvis udviklingsservere skal flyttes på et tidspunkt vil man måske også skulle ændre denne IP. Som koden er skrevet kommer IP en også med i produktions koden, her kunne man med fordel have brugt compiler direktiver ( SQL OG MDX SQL og MDX er hardcoded i løsningen, typisk vil man nok have brugt stored procedures eller et Object-relational mapping framework for at opnå bedre abstraktion. I klassen Begrebsbeskrivelse overføres der direkte argumenter fra query string til mdx kommando. Det har måske ikke den store konsekvens, men virker lidt bekymrende FEATURE RECEIVERS Features udgøre funktionalitet som kan aktiveres og deaktiveres. Når man aktivere en feature og aktiveringen går godt, vil man som bruger eller udvikler forvente funktionaliteten blev tilføjet. Men flere af de features som er blevet lavet sluger fejl, f.eks. (CommunityBlogModifierEventReceiver): try web.masterurl = "/sites/community/_catalogs/masterpage/fliskommune.master"; web.custommasterurl = "/sites/community/_catalogs/masterpage/fliskommune.master"; web.update(); } catch (Exception ex) Logging.WriteException(ex, "CommunityBlogModifi- er.eventreceiver.cs:featureactivated() - Customize Branding"); } Burde have været lavet med trow efter logging.en konsekvens kan være at man som udvikler skal ind og læse logs for at finde ud af hvad der er gået galt INTERFACES OG SNITFLADER Kildekoden indeholder kun et enkelt interface (IActiveDirectory), og det kan derfor konkluderes at der ikke er lagt meget energi i at beskrive snitflader mellem komponenter. Dokumentationen beskriver heller ikke snitflader mellem komponenter. 9
12 5. STIKPRØVER Dette afsnit indeholder stikprøver på dokumentet D0130 Logisk Datamodel afsnit 3 om FLIS entiteterne. Stikprøverne indeholder eventuelle forskelle mellem dokumentation og kildekode STIKPRØVE 3.1 FLIS STANDARDRAPPORT Navn: FLIS - Standardrapport imod FLIS Standardrapport Attributter: Standard er tvungen i koden, men ikke i dokumentation Ansvarlig Person er tvungen i koden, men ikke i dokumentation Rapporttype hedder Type i koden Rapporttype valgmuligheder i dokumentation: Analyserapport, Benchmarkrapport vs. koden: Benchmarking, Analyse Felt i kode som ikke er i dokumentation: FlisRapportId 5.2. STIKPRØVE 5.1 KOMMUNE Navn: FLIS - Kommune imod Kommune Attributter: Kommunenavn er nedarvet fra Element (navn blot ændret) KommuneID hedder Kommune ID i koden Valg til Region passer ikke præcis sammen med koden Valg til Aktuel tilmeldingsstatus passer ikke præcis med koden. Godkendt dato er tvungen i dokumentation med ikke i koden Kommentar er tvungen i dokumentation men ikke i koden Forretningsansvarlig hedder Forretningsansvarlig Kommune i koden Teknisk ansvarlig hedder Teknisk ansvarlig Kommune i koden Forretningsansvarlig type passer ikke, dokumentation siger Opslag (flere) men er kun enkelt Teknisk ansvarlig type passer ikke, dokumentation siger Opslag (flere) men er kun enkelt Teknisk kontakt Netcompany type passer ikke, dokumentation siger Enkelt tekstlinje men er opslag Dokumentet D0160 Brugergrænseflade administrationsportal afsnit 2.2 viser: 10
13 Det bemærkes at der findes to Teknisk kontakt - Netcompany på skærmbilledet. Ifølge dokumentationen burde der kun finde et tekstlinje felt, men der findes to, en af type User og en af typen Url. Følgende script er fundet der tilføjer feltet: Scripts\Administration.ModifyKommuneList.ps1 Både kildekoden (pakkerne) indeholder derfor felter og scripts indeholder felter, det er ikke klart hvorfor noget ligger i scripts og andet ligger i pakker STIKPRØVE 8.1 DATAPAKKEBESTILLING Navn: Datapakkebestilling imod FLIS - Datapakkebestilling Attributter: Område er tvungen i dokumentation men ikke i koden Område type er uklar fordi valg i dokumentation men taxonomy i kode Felt i kode som ikke er i dokumentation: Status 11
14 6. AUTOMATISK TEST (UNIT/INTEGRATION) Under gennemgangen blev der ikke fundet udpræget grad af automatisk test. Det eneste der blev fundet var en enkelt test i FLIS41\source\test\SeleniumFrontend der omhandlede nøgletal for kommuner. 12
15 7. KONKLUSION SharePoint er tilpasset i stor grad. Det er tydeligt at der ikke er brugt ensartede kodestandarder igennem hele løsningen. De klassiske udfordringer omkring SharePoint 2010 server side udvikling i forhold til elevate og dispose er løst tvivlsomt. Dokumentationen omtaler komponenter men der er ingen direkte relation mellem pakker eller namespaces og disse komponenter. Løsningen indeholder ikke begreber som Dependency Injection eller Model View Whatever og er derfor forholdsvis hårdt koblet. Hvis man på et tidspunkt ønsker at skrive automatiske tests til løsningen kan dette være svært fordi der ikke er introduceret disse former for abstraktion. Alt er samlet i få SharePoint pakker, det kan derfor være svært at finde rundt i den store pakke hvis man kun skal ændre i en af komponenterne. Stikprøver fra Logisk Datamodel holdt op imod kildekoden antyder at disse ikke stemmer overens. 13
Fra idé til virkelig med Azure Mobile Services
Fra idé til virkelig med Azure Mobile Services Niels Ladegaard Beck Holion [email protected] @nielslbeck Windows Developers in Denmark Azure App Service Mobile App Introduktion til Azure Mobile Services Platform
Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere
Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel
Udvikling af DOTNET applikationer til MicroStation i C#
Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt
Software Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Database for udviklere. Jan Lund Madsen PBS10107
Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated
Databaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.
.NET UDVIKLER NATIONALITET: DANSK PROFIL Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. Stor erfaring omkring databasedesign, datahåndtering og MS
MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007
MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge
Hvordan vælger jeg dokumentprofilen?
Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel
SWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Hvorfor skal vi bruge objekt orienteret databaser?
OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal
PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;
PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;
Tredjepart webservices
Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output
[MARKONLINE I CITRIX]
2012 [Type text] Udarbejdet af Udarbejdet for Optimering af MarkOnline I Citrix miljøer Indholdsfortegnelse Baggrundsinfo... 2 Symptomerne... 3 MarkOnline starter ikke... 3 MarkOnline startes, men download
APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne
APEX i Praksis Martin B. Nielsen Navn MBNDATA Emne Foredragsholderen Oracle/APEX Arkitekt/udvikler/DBA Siden Oracle v.5 (1988) APEX Siden 2007, men før (Database provider, HTMLDB) MBNDATA siden 1996 MBNDATA
Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere
Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Dokument version: 2.0 ADS version: 1.0 Henvendelse vedrørende affald: Miljøstyrelsen Roskilde, Affaldssekretariatet
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Installation af Office 365 - Windows 8/10
Installation af Office 365 - Windows 8/10 Vigtig information før du starter 1. Office 365 virker kun så længe du går på skolen. 2. Office 365 kan kun installeres på Windows 7 eller nyere styresystem. 3.
Guide til opdatering af Navision Stat med ny funktionalitet - nye objekter, datakonvertering, automatisk indlæsning af datafiler.
Side 1 af 20 Navision Stat 7.0 ØSY/JACPM 15-05-2015 Vejledning til Lokal Versionsstyring (VMS) Overblik Guide til opdatering af Navision Stat med ny funktionalitet - nye objekter, datakonvertering, automatisk
Succes med intranet til Office 365. Den 13. august 2014 Webtop A/S s. 1
Succes med intranet til Office 365 Webtop A/S s. 1 Hvem er jeg https://twitter.com/jeslas http://www.linkedin.com/in/jesslassen Webtop A/S s. 2 Hvad er Office 365 Office pakken (Word, Excel..) Skyudgaver
SYSTEMDOKUMENTATION AF POC
DIGITALISERINGSSTYRELSEN POC PÅ ORKESTRERINGSKOMPONENTEN SYSTEMDOKUMENTATION AF POC Version: 1.1 Status: Endelig Godkender: Forfatter: Copyright 2019 Netcompany. All rights reserved Dokumenthistorik Version
Web CMS kontra Collaboration
Web CMS kontra Collaboration Sammenligning mellem Sitecore og Sharepoint Lars Fløe Nielsen, Evangelism [email protected] Page 1 Sitecore har dyb integration til Microsoft Sitecore har integration til mange
PHP Quick Teknisk Ordbog
PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,
HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE
HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE 1 Tekniske Krav 1.1 Hardware krav: En skærm gerne med touch Hvis skærmen ikke har touch, skal du bruge et tastatur og en mus Webcam Gerne i HD En ekstern lydenhed
Vejledning til Teknisk opsætning
Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder
Installation af Office 365 - Windows 7
Installation af Office 365 - Windows 7 Vigtig information før du starter 1. Office 365 virker kun så længe du går på skolen. 2. Office 365 kan kun installeres på Windows 7 eller nyere styresystem. 3. Installation
Cms-uafhængighed. Cms uafhængighed. Automatiseret kodegenerering Typestærkt datalag med auto completion og compile time-fejlhåndtering.
Dato 28.01.2012 Go Basic udviklerdokumentation Go Basic er et asp.net projekt, som skal fungere som et startsite for nye webprojekter. I nuværende form er Go Basic implementeret i Umbraco, men i virkeligheden
Website sikkerhed SQL Injections og mere...
... Skrevet af Daniel Pedersen 1 Introduktion Sikkerheden i dag skal være i top, der er rigtig mange små hurtige og nemme metoder til at få adgang til ens hjemmeside. Mange er ikke ældre end 14 år, og
Civilstyrelsen. Lex Dania editor. Installationsvejledning. Version: 1.0 2011-09-26
Installationsvejledning Version: 1.0 2011-09-26 Indhold 1 INDLEDNING... 3 1.1 HVAD ER LEX DANIA EDITOR?... 3 1.2 FORUDSÆTNINGER... 3 1.2.1 Hardware... 3 1.2.2 Software... 3 1.3 POLICIES... 4 2 INSTALLATION
Interaktionsudvikling
Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html
Brugervejledning til databrowseren
Brugervejledning til databrowseren Indholdsfortegnelse Indledning...2 Hvordan tilgås browseren og api et...2 Databrowseren...2 Søgning...2 Visning...4 Features i listevisningen...4 Detaljeret visning...5
Intro Denne vejledning beskriver proceduren for at opdatere en kørende UMS version til seneste version.
Intro Denne vejledning beskriver proceduren for at opdatere en kørende UMS version til seneste version. For at kunne gennemføre en opdatering, kræves der administrator adgang til alle UMS servere. En typisk
1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5
INDHOLD 1 Domæne 2 1.1 Design valg.................................... 2 1.1.1 User.................................... 2 2 Klassediagran 5 3 Serbio 7 3.1 Kommunikation..................................
JavaScript. nedarvning.
JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man
Installation og Drift. Aplanner for Windows Systemer Version 8.15.12
Installation og Drift Aplanner for Windows Systemer Version 8.15.12 Aplanner for Windows løsninger Anbefalet driftsopsætning Cloud løsning med database hos PlanAHead Alle brugere, der administrer vagtplaner
RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
Videregående programmering i Java
Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter
Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling
Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange
Netværk & elektronik
Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars
University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Who s to blame? Jeppe Rørbæk. [email protected] +45 22 70 55 07. Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT
Who s to blame? Jeppe Rørbæk [email protected] +45 22 70 55 07 Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT Introduktion til ATLAS AJAX Intro / hensigten med ATLAS Hvordan
Eksempel: et ordresystem note 5 Lagdeling s. 1
Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar
IT Support Guide. Installation af netværksprinter (direkte IP print)
IT Support Guide Denne guide er hentet på www.spelling.dk Program: Microsoft Windows Vista Program sprog version: ENG (US) Guide emne: Installation af netværksprinter (direkte IP print) Publikationsnr.:
Datatekniker med programmering som speciale
Datatekniker med programmering som speciale H2 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H2 er der fokus på at integrere Objektorienteret Programmering i dine programmer. Fagene
Brugermanual til Assignment Hand In
Brugermanual til Assignment Hand In Indhold: Undervisere:... 2 Hvor finder jeg Assignment hand in?... 2 Opret en opgave... 3 Slet en opgave... 4 Rediger en opgave... 4 Hvor finder jeg de afleverede filer?...
Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON
Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server
Teknisk dokumentation
Teknisk dokumentation Scene 11 Html kode javascript kode Til at sætte et stykke lyd ind på en hjemmeside, skal man bruge det semantiske tag . Inde i tag et skal man bruge et empty tag, ,
Servicedesk JAST/december 2015
JAST/december 2015 Formål Formålet med dette dokument er, at give styregruppen for IT Center Fyn en beskrivelse af, hvordan supportsager håndteres efter etableringen af en, samt en forklaring af de begreber
BRP 6.9.2006 Kursusintroduktion og Java-oversigt
BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:
Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004
Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),
ASB E-mailsignatur. ASB E-mailsignatur. Vejledning til opsætning af e-mailsignatur IKT - Februar 2008
ASB E-mailsignatur I det følgende forklares, hvordan du opretter ASBs e-mailsignatur for medarbejdere. Det skal her noteres at e-mail signaturen ikke kan opsættes i webmail (webmail.asb.dk), men skal opsættes
Kursus navn: Indledende programmering Kursus nr. 02101
Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning
Indhold. Vejledning til import af regneark til Outlook 2010
Indhold Moderniseringsstyrelsens regneark med lønkørslerne hentes... 2 Trinvis indlæsning af regneark i Outlook 2010... 2 Aktiver importfunktion... 2 Udpeg Excel-ark... 4 Importér aftaler... 6 Afslutning...
Webserverprogrammering
Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Installation af Elektronisk APV på flere PC er
Installation af Elektronisk APV på flere PC er Vejledning til installation af Elektronisk APV, når programmet skal installeres på flere PC er, der kobler sig op på en fælles server. 1 Installation af Elektronisk
Opsætning af forbindelse til Danmarks Statistik
23. april 2015 MTL Forskningsservice Opsætning af forbindelse til Danmarks Statistik Denne vejledning beskriver opsætning og logonprocedure fra Windowsmaskiner ved ekstern logon til DST s forskerservere
accodesk vi hjælper dig hele vejen!
accodesk vi hjælper dig hele vejen! Brugervejledning Æbeløgade 4, st. 2100 København Ø november 2015 Side 1 29 Indhold Forside... 3 Knowledge base... 4 Artikler... 4 Search... 5 Log in - Sign in... 5 Opret
MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.
MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig
DKAL Snitflader REST Register
DKAL Snitflader REST Register 1 Indholdsfortegnelse A2.1 INTRODUKTION 3 A2.1.1 HENVISNINGER 3 A2.1.2 LÆSEVEJLEDNING 4 A2.1.2.1 SÅDAN LÆSES EN REST GRAF 4 A2.1.2.2 SÅDAN LÆSES EN RESSOURCE OG EN TYPE 4
Denne rapport er skrevet af:
Rapport til Kajakklubben Rapport til Kajakklubben Generelt: Frontend: Backend Admin: Backend instruktør sign up: Backend medlem sign up: Database: Oprettelse af database og SQL sætning: Konklusion: Bilag:
MSI pakke til distribution af AutoPilot komponenter.
MSI pakke til distribution af AutoPilot komponenter. Hermed følger en basal dokumentation for installation af AutoPilot msi pakken. Der vil i det følgende blive forklaret brugen af 4 programmer fra Microsoft,
APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright
APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR EG Copyright Infrastruktur er mere end nogle servere... Den Mentale Infrastruktur Den Fysiske Infrastruktur Den Mentale Infrastruktur Vi vil jo gerne have vores
SAX Simple API for XML.
SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller
Web- og serverprogrammering
Web- og serverprogrammering Introduktion til web- og serverprogrammering - dag 1 Overblik over WSP, eller: de 3+x sprog i webprogrammering (HTML, CSS, JavaScript, plus x serverside-sprog) Installation
TimePlan version 6.0 - Installationsvejledning
TimePlan version 6.0 - Installationsvejledning For opgradering af tidligere TimePlan versioner anvendes opdateringsprogrammet: TimePlan 6 Wizard.exe. Programmet kan afvikles på dansk eller engelsk. Opdateringsprogrammet
Design by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen [email protected] Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
OIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk
OIOSAML.NET og Umbraco ved Thomas Ravnholt ravnholt @ silverbullet.dk Silverbullet, stiftet 2003 Silverbullet A/S IT- rådgivning, projektledelse og implementering Officiel SKI-leverandør Kontorer i Århus
Dokumentation af programmering i Python 2.75
Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt
