Utveckling av moduler f¶r DotNetNuke- baserade CMS/CRM 4212/ av moduler f¶r

download Utveckling av moduler f¶r DotNetNuke- baserade CMS/CRM 4212/  av moduler f¶r

of 63

  • date post

    24-Apr-2019
  • Category

    Documents

  • view

    219
  • download

    0

Embed Size (px)

Transcript of Utveckling av moduler f¶r DotNetNuke- baserade CMS/CRM 4212/ av moduler f¶r

Utveckling av moduler fr DotNetNuke-baserade CMS/CRM-system

Robert Nygren

Martin Johansson

EXAMENSARBETE 2006 MNE DATATEKNIK

Postadress: Besksadress: Telefon: Box 1026 Gjuterigatan 5 036-10 10 00 (vx) 551 11 Jnkping

Utveckling av moduler fr DotNetNuke-baserade CMS/CRM-system

Developing modules for DotNetNuke-based CMS/CRM-systems

Robert Nygren

Martin Johansson

Detta examensarbete r utfrt vid Ingenjrshgskolan i Jnkping inom mnesomrdet Datateknik. Arbetet r ett led i den treriga hgskoleingenjrsutbildningen. Frfattarna svarar sjlva fr framfrda sikter, slutsatser och resultat. Handledare: Anders Carstensen Omfattning: 10 pong (C-niv) Datum: 2006-06-07 Arkiveringsnummer:

Abstract

1

Abstract

INVID Jnkping AB is an IT-consultant company. They are a part of the INVID-group that employ about 140 people and are represented in ten different locations in Sweden. INVIDs business areas include development and customization of web applications.

The company has been developing a web publishing tool, INVID Publisher .NET. Small- and medium sized companies are offered hosting of a complete web portal/platform with Content Management System/Customer Relationship Management (CMS/CRM) functionality. Customers can manage the content published on web pages. They can choose among a set of templates were there are modules for example text/html and news. To find the right template for the purpose can be a difficult task for the customer.

The purpose of our report is to an answer two main questions:

How to develop modules for DotNetNuke?

What is the foundation for the architecture and structure of DotNetNuke?

Our goal was to create modules with the programming language VB.NET and server technology ASP.NET. We would take advantage of the DotNetNuke web application framework for developing modules that offer the customer a way to easily and effectively build new web pages with INVID Publisher .NET.

The starting point for the module we have developed is based on analysis of former existing module that INVID AB was not comfortable with. We analysed and discussed the problems that the old module constituted. During the development of the module we also received feedback on our work from our tutor on INVID and other members of the development team.

Our work has lead to a template module were the customer can create new web pages based on templates and also create new templates. INVID and we also consider our module to be graphically well designed.

In the future its possible to further develop our module to a great extent because we have followed the principles of DotNetNuke and have written program code that is object-oriented, reusable, and extensible and is based on good programming principles and prominent design patterns.

Sammanfattning

2

Sammanfattning

INVID Jnkping AB r ett IT-konsult bolag. De ingr i INVID-gruppen som totalt sysselstter drygt 140 personer och finns representerade p tio orter i Sverige. De r verksamma inom ett flertal IT-omrden, dribland utveckling och anpassning av webbapplikationer.

Fretaget har under en tid arbetat med att utveckla ett webbpublicerings-verktyg, INVID Publisher.NET. Sm- och medelstora- fretag erbjuds en komplett webbportalplattform med Content Management System/Customer Relationship Management (CMS/CRM) funktionalitet sammankopplat med webbhotelltjnster som fretaget erbjuder.

Kunder har mjlighet att sjlva pverka det innehll som finns publicerat p webbsidor. De kan vlja bland ett antal mallar dr det finns moduler fr bl.a. text/bild och nyheter. Att hitta rtt mall fr ndamlet kan dock vara svrt fr kunden.

Vrt examensarbetes frgestllningar var fljande:

Hur utvecklar man en modul fr DotNetNuke?

Vad ligger till grund fr DotNetNukes arkitektur och uppbyggnad?

Vrt ml var att skapa en eller flera moduler med programmeringssprket VB.NET och servertekniken ASP.NET. Vi avsedde ocks att lra oss webbapplikationsramverket DotNetNuke fr att bygga modul(er) som erbjuder kunden att enkelt och effektivt bygga nya sidor i INVID Publisher .NET.

Utgngspunkten fr den modul som vi utvecklade bygger p analyser av tidigare existerande mallmodul som fretaget (INVID AB) inte var njda med. Vi analyserade och diskuterade de problem som den gamla modulen medfrde. Under utvecklingens gng fick vi feedback p vrt arbete frn vr handledare p fretaget och andra personer frn utvecklingsavdelningen.

Examensarbetet har resulterat i en fungerande mallmodul dr kunden kan med ltthet skapa nya sidor utifrn mallar och ven skapa nya mallar. Uppdragsgivaren och vi anser att modulen som utvecklats r mycket grafiskt vldesignad.

I framtiden kan modulen vidareutvecklas framgngsfullt bl.a. tack vare att vi i vrt utvecklingsarbete har fljt DotNetNuke-ramverket och dess principer strikt. Vi har ven skrivit kod som bl.a. karakteriseras av att den r objekt-orienterad, teranvndbar, utbyggbar och bygger p goda programmerings-principer och framstende designmnster.

Sammanfattning

3

Nyckelord

DotNetNuke ASP.NET Stored Procedures Blog Providermodell

Innehllsfrteckning

4

Innehllsfrteckning

1 Inledning ....................................................................................7

1.1 FRUTSTTNINGAR ................................................................................................................7 1.1.1 Fretagets bakgrund .........................................................................................................7 1.1.2 Vr bakgrund ....................................................................................................................7

1.2 PROBLEMFORMULERING.........................................................................................................7 1.3 SYFTE OCH ML......................................................................................................................8 1.4 DISPOSITION ...........................................................................................................................9

2 Teoretisk bakgrund.................................................................10

2.1 INTRODUKTION TILL DOTNETNUKE .....................................................................................10 2.2 INTRODUKTION TILL MODULER ............................................................................................12 2.3 ACTIVE SERVER PAGES.NET................................................................................................13 2.4 PROVIDERMODELLEN ...........................................................................................................14 2.5 DOTNETNUKES LAGERAKITEKTUR ......................................................................................16 2.6 DATA ACCESS LAYER OCH DATA LAYER .............................................................................17

2.6.1 Data Access Layer ..........................................................................................................17 2.6.2 Data Layer ......................................................................................................................18 2.6.3 Microsoft Data Access Application Block.......................................................................18

2.7 AFFRSLOGIKLAGRET BUSINESS LOGIC LAYER.................................................................19 2.7.1 Introduktion.....................................................................................................................19 2.7.2 Custom Business Objects ................................................................................................20 2.7.3 CBO Hydrator.................................................................................................................21 2.7.4 Cachningstjnst...............................................................................................................23 2.7.5 Sprkversttning ...........................................................................................................24 2.7.6 Felhantering....................................................................................................................26 2.7.7 Hndelseloggning ...........................................................................................................27 2.7.8 Personalization ...............................................................................................................28 2.7.9 Skning............................................................................................................................28 2.7.10 Installation och uppgradering....................................................................................30 2.7.11 Skerhet......................................................................................................................30

2.8 PRESENTATIONSLAGRET.......................................................................................................31 2.8.1 Introduktion.....................................................................................................................31 2.8.2 Web forms .......................................................................................................................31 2.8.3 Skins ................................................................................................................................33 2.8.4 Container ........................................................................................................................34 2.8.5 Modulers webbuser-kontroller..................................................................