drupal 7 architectuur

Post on 07-Dec-2014

3.477 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Drupal 7 Architectuur Overzicht, inzicht in mogelijkheden.

TRANSCRIPT

DRUPAL 7 ARCHITECTUUR

Concepten, bouwblokken en praktijk

2010 cc Organisatieontwerp.nl

Dinsdag 11 januari 2011

Door: Maikel Mardjan

LEERDOEL

Schrijf voor jezelf vijf leerdoelstellingen op.

JIJ ÉN DEZE WORKSHOP

Maak je eigen aantekeningen

Stel vragen (gedurende de cursus én na afloop)

Iedere sectie heeft een preview en een review

LOGISTIEK

Eindtijd

Koffie / thee

Sanitaire stop(s)

Pauze

Calamiteiten procedures / nooduitgang

WIE?

Wie ben je?

Wat is je ervaring met Drupal?

Bekendheid met OSS?

Bekendheid met WCM?

Bekendheid met „Web 2.0‟?

Bekendheid met technische werking WCM websites?

WIE IS ORGANISATIEONTWERP.NL

Drs. Ir. Maikel J. Mardjan MBM

Meer dan 20 jaar relevante kennis en ervaring op gebied van IT, management en organisatie. Sterk op het raakvlak tussen bedrijfsprocessen en IT.

Msc (ir) Elektrotechniek – Technische Universiteit Delft

Msc (drs) Bedrijfswetenschappen –Rijksuniversiteit Groningen

Master Business Management (MBM) – TSM Business School

Belangrijkste aandachtsgebieden: Architectuur, (IT) ontwerpen, Open Source, Integratie (SOA), Open Innovatie, Nieuwe Management Concepten en Internet.

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

INLEIDING DRUPAL 7

Preview

Wat is Drupal

Nieuwe functies in Drupal 7

Waarom OSS

Populariteit?

WAT IS DRUPAL 7

Drupal 7 is de meest recente release van het open source content management systeem Drupal.

Belangrijkste verbeteringen in Drupal 7:

Gebruikersvriendelijkheid

Beveiliging

Theme system

RDF ondersteuning

SEO optimalisatie

Performance

Architectuur (o.a. database abstractie laag, custom fields)

(> later meer over de verbeteringen)

WAAROM EEN CMS?

Gezamenlijk werken aan het maken en onderhouden van (web)content op een consistente manier.

Door het gebruik van een CMS is het mogelijk om eenvoudiger zelf of door een bedrijf wijzigingen op een website neer te zetten of te onderhouden.

CMS = Content Management System

STANDAARD WCM FUNCTIES IN

DRUPAL7

De basis (core) is in Drupal 7 sterk verbeterd:

Een content repository (flexibel, schaalbaar en uitbreidbaar)

Authenticatie van gebruikers (auteurs, editors, reviewers etc)

Content creatie via web browser (Echter noodzakelijke wysiwyg editor zit NIET in core!)

Templates (look & feel / content templates)

Publicatie variatie (koppelen van content)

(Eenvoudige) web analytics en rapportages

Ontwerpmogelijkheden voor niet technische gebruikers

Internationalization and localization

Installatie / Configuratie

Voor alle denkbare functionaliteit die niet in Drupal 7 „core‟ zit zijn modules beschikbaar. (Al 895 modules beschikbaar voor D7, voor D6 5162 modules). Denk aan:

Workflow

Editors

CAPTCHA etc

WAAROM OSS?

Open source is gebaseerd op drie concepten:

“A development methodology that defines a communityapproach to developing software, meritocracy of developers, and quality based on peer review.”

Een licentie structuur die vrije en directe toegang geeft tot de source code, conform een of meer “Open Source Initiative” licenses.

Een „community‟ (gemeenschap) van gebruikers en ontwikkelaars waarin open participatie centraal staat.

Waarom OSS voor een Content Management Systeem?

VOORDELEN OPEN SOURCE

Voordelen OSS:

Vrijheid van keus

Betrouwbaarheid

Stabiliteit

Mogelijkheid tot code inspectie (audit)

Kosten

Flexibiliteit en „vrijheid‟

Support mogelijkheden

POPULARITEIT DRUPAL

BEKENDE SITES

BEKENDE SITES

BEKENDE SITES

DRUPAL CMS

De basis:

Content op een Drupal website is een „node‟.

Een node kan van alles zijn:

Een tekst, een foto , een stuk tekst op een forum, een stukje blog tekst enz

Nodes kunnen eigenschappen hebben:

Bijvoorbeeld een reactie of commentaar op een stuk tekst. „Comments‟ worden niet bewaard als nodes maar hebben dus een link met een „node‟.

Door het behandelen van content als „nodes‟ is het mogelijk om zeer eenvoudig nieuwe eigenschappen aan content (dus nodes) toe te voegen.

NIEUW IN DRUPAL 7

Eenvoudige mogelijkheid voor het creëren van CCT (Custom Content Types).

Deze functionaliteit wordt geboden door de Field module

De Field module is nieuw in Drupal 7.

In D6 en eerder werd voor het creëren van opmaat content types gebruik gemaakt van de CCK module. Dit was een add-on.

Verbetering op template structuur

DE MEEST ZICHTBARE VERNIEUWING

Het menu lint!

(demo?!)

MENU KENT EEN MEER INTUÏTIEVE

STRUCTUUR

INLEIDING DRUPAL 7

Review

Wat is Drupal

Nieuwe functies in Drupal 7

Waarom OSS

Populariteit?

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

KOSTEN EN BATEN

Preview

Kwalitatieve winst bij gebruik Drupal

Kosten (indicaties) in EUR ?!

TCO model

Winst ?

KOSTEN INDICATIESStandaard hardware: Dell Dell PowerEdge (M910): EUR 4500 (ex housing)

Software: Drupal: 0 EUR (*) IBM Portal: 3500 EUR (let op complexe pricing structuur: PVU‟s,

authorized users, concurrent users, maintenance etc) SDL Tridion: 5500 EUR (ook hier veel „verborgen‟ vendor lock-in kosten) Sharepoint: 7000 EUR (ook hier een complexe ondoorzichtige

prijsstructuur)Implementatie kosten:

Altijd voor 80% afhankelijk van bedrijfsspecifieke eisen/wensen!Beheerkosten:

Zelf beheren / Zelf hosten / Extern hosten / Managed Service

(*) Drupal 7 werkt met op ieder gangbaar OS en met OSS databases.

Voor professioneel gebruik is nodig: Een staging omgeving!Indicaties verschillen Drupal vs Commerciële omgeving voor „kleine site‟:

0 EUR vs 250k (!)

Algemeen:Commerciële WCM pakketen kennen een zeer complexe en niet transparante prijsstructuur, waarbij niet altijd kosten voor ‘triviale’ componenten zoals OS, Database beheercomponenten zijn meegenomen.

TCO MODEL

Evaluation and

procurement

Architecture and Design

DevelopmentOperations

and Management

TCO Influence Factors

License CostPersonal Cost

Manageability

OSS OF NIET?

Bij een CMS selectie dient men goed te letten op de beheerskosten achteraf. Hier zit namelijk de grootste kostenpost.

Factoren:

Eenmalige licentie kosten

Gewenste afhankelijkheid / onafhankelijkheid voor (eind)klanten

Hosting model

Realiseren „op maat‟ functionaliteit

Training / Consultancy

VOORDELEN VOOR KLANT (DRUPAL 7)

Subjectieve kwalitatieve voordelen:

Niet afhankelijk van één bedrijf (voor realisatie / beheer / training).

Eenvoudig te wisselen van implementatie partner

Zonder externe partijen content beheer kunnen doen

Geen licentie kosten

Enorme installed base

Betrouwbaarheid

Regelmatige updates

Veel aanvullende functionaliteit beschikbaar

Gevaren:

Incompatabiliteit van modules

Duur beheer

Afhankelijkheid van implementatie partner

Tips:

Maak goede (juridische) afspraken.

Borg code aanpassing via GPL of BSD licentie

Kijk of implementatie partner voor uw gemaakte functionaliteit ongewijzigd in OSS domein beschikbaar stelt.

WINST?

Hergebruik

Niet opnieuw uitvinden van het wiel

Gebruik maken van Drupal community

Maar vooral:

Flexibiliteit en

Snelheid

Bijna duizend mensen van de hebben een directe bijdrage aan de core van Drupal 7 geleverd.

KOSTEN EN BATEN

Review

Kwalitatieve winst bij gebruik Drupal

Kosten in EUR ?!

TCO model

Winst ?

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

TECHNISCHE ARCHITECTUUR

Preview

Overzicht belangrijkste onderdelen Drupal 7

Basisbouwblokken

Technieken achter Drupal

Pagina ontwerp & Thema ontwerp

DRUPAL 7 OVERZICHT

Drupal 7 Core

Modules

Templates

Middleware

(PHP / WebServer/ Database)

PHP ‘framework’

API’s

Content (nodes)

DRUPAL 7 BASIS BOUWBLOKKEN

Physical Server(s)

Virtual Server(s)

Operating System

Middleware (PHP, WebServer, Databases)

Drupal 7 FrameworkDrupal 7 Contributed

modules

Business Services (CMS, eCommerce)

TECHNIEK ACHTER DRUPAL7

De belangrijkste componenten:

Webserver (IIS / Apache)

PHP

Jquery

Database

PostgressSQL

MySQL (of MariaDB)

SQL-Lite

Let op versies van componenten.

DRUPAL 7: LOGISCH

Web browser Client (user)

Web browser Admin UI

WebServer(Apache / IIS)

Drupal 7

Database

PAGE DESIGNING AND THEMING

Let op: Theme afhankelijkheid!

CONFIGURATIE VAN EEN BLOCK

UX:VARIABELEN

Zichtbaar en makkelijk aanpasbaar:

Blocks (Bepaald welke block content waar op de site terug komt)

Menus (Toevoegen, front-page, comment setting etc)

Content types

Blocks zijn via drag-and-drop te plaatsen in Drupal 7

ZELF EEN THEME MAKEN?

Kracht met Drupal 7:

Page, node, block and other template (.tpl.php) file inheritance

Sub themes

(Zie:http://drupal.org/node/171194)

VOORBEELD STRUCTUUR THEME

name = Bartikdescription = A flexible, recolorable theme with many regions.package = Coreversion = VERSIONcore = 7.x

stylesheets[all][] = css/layout.cssstylesheets[all][] = css/style.cssstylesheets[all][] = css/colors.cssstylesheets[print][] = css/print.css

regions[header] = Headerregions[help] = Helpregions[page_top] = Page topregions[page_bottom] = Page bottomregions[highlighted] = Highlighted

regions[featured] = Featuredregions[content] = Contentregions[sidebar_first] = Sidebar firstregions[sidebar_second] = Sidebar second…

TECHNISCHE ARCHITECTUUR

Review

Overzicht belangrijkste onderdelen Drupal 7

Basisbouwblokken

Technieken achter Drupal

Pagina ontwerp & Thema ontwerp

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

WAT IS EEN ‘OPEN STANDAARD’

Open vragen?

Verschil met OSS

Belang van een „open standaard‟

Kan Web 2.0 zonder open standaarden?

Stelling: Een open standaard is niet nodig voor succesvolle OSS software!

DEFINITIE OPEN STANDAARD

Een standaard is volledig „open‟ als:

De standaard is goedgekeurd en zal worden gehandhaafd door een non-profit organisatie

De standaard is gepubliceerd en over het specificatiedocument van de standaard kan vrijelijk worden beschikt.

Het intellectuele eigendom – met betrekking tot mogelijk aanwezige patenten – van (delen) van de standaard is onherroepelijk ter beschikking gesteld op een „royalty-free‟ basis;

Er zijn geen beperkingen omtrent het hergebruik van de standaard.

Stelling: Een open standaard is niet nodig voor succesvolle OSS software!

BESCHIKBAAR IN DRUPAL7

OPML (Zit in de „core‟ aggregator module).

OPML is een op XML gebaseerd formaat om gestructuureerdeinformatie tussen verschillende applicaties uit te wisselen.

Resource Description Framework (RDF) and RDFa (W3c)

PURLs (Persistent Uniform Resource Locators) zijn Web addressen die als permanente identifiers fungeren voor dynamische website.

OpenID

Daarnaast gebruik van veel „standaard‟ componenten, zoals:

Jquery

Php-pdo

En natuurlijk:

Javascript

CSS

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

DRUPAL7 SEO EN HET SEMANTISCH WEB

Preview

Voordelen semantisch web?

RDF

SEO

Nut / Noodzaak leesbare URL‟s

SEMANTIC WEB

Gebaseerd op paradigma shift:

Internet transformatie naar universeel medio voor data, informatie en kennis uitwisseling

WWW Content & links

WWW Relaties & betekenisvol

(beschrijvingen)

VOORDELEN SEMANTIC WEB

Voor content makers / eigenaars:

Nieuwe mogelijkheden om zichtbaarheid van content te verhogen

Cross marketing voordelen doordat nieuwe routes naar jouw Drupal 7 content mogelijk zijn

Door verhoogde relevantie vanuit zoekresultaten meer terugkerende bezoekers naar de site.

RDF

Hiërarchie werkt niet meer: Ga voor „slimme‟ tags. Dus:

Toevoegen slimme tags aan content (‘nodes’)

In Drupal 7 zit standaard een verbeterde taxonomie ondersteuning. Gebruiken om:

Site beter te organiseren

Vindbaarheid van informatie drastisch te verhogen

Bij grote omgevingen (meerdere informatie stromen, eigenaren)

(Voor techneuten:In Drupal 7 is taxonomy gebaseerd op de „Field‟ module)

SEO

DRUPAL 7 SEO

De basis principes blijven geldig, maar eenvoudiger wordt het wel:

De „Drupal SEO module‟ is niet meer 100% noodzakelijk. (Ook nog niet vrijgegeven voor D7).

Standaard:

Code is W3C compliant

Layouts zijn op CSS gebaseerd

Mogelijkheid om content te categoriseren

* <title> tags worden automatisch gecreëerd

Werkbare robot.txt

Modules zijn er om :

Meta tags toe te voegen

Xml map

Meer controle over <title> tag

Controle over meta tags zoals description, keywords

Uploaden van een Google XML Sitemap

Google lijkt eind 2010 gevoelig voor ‘snelheid’ en unieke content (<p>uniek</p>). Manipulatie wordt nog altijd niet gewaardeerd!

DRUPAL 7 EN KORTE URL’S?!

(korte demo)

http://sitename/?q=node#overlay=%3Fq%3Dadmin%252Freports

Of

http://sitename/overzichtjes

DRUPAL7 SEO EN HET SEMANTISCH WEB

Review

Voordelen semantisch web?

RDF

SEO

Nut / Noodzaak leesbare URL‟s

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

GEBRUIK, BEHEER EN ONDERHOUD

Preview

Gebruik en grootschalig gebruik (heavy use)

LCM (ITIL, ASL, BISL?)

Testen

GEBRUIK

Bij het gebruik starten van een Drupal project zijn verschillende stakeholders betrokken:

GUI ontwerper / Interactie ontwerper

Ontwikkelaar

Themer (Ontwikkelaar voor style sheets)

Site eigenaar

Eindgebruikers

Business managers (marketing, verkoop, legal)

Webmaster(s) (m/v)

Beheerders (system administrators)

Trainers

GROOTGEBRUIK?

Ook met Drupal is bewezen 20 miljoen page views verdeeld over 12 uur gehaald!

Technieken:

- CDN (met of zonder de D7 module)

- DB-Cluster (SQL-Cluster0

- Loadbalancing

- Hadoop

- performance process (profiling!)

- Webserver optimalisation

- Memcache

- HipHop

Denk aan session management bij schaling!

(voor de technische mensen: Er is meer dan alleen het PHPSESSID)

GANGBARE CONFIGURATIE BIJ

GROOTGEBRUIK(plenair)

Belangrijkste punten:

Pagina‟s per minuut

NFR‟s!

Loadbalancers

Proxies

SSL offloader(s)

Beschikbaarheid (99,998%)? (Single Points of Failuegeaccepteerd?)

Extern laten hosten

LIFE CYCLE MANAGEMENT

Toevoegen / wijzingen functionaliteit

Software updates(security)fixes

Regressie testen !

Monitoren gebruikKleine aanpassingen

Nieuwe node templates

Look &FeelFunctioneel / Technisch

AGILE!

Onderhoud

Requirements

OntwerpImplementatie

QA (QoS)

TESTEN!

In Drupal 7 is het test framework aan de „core‟ toegevoegd (defaultuit natuurlijk)

Drupal test framework is gebaseerd op het defacto PHP framework: SimpleTest (OSS Unit testing framework for PHP)

Kijk naar de risico‟s:

Wat testen?

Waarom testen?

Hoe te testen?

Wie moet testen?

SCREENSHOT TESTEN IN D7

TEST RESULTATEN VIA ADMIN GUI

GEBRUIK, BEHEER EN ONDERHOUD

Review

Gebruik en grootschalig gebruik (heavy use)

LCM (ITIL, ASL, BISL?)

Testen

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

DRUPAL7 ALS FLEXIBELE PORTAL

Presentation Services

Application Services

Data Services

Ecommerce Portal BI PortalCorporate

Portal

SearchIdentity

Management

Knowledge Portal

Specialized Portal

Workflow PersonalizationData

Integration

Collaboration / Groupware

Application Integration

Externaldata

...

Data Storage Data Abstraction Backup/Restore

InternalData

Metadata

Customerdata

Data Access

MOGELIJKHEDEN VOOR EIGEN

(UNIEKE) FUNCTIONALITEITEigen functionaliteit toevoegen:

Drupal 7 gebruiken als php-framework

API‟s

Hooks

Modules (uitbreiden)

Look & Feel!

Best practices:

Requirements

Agile aanpak

CCT als optie?

Is het echt noodzakelijk

Voortbouwen op een module

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

VERVELEND?!

www.crisis.nl

Screenshot hieronder:

$#@

OOK VERVELEND?

BEVEILIGING?!

Traditioneel:

Betrouwbaarheid

Integriteit

Beschikbaarheid

Wat biedt Drupal 7 standaard?

201x:

Imago

Privacy

Web 2.x?!

STANDAARD DRUPAL 7 MOGELIJKHEDEN

Gebruikers

Rechten per rol

Rechten op content onderdelen

Rechten op (module) functionaliteit

IP-Blocking

RECHTEN OP FUNCTIONALITEIT

AGENDA

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

DRUPAL8 OF DRUPAL7++

Wenselijke of noodzakelijke verbeteringen:

Caching

Plug-in framework (modules)

Performance (memory gebruik)

Afronden van niet-afgemaakte delen

Php6?

HTML5 (volledig)

API‟s (incl documentatie)

Belangrijkste voor gebruikers:

Stabiliteit

Backwards compabiliteit

DRUPAL 8

Nog meer nadruk op:

Gebruikersvriendelijkheid

Performance verbeteringen voor „standaard‟ installaties

Webmasters

Themers

Extensie ontwikkelaars (api‟s / modules)

Testbaarheid

En natuurlijk:

Ipad / Tables

Mobile devices integratie

SAMENVATTING

Inleiding Drupal7

Kosten en baten

Technische architectuur Drupal7

Open standaarden in Drupal7

Drupal7 SEO en het semantisch web

Gebruik, beheer en onderhoud

Bedrijfsspecifieke uitbreidingen maken in Drupal7

Beveiliging

Toekomst van Drupal

KANSEN!Organisatieontwerp.nl werkt samen met gerenommeerde bureaus die voldoen aan de hoogste kwaliteitscriteria op gebied van kennis en ervaring op gebied van organisatieadvies en architectuurondersteuning.

Organisatieontwerp.nl is platinum partner van het innovatienetwerk van de Business Management Support Stichting.

Meer informatie over dit innovatienetwerk is te vinden op: www.bm-support.org

CONTACT?

Bel : +31 (0) 6 22869536 of

Mail : info@organisatieontwerp.nl

‘Alleen is niemand wijs genoeg’

Plautus

top related