Guide to CMS Requirements Template
-
Upload
microhacker -
Category
Documents
-
view
228 -
download
0
Transcript of Guide to CMS Requirements Template
-
8/12/2019 Guide to CMS Requirements Template
1/82
Guide to
CMS Requirements
Specification
Choose the right CMS
M.Sc. Thesis byJan Keller Pedersen & Miriam Tang
[email protected] [email protected]
http://www.cusix.dk/cmsguide
August 2007, IT University of Copenhagen
-
8/12/2019 Guide to CMS Requirements Template
2/82
-
8/12/2019 Guide to CMS Requirements Template
3/82
1
Table of Contents
1 How to assess and select a CMS...................21.1 Why a CMS............................................................2
1.2 Basis of the report...................................................41.3 How to use this document...................................... 41.4 Send requirements specification.............................4
1.5 !a"uate rep"ies...................................................... 5
2 Manual for CMS requirements template....6
A Guidance to the supplier...............................6
B High leel demands......................................1!
C "or# areas and tas#s..................................2!C.1 Mana#e temp"ates................................................. 21
C.2 $dd%edit%de"ete content item.................................23
C.3 &e!iew and appro!e content ................................2'
C.4 (u)"ish content .....................................................2*
C.5 Mana#e media "i)rary...........................................2*C.+ ,in- chec-in#....................................................... 3C.' Mana#e site structure............................................31
C./ Mana#e news"etter types.......................................32C.* Mana#e news"etter su)scriptions..........................32
C.1 Mana#e news"etter su)scriptions from frontend.33C.13 Browse news.......................................................35
C.14 Mana#e course e!a"uation form..........................3+C.15 &ep"y to course e!a"uation form.........................3'
C.1+ Search content.....................................................3/
$ $ata to present.............................................%!0.1 orm......................................................................42
0.2 uestion................................................................42
0.3 ype......................................................................420.4 ption...................................................................420.5 &ep"y.....................................................................43
0.+ $nswer..................................................................43
& 'ther functional requirements...................%%.1 Comp"e ca"cu"ations and ru"es............................ 45
.2 (rint6outs7 statistics and reports............................ 45
.3 0ynamic content components...............................45.4 pansion of the system....................................... 4'
.5 Search en#ine optimisation...................................4'.+ ther functiona" requirements.............................. 4/
.+ ther functiona" requirements.............................. 4*
( S)stem integration with e*ternal s)stems..+!.1 0irectory ser!ice................................................... 51
.2 $na"ytics software 6 8oo#"e $na"ytics................. 51.3 Course enro"ment system...................................... 51
.4 9nte#ration with new eterna" systems..................53
G ,echnical -, architecture...........................+%8.1 Hardware and software requirements...................55
H Securit).........................................................+6H.1 $ccess ri#hts for users..........................................5'
H.2 Security mana#ement........................................... 5'
H.3 (rotection a#ainst data "oss...................................5*H.4 (rotection a#ainst unintended user actions...........5*
H.5 (rotection a#ainst threats .....................................+1
- sa/ilit) and design......................................6%9.1 ,earnin# and efficiency in dai"y use......................+5
9.2 $ccessi)i"ity and ,oo-6and6fee"............................ +'
0 'ther requirements......................................6:.1 ther standards to )e fo""owed.............................. +*
:.2 rainin#..................................................................+*:.3 ;ser 0ocumentation.............................................. +*
:.4 0ata con!ersion and import...................................+*:.5 9nsta""ation..............................................................'
Customer deliera/les................................ 324 'perations5 support and maintenance.......3%
,.1 &esponse times......................................................'5
,.2 $!ai"a)i"ity............................................................'+,.3 Support..................................................................''
,.4 Maintenance..........................................................'*
Glossar)........................................................!
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
4/82
2
1 How to assess and select a CMS
More and more organisations are facing the process of a CMS acquisition, and many
organisations find themselves on shaky ground, because they do not know where to begin or
what to expect of a CMS. Even people with knowledge of CMSs, might use a lot of resourceson clarifying needs, requirements and not least on structuring them in a way, that makes therequirements manageable to the organisation as well as to consultants selling CMS solutions.
!his document contains a CMS requirements specification template and a guide that will helpidentifying needs and requirements and convert them into a requirements specification that
solution providers can use to respond with uniform replies, making the comparison ofproposals easier. !hereby time and resources can be released for "! governance andcommunication strategies that are important factors as well, but are outside the scope of thisCMS #equirements !emplate.
1.1 Why a CMS
$ebsites have gone from simple business card style static %!M& to dynamic extensions of acompanys image. ' website is much more now than ever before. ' website can be critical toattracting and keeping customers as well as it can bethe business for a company.
!he task of managing a website has grown in si(e as well, going from an "! supporter with flair
for %!M& managing a handful of pages to do(ens or hundreds of non)"! practitioners adding,editing, deleting and arranging content on multiple domains simultaneously.
"t is therefore no surprise that the demands for systems to manage the web content havegrown, too. !oday, content management systems *CMSs+ can be as vital to a companys web
strategy as the E# system is to the internal running and management of the company itself.
1.1.1 CMS distinctionCMSs can be categorised on many parameters and groupings. $e have chosen a distinctionbased on functionality and flexibility, visualised in "llustration -, where a curve describes thetypical range of CMSs.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
5/82
3
!he illustration has five points of interest
-. /ut)of)the)box $eb CMS 0 'ble to manage web page content within certain limitsimposed by the system. 1ew ways for the customer or a third party to customise thesystem beyond changing the frontend design.
2. 1lexible $eb CMS 0 Content is still web pages within certain limits, but the
customisability and extendibility is increased. Customer or a third party can makeextensive changes to the behaviour of the system.
3. 4evelopment tool 0 More of a platform to build on than a ready)to)use system. !hecustomer or a third party will have few if any restrictions on how to use the system and
instead the system will facilitate common functionality through standard libraries.%owever, practically nothing is working out)of)the)box and will have to be defined ordeveloped by the CMS developers or an experienced third party, meaning that thecustomer relies heavily on their knowledge and skill with the CMS.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-llustration 17 Basic CMS categories
-
8/12/2019 Guide to CMS Requirements Template
6/82
4
5. 1lexible Enterprise CMS 0 Content is no longer web specific, but can be any contentfrom any system, published through the CMS and made available to internal as well as
external viewers based on the access rules defined in the CMS. 's with the 1lexible $ebCMS, a wide range of possibilities exists for modifying and customising the system.
6. /ut)of)the)box Enterprise CMS 0 More specific functionality than the 1lexible EnterpriseCMS and more functionality directly upon installation and configuration. !his type of
CMS aims at supplying everything needed by the customers so customisations areunnecessary.
/ne type of CMS is not better than the other. $hich CMS is the right one for a customerdepends on the customers needs. 7enerally speaking, the closer the CMS is to a development
tool, the more flexible is the system and the higher are the costs of customisations andmodifications will be in the implementation process.
1.2 Basis of the report
!he report is based on investigations on common needs and experiences collected from ten
CMS costumer organisations, five CMS consultants and one CMS developers, with the aim ofsupporting the decision making in customer companies. !he report helps defining customerneeds and finding the right CMS to fulfil them in the process of *re)+defining their websites.
!he result is a template for CMS requirements specifications that can be used by companies ororganisations with a frequently updated website.
1.3 How to use this document
!his document is a guide of how to customise the CMS #equirements !emplate into a specificrequirements specification for a specific CMS acquisition pro8ect.
1or each requirement in the template, it should be considered, whether it is a requirement that
is relevant to the organisation or not. "f relevant, the requirement can be used as)is or refinedwith further details or by filling in the solution example columns.
/nce the requirements specification is finished, it can be sent to candidate suppliers to fill in
the solution parts and their replies can be evaluated and compared.
1.4 Send requirements specification
$ith a requirements specification finished with all left)hand side columns filled and some right)hand side column solution examples, it is time to send it to a range of suppliers and evaluatethe replies.
Screening candidate suppliers can be done in several ways
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
7/82
5
Scenario -. Start /) selecting suppliers --. Start /) selecting s)stems ---. & tender
Step 1 ind competent supp"iers ind interestin# systems Ca"" for tenders
Step 2 Send requirements specification
-
8/12/2019 Guide to CMS Requirements Template
8/82
+
2 Manual for CMS requirements template
!he manual for the CMS requirements template consists of the directions and advice on how to
use the template. !he chapters in the manual follow the chapters in the template.
!he template and this guide can be downloaded from http::www.itu.dk:people:8ankp:CMS.
Some requirements and solution examples are in italic, meaning that it is purely an examplefor illustrating purposes and that it is highly unlikely to be usable directly.
# $uidance to the supplier
his chapter #i!es information to the supp"ier on how to read the requirements and is copied in fu""
from the correspondin# chapter in &equirements emp"ate S,6' ren ,auesen7 2'?
# $uidance to the supplierhis chapter ep"ains the requirements format and how the supp"ier descri)es his so"ution.he requirements are or#anised in chapters accordin# to their -ind7 e.#. Chapter C a)out the user tas-s to )e
supported. Within each chapter7 the requirements are written in ta)"es7 e.#. a ta)"e with requirements re"atin# toa specific tas-. he ta)"es ha!e three co"umns. he "eft co"umn descri)es the customer@s demand7 the midd"e
co"umn an eamp"e of a so"ution or the proposed so"ution. he ri#ht co"umn specifies when the so"ution isde"i!ered and whether it wi"" )e part of a CS system.
#.1 %unctional requirements & constructed e'ampleHere is a constructed eamp"e without re"ation to the present de"i!ery. he purpose is on"y to i""ustrate the
requirements format. he hi#h6"e!e" requirement is that the system must support a num)er of tas-s7 inc"udin#C57 and prefera)"y e"iminate the current pro)"ems.
C.+ Handle a request
. . .
sers7 Ca""6center staff7 often temporari"y emp"oyed.
&nironment7 pen6p"an7 noisy office where users sit c"ose to each other.
(requenc)7 9n tota" around 5 ca""s per day7 and a maimum of 1 ca""s per user.. . .
0emandA So"utionA Code
1. &ecei!e the ca"" throu#h mai"7 phone or emai".9t may )e a new request or information a)out
an eistin# request.2. ind the request fi"e . . . 9n case of an emai" ca""7 the system automatica""y
transfers data from the emai" to the search screen.
2a. Create a new request fi"e.
2p. (ro)"emA he request fi"e may )e hard to
"ocate7 e.#. )ecause the ca""er doesn@t -now the
request 90 or cannot remem)er his persona"90.
he system shows possi)"e matches with the
ca""er@s name or parts of it.
. . .
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
http://www.itu.dk/people/jankp/CMShttp://www.itu.dk/people/jankp/CMS -
8/12/2019 Guide to CMS Requirements Template
9/82
'
he ta)"e "ists the su)tas-s of tas- C5. here is thus a requirement to support each of the su)tas-s to someetent. he information a)out Users7EnvironmentandFrequencyis not in the ta)"e7 so it is not requirements7
)ut assumptions )ehind the requirements. 9t means that the tas- must )e supported for this -ind of users7en!ironment7 etc.
-
8/12/2019 Guide to CMS Requirements Template
10/82
/
#.3 )he supplier*s reply9n the rep"y7 the supp"ier fi""s in the midd"e and ri#ht6hand co"umns to specify the so"ution he proposes. He may
show a"ternati!e so"utions and specify de"i!eries in se!era" sta#es or re"eases. Here is a possi)"e rep"y to thefirst eamp"e a)o!eA
C+. Handle a request
. . .
Su)tas-s and !ariantsA (roposed so"utionsA Code
1. &ecei!e the ca"" throu#h mai"7 phone or emai".
9t may )e a new request or information a)outan eistin# request.
-
8/12/2019 Guide to CMS Requirements Template
11/82
*
(ro)"em 2p i""ustrates one more comp"eity of the proposa". he supp"ier offers two a"ternati!es that thecustomer can choose )etween. $"ternati!e $ has a traditiona" search feature that can )e de"i!ered in sta#e 1.
$"ternati!e B has ad!anced phonetic search that can )e de"i!ered in sta#e 3. Both features are co!ered )yordinary maintenance
-
8/12/2019 Guide to CMS Requirements Template
12/82
1
B Hi+h le"el demands
B.1 Business +oals
!he business goals are important. ;oth as a communication tool towards the rest of theorganisation *why are we doing this
-
8/12/2019 Guide to CMS Requirements Template
13/82
-
8/12/2019 Guide to CMS Requirements Template
14/82
-
8/12/2019 Guide to CMS Requirements Template
15/82
-
8/12/2019 Guide to CMS Requirements Template
16/82
-
8/12/2019 Guide to CMS Requirements Template
17/82
15
B.3 ,mplementation time framehe system de"i!ery steps as epected )y the customer. Missin# steps can )e added )y the supp"ier. he !ariousdates shou"d )e estimated )y the supp"ier as if the decision to si#n the contract is done two wee"s aterthe
su##ested date for proof of concept I pre6contract proof.
$elier) $ate
1. (roof of concept I pre6contract proof 20070#!1
2. (roof of concept I remainin# proof
3. 0esi#n app"ied
4. est set up I usa)i"ity and functiona"ity tests
5. 0ata con!ersion and import
+. ducation materia"
'. ducation of users
/. System documentation
*. (roduction set up I acceptance tests
1. ,aunch 200712!1
B.4 Selection criteriahe customer chooses the so"ution that is best rom an economic point o view. ach criteria is #i!en a wei#ht)etween 1 and 1 to indicate the importance of this criteria. he supp"ier@s so"ution wi"" )e #i!en a score )etween
and 4 for each criteria and this score is mu"tip"ied )y the wei#ht. $ddin# the wei#hted scores for a"" criteria#i!es the tota" score for the so"ution. $dditiona""y7 each criteria has a minimum score assi#ned that wi"" resu"t in
so"ution disqua"ification re)ardless o the scores in other criteria7 shou"d the so"ution score "ess.
Criteria Wei#ht Min. score
1. ;sa)i"ity requirements in chapter 9 and C !
2. Business !a"ue of the so"ution. $ssessed as a num)erfor each of the )usiness #oa"s
-
8/12/2019 Guide to CMS Requirements Template
18/82
1+
Wei+htin+s
"t is not easy to set the weightings, and it can be done in different ways. !he optimal way to
set the weights would be on basis of a cost)benefit analysis. "n some situations, like when arequirement specification is the basis of an E9 tender, it actually is a requirement that the
selection criteria have weightings, but this is a large area, on which information can be foundat various websites-. !he weightings are set in proportion to the estimated business value, so
there are no upper limitation on the weightings to be set. !he potential suppliers should beinformed of the selection criteria and their weightings.
Score
$hen receiving proposals of suppliers on basis of the requirement specification, the proposals
should be evaluated one by one. 1or each of the proposals, the criteria are given scoresbetween > and 5, stating how well the proposal handles each criteria, as shown in the table
below.
Score Meaning
ot hand"ed
1 ot as #ood as today % ,ess than epected
2 he same as today % ,itt"e "ess than epected
3 $s epected
4 Better than epected
,a/le 27 Score
' criteria can also have set a minimum score to disqualify unacceptable proposals no matter
their score in other criteria as shown in the table below in the columns with the header Min..!he total score of each proposal can be calculated by summarising the criteria value multipliedwith the weight.
CMS7 proposal < proposal = proposal > ...
Selection criteria "eight Min. Score "eighted Score "eighted Score "eighted ... ...
1. ;sa)i"ity / 3 4 32
2. Business !a"ue 1 4 4 4
3. &is-s + 2 3 1/
4. 0e"i!ery time 2 1 1 25. (rice 3 2 3 *
+. Mar-et ro)ustness ' 2 2 14
'. tendi)i"ity + 2 3 1/
/. Community 1
,otal score7 133 ...
,a/le 7 &aluation of proposals
- !he E9 directive 2>>5:-:EC is a good term in search engines when looking for information and can be found infull, legal text at http::europa.eu.int:eur)lex:pri:en:o8:dat:2>>5:lD-35:lD-352>>5>53>en>--5>25>.pdf
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
http://europa.eu.int/eur-lex/pri/en/oj/dat/2004/l_134/l_13420040430en01140240.pdfhttp://europa.eu.int/eur-lex/pri/en/oj/dat/2004/l_134/l_13420040430en01140240.pdf -
8/12/2019 Guide to CMS Requirements Template
19/82
1'
!he scores should be used to indicate which proposals are simply not good enough comparedto the others. !he proposal with the highest total score is not always the best proposal, but it
is recommended to select a proposal with a high total score.
-saility
9sability can be measured in the pre)contract signing proof)of)concept phase as described in-.5 assigning scores depending on the number of issues and their severity.
Business /alue
!he business value is an estimation of how well the proposal will fulfil the business goals.
0iss
!he risk is a measurement of how convinced the customer is on whether the supplier deliversthe expected CMS. !he earlier the proof)of)concept risks can be proven, the better. /therindicators of low risks could be, that the right side of the tables are filled in with goodsolutions, it could also be, that the supplier has solved similar problems before as well, as it
can be experiences from previous deliveries from the supplier. !he more indicators of low risk,the better should the score of the proposal be in this criteria.
eli"ery time
!he rule of thumb is naturally =the sooner, the better@. %owever, be careful not to apply toohigh weightings to this criteria, ending up with poor system functionality delivered quickly. /neway of evaluating delivery times is to set an expected date for the system launch. /ffersdelivering around this date gets a score of three 0 as expected 0 with earlier offers achieving ascore of four and later offers two, one or (ero, depending on the difference to the expecteddate.
rice"f the price of the CMS acquisition is above a certain amount, there must be an E9 tender, an
open proposal evaluation to avoid corruption and nepotism. !his requires ob8ective selectioncriteria. !here are two different ways to choose a proposal in an E9 tender.
-. !he cheapest proposal is simply the proposal with the lowest price. "f the requirementsare met, it will not be taken into account that one of the proposals might have a higher
business value.
2. !he economically most attractive proposal is the proposal that gives most value perprice unit, i.e. the highest coefficient. !here might be cheaper proposals, but the focusis the value compared to the amount of money spent, as shown in the coefficient
calculation example
Business !a"ue I &is-
(riceJKL
47 I 17
17K
3
!he risk is estimated as a quantification of the risks involved with the suppliers bid, theamount of functionality that will need to be developed and the amount of functionality that isavailable for a proof)of)concept session. "f the cheapest proposal has to be chosen, the
suppliers reservation about requirements, which are described in the requirementsspecification, can be estimated as a quantification of the risks and added to the price, when
finding the cheapest proposal.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
20/82
-
8/12/2019 Guide to CMS Requirements Template
21/82
1*
B. rice and deli"erales9n this "ist7 the supp"ier sha"" input the prices for the !arious de"i!era)"es in as much detai" as possi)"e as we"" ashe is encoura#ed to add missin# items on the "ist. he "ist is di!ided into one6time costs in the imp"ementation
process and runnin# costs after imp"ementation.
'ne?time costs 8rice Specifications
1. Start "icence
2. 9mp"ementation
0ocumentation;ser and de!e"oper #uides to the CMS
2a. ariantA Hour"y rate durin# imp"ementation
3. Hardware
4. 0esi#n
9unning costs 8rice Specifications
5. Maintenance "icence
+. ducation
'. ;ser support
/. Hour"y rate for post6imp"ementationde!e"opments
*. Correction of errors caused )y de!e"operupdates to the CMS
0 ncluded in maintenance license
1. Correction of errors caused )y the supp"ier 0 ncluded in maintenance license
11. Correction of errors in the CMS7 present at the
time of imp"ementation
0 ncluded in implementation costs
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
22/82
2
C Wor areas and tass
!he work areas of this chapter contain tasks that are used in the CMS on a regular basis. Mostof the functional requirements will be in this chapter. $hen defining the tasks, you should
consider the followingChapter C contains CMS requirements which are related to procedures and tasks, that the
system must support. !he requirements have their starting point in user needs, and therequirements are formulated in a way, that leaves it to the supplier to find out, how to satisfythem. "n this way the specification will not restrict the developers or the range of potentialsystems unnecessarily.
"n the following, some of the requirements are explained further, in order to help thecustomer decide, if the requirements and any related problems are relevant in their situation.
C.1 Mana+e pa+e templates
!emplates are usually used to maintain a certain layout on pages of a site. !emplates can be
on site)level, where they determine the general layout of items, headers, navigational linksetc. or they can be on page)level, where they determine the layout of the page itself.
Most CMSs employ this concept in some form.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
23/82
21
C Wor areas and tasshe system must support a"" user tas-s in this chapter7 inc"udin# a"" su)tas-s and !ariants7 and miti#ate thepro)"ems. he su)tas-s are num)ered for reference purposes. hey don@t ha!e to )e carried out in this sequence7
and many of them are optiona". $ su)tas- may a"so )e repeated durin# the same tas-.
C.1 Mana+e templates
;sin# temp"ates is a way to contro" the "ayout and a too" to create a uniform appearance of a"" the pa#es that
ma-e up the site7 no matter who updates them.$ CMS is often set up in a way7 that forces the users to use the temp"ates7 and therefore it is important7 that there
are enou#h temp"ates to pro!ide f"ei)"e presentation of content whi"e -eepin# the num)er "ow enou#h to retainthe o!er!iew of a!ai"a)"e temp"ates and when to use which temp"ate.
Start7$ pa#e temp"ate needs addition7 updatin# or de"etion
&nd7(a#e temp"ate is sa!ed or de"eted
(requenc)7&are"y once set upsers7 We)site administrators7 #raphica" desi#ners
Su/?tas#s and ariations Solution e*ample Code
1. ,ist temp"ates
1p. 9t can )e difficu"t to distin#uish )etween the
"ayout of temp"ates7 if they on"y are identified
)y names
9nstead of choosin# amon# the temp"ates from
their names on"y7 it mi#ht )e easier to o!er!iew
and choose the ri#ht temp"ate7 if they are
represented )y sma"" rou#h mode"s of their"ayout for instance.
2. $dd temp"ate
3. dit temp"ate
4. ;ndo chan#es
5. Sa!e temp"ate
5a. ariantA Sa!e temp"ate with another name%copy
temp"ate
+. 0e"ete temp"ate
+p. (ro)"emA emp"ate is in use. 9f a temp"ate is
)ein# used )y pa#es7 the system shou"d pre!entthat it is de"eted7 and if the temp"ate is to )e
rep"aced )y another one7 it is usefu" to )e a)"e
to see which pa#es are usin# the temp"ate.
B"oc- de"etion and "ist pa#es usin# this temp"ate
ption to se"ect a rep"acement temp"ate to )eapp"ied to a"" pa#es usin# this temp"ate
+q. (ro)"emA ;sers cannot see which temp"ates are
in use )efore tryin# to de"ete them. here mayeist numerous temp"ates in the CMS7 and
some of them may e!en )e eact copies ofothers7 meant to )e chan#ed in some way. o
)e a)"e to c"ean up amon# the temp"ates7 it hasto )e c"ear which are in use and which are not.
,ist temp"ates with indication of whether it is in
use
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
24/82
22
C.1 Mana#e temp"ates
-
8/12/2019 Guide to CMS Requirements Template
25/82
23
C.2 #ddeditdelete content item
'dd, edit and delete content are basic functionalities in every CMS, and every CMS will containthe functionality. !he interesting things are therefore the problems that users haveexperienced when adding, editing or deleting content. !hese problems are explained below
because these are problems that are handled differently, if at all, in different systems.
Most pages will include media files, most often images, to liven up the page and aid thereadability.
C.2)problem3 )opypasting to the )* editor does not automatically upload picture tomedia library
!he fact that media files have to be uploaded to the server to be visible to the public on awebsite, is an abstraction that some new or rare users of CMSs forget. ' user writes somecontent in a $ord document, inserts some pictures and tries to copy and paste text as well aspictures into the CMS editor. !his is a intuitive thing to do, but usually CMSs cannot handlethe pictures this way. !he ideal solution would be a CMS that could handle this, andautomatically upload the picture to the media library and change the reference in the text from
the local pc to the media library on the server. 'nother way of handling the problem could be amessage telling the user to upload the picture to the media library, if a picture is pasted into
the editor.
C.2 #ddeditdelete content item
"or# areaA CMS )ac-end
StartA Content has to )e edited7 feed)ac- recei!ed7 resumption of par-ed content
&ndA Content sent for appro!a"7 pu)"ished7 or par-ed for "ater resumption
(requenc)A 0ai"y
sersA $dministrators7 editors and authors
Su/?tas#s and ariations Solution e*ample Code
1. ind content item. When a user edits or creates
a pa#e7 there mi#ht )e a )rea- in the tas-7 andthe user wi"" ha!e to sa!e the unpu)"ished
content item in order to resume the tas- thenet day7 or hand o!er the tas- to a co""ea#ue.
herefore the users wi"" need an easy way of"ocatin# content to resume editin#.
,ist of content items
0irectory structure with content items
1p. (ro)"emA$ par-ed content item can )e difficu"tto find ption to "ist on"y unpu)"ished pa#esMar- unpu)"ished pa#es with appropriate icon orco"our
2. dit pa#e%content
2a. ariantA Create pa#e )ased on temp"ate
2q. (ro)"emA CMS editor on"y shows a "itt"e part
of the pa#e7 so the o!er!iew of the pa#e in itscontet is missin#
CMS editor shou"d )e a)"e to show the entire pa#e
and not on"y the )o that is )ein# edited
2r. (ro)"emA Someone edits a pa#e he shou"d notedit
(ermissions shou"d )e set up so that on"y re"e!antpa#es are !isi)"e to and edita)"e )y a user
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
26/82
24
C.2 $dd%edit%de"ete content item
-
8/12/2019 Guide to CMS Requirements Template
27/82
25
C.2 $dd%edit%de"ete content item
-
8/12/2019 Guide to CMS Requirements Template
28/82
2+
C.3 0e"iew and appro"e content
ublish content has been separated as a long subtask to C.2 to give a better overview of theprocess. !he subtasks can be called a workflow, which supports and enforces publishingrestrictions.
' workflow is a chain of tasks that are carried out by different user roles. 'n example could be
that an author writes an article and an editor approves the article before it gets published. 'workflow system can enforce and support these organisational procedures directly in the CMS,
thus not allowing for content providers to skip this step.
"f the customer wants to enforce content review prior to publishing and:or enforce that only a
few people can publish content, this long subtask is relevant. "n our experience, though, it isoften thought of as needed in the requirements, but rarely used in the finished solution, due to
the increase in bureaucracy and the fact that the process could 8ust as easily be manual withcontent providers communicating directly, asking for a review, when in doubt.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
29/82
2'
C.3 0e"iew and appro"e content
StartA Content is ready for re!iew7 notification recei!ed )y re!iewer
&ndA Content re!iewed and feed)ac- #i!en to content pro!ider or content appro!ed and pu)"ished
(requenc)A aries )etween many times a day to wee-"y7 month"y or year"y
sersA Content editors
Su/?tas#s and ariations Solution e*ample Code
1. &ecei!e notification a)out content ready forpu)"ishin#
Manua""y )y mai"7 phone or !er)a""y or )y anautomated wor-f"ow functiona"ity
2. ,ocate content
2p. Content created or "ast edited )y another editor
can )e difficu"t to find
,in- in notification emai"
Search functiona"ity,ist of unpu)"ished content items
We""6arran#ed directory structure7 whereunpu)"ished content items can )e identified easi"y
3. Correct content
4. (u)"ish
-
8/12/2019 Guide to CMS Requirements Template
30/82
2/
C.4 ulish content
&ong sub)task to C.2 and C.3.
C. Mana+e media lirary
'll websites need at least a few hand)typed pages with text, images and links to other pages
or websites. Most CMSs have a repository for media files 0 images, video files, $ord and 41documents etc. ) that can be inserted on a page. !his is a basic requirement that must be
present, although the specific functionality can vary.
!he requirements to media library varies, but if the site contains many pages referring tomedia files, or if the media library contains a lot of media files, it is recommended to look for aCMS with a good media library.
!he media library can resemble a file system with folders and files as in the Composite CMS,but can also contain meta data that will aid when searching for relevant files. Someorganisations 0 mainly those with many content providers 0 will need the searchable medialibrary whereas others will 8ust need to set up a relevant category:folder structure so users
can browse for the relevant files.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
31/82
-
8/12/2019 Guide to CMS Requirements Template
32/82
3
C.5 6in checin+
&inks referring to pages on external sites, uncontrolled by the organisation, can be outdated ifthe external page is removed. ' periodical link check that checks whether links are still valid,is often used to avoid dead links on the site. 9sually a CMS has some functionality, that
prevents the site from containing internal dead links *see C-)q+, but if this is not the case,the link check should also include checking of links to internal pages.
C.5 6in checin+
9nterna" "in-s to and from a pa#e are usua""y chec-ed when the pa#e is sa!ed7 )ut eterna" resources can chan#e
independent"y. herefore7 it can )e necessary to periodica""y chec- whether these "in-s are sti"" !a"id.
"or# areaA CMS )ac-end
StartA ;ser wants to chec- for dead "in-s or retrie!e an ear"ier "in- chec- resu"t
&ndA Site or su)6site without dead "in- or "ist of pa#es with dead "in-s par-ed for "ater resumption(requenc)A aries )etween many times a day to wee-"y7 month"y or year"y
$ifficultA Many pa#es with dead "in-s require editin#
sersA ditors and authors
Su/?tas#s and ariations Solution e*ample Code
1. ind sa!ed "in- chec- resu"t "ist
2. Start "in- chec-
2p. (ro)"emA ;ser mi#ht on"y )e interested in
doin# a "in- chec- of a particu"ar part of the
site. $ site can contain se!era" thousands ofpa#es7 and a "in- chec- of the who"e site is !erytime consumin#
,in- chec- on pa#e "e!e" or su) tree "e!e" of the
site structure
2q. (ro)"emA ,in- chec- is too sensiti!e7 and
considers "in-s to "ar#e fi"es as dead "in-s
3. 9t shou"d )e easy to find the pa#es with dead
"in-s
ach item in the "ist has a "in- to edit the pa#e
with a dead "in-.
3p. (ro)"emA ,in- chec- resu"t "ist disappearse!ery time the user #oes to one of the pa#es to
correct dead "in-s.
pen in new window&emem)erN "in- chec- resu"t "ist for when the
user returns
4. Sa!e "in- chec- resu"t "ist for "ater resumption
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
33/82
-
8/12/2019 Guide to CMS Requirements Template
34/82
32
C.8 Mana+e newsletter types
'n organisation might have several newsletters that need to be managed. 9sers should havethe possibility of creating new newsletter types as well as changing the layout and name of anexisting newsletter.
C.9 Mana+e newsletter suscriers
Managing subscribers from the CMS backend can be very useful. 1or instance when amarketing campaign at an exposition yields a *possibly handwritten+ list of email addresses ofpeople interested in the organisation.
C.8 Mana+e newsletter types
$ news"etter type is a series of news"etters I e.#. the month"y promotiona" news"etter or the year"y Christmasnews"etter I that wi"" ha!e a num)er of su)scri)ers and information common to a"" news"etters sent with this
type7 such as su)ect and sender address.
"or# areaA CMS Bac-end
StartA ews"etter type is to )e added7 edited or de"eted
&ndA ews"etter types are up to date
(requenc)A 162 times a year
Su/?tas#s and ariations Solution e*ample Code
1. ,ist news"etter types
2. Create news"etter type
3. dit news"etter type
4. 0e"ete news"etter type
C.9 Mana+e newsletter suscriptions
Su)scri)ers to a news"etter can come from many sources. Many can su)scri)e direct"y from the we)site7 )ut at
trade fairs7 throu#h customer studies or simi"ar7 a "ist of new recipients can )e #athered7 which has to )emanua""y imported.
"or# areaA CMS )ac-end
StartA ne or more emai" addresses are to )e added to a news"etter type
&ndA mai" addresses added to the news"etter type
(requenc)A(eriodica""y
sersA ditors7 administrators
Su/?tas#s and ariations Solution e*ample Code
1. Su)scri)e recipient to news"etter type
2. 0e"ete recipient from a certain news"etter
3. Chan#e emai" address of recipient
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
35/82
33
C.1: Mana+e newsletter suscriptions from front end
Subscribing and unsubscribing to a newsletter should be easy to do for a website visitor.%owever, the subscription and unsubscription processes should be handled with care andsecurity so the customer can be safe in the knowledge that he is only sending out newsletters
to people, who have opted for it. Sending newsletters to people, who never signed up or whohave followed the unsubscription process is classified as =spam@ and it can be a costly affair, ifthe organisation is fined for it.
C.1: Mana+e newsletter suscriptions from frontend
"or# areaA rontend
Start7;ser wants to su)scri)e or unsu)scri)e to a news"etter
&nd7;ser su)scri)ed%unsu)scri)ed
(requenc)A ;serA nce a year7 SystemA 0ai"y)sersA isitors on the we)site
Su/?tas#s and ariations Solution e*ample Code
1. Su)scri)e to a news"etter
1p. (ro)"emA isitor mi#ht su)scri)e anotherperson@s emai" address or )e unsure whether the
su)scription is confirmed
Send su)scription confirmation emai" to user
2. Confirm su)scription Su)scription emai" contains "in- that the usermust fo""ow to confirm the su)scription
3. 0e"ete su)scription to a certain news"etter
3p. (ro)"emA isitor can unsu)scri)e another
person@s emai" address or )e unsure whether theunsu)scription is confirmed
Send unsu)scription confirmation emai" to user
4. Confirm unsu)scription ;nsu)scription emai" contains "in- that the usermust fo""ow to confirm the unsu)scription
5. ,ist news"etter types with indication of whetherthe user is su)scri)ed or not
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
36/82
34
C.11 Send newsletter
;e sure to confirm before sending a newsletter. Bewsletters are sometimes sent out to a hugeamount of subscribers, and there are often advertisers who pay to have their products in thenewsletters. "f the newsletter is not entirely ready, it gives the receivers an unfavourable
impression of the company and:or the advertisers.
C.12 Mana+e news
!he ability to display news is desirable by the ma8ority of organisational websites. "t can benews about the company, the market, products available, new employees and much more. !oreally benefit from the versatility of =news@, articles should assigned to categories so it ispossible to pull a =latest news@)component with only press releases or only new employees,relating the content to the context in which it is used.
Most CMS suppliers will be able to fulfil this task with a standard component.
C.13 Browse news
&isting too many news articles on a =&atest news@ page will only annoy the visitors, butmanually transferring articles to an archive is equally impractical to maintain. !he CMS should
in this standard component be able to only list a limited number of news in the variouscategories and have a common interface with numerous search and filter options in a news
archive.
C. 11 Send newsletter"or# areaA CMS )ac-end
StartA ;sua""y sent periodica""y7 for instance twice a wee-
&ndA ews"etter sent or par-ed for "ater resumption(requenc)A nce a day%wee-%month
sers7 ditor7 author7 $dministrator
Su/?tas#s and ariations Solution e*ample Code
1. Create news"etter
1a. ariantA dit news"etter
2. 9nsert tet
3. 9nsert media fi"es in news"etter
4. ;ndo chan#es
5. Send news"etter to recipients
5p ews"etter can )e sent out )efore it is ready
+. ews"etter shou"d )e appro!ed )y some)odye"se in the or#anisation )efore is can )e sent
'. Send test7 which sends the news"etter to oneemai" address on"y
/. (ar- news"etter for "ater resumption
*. ind par-ed news"etter for resumption
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
37/82
35
C.12 Mana+e newsWor- areaA Bac-end
Start7$ press re"ease7 new emp"oyee or simi"ar news is recei!ed )y the editor
&nd7ews story pu)"ished
(requenc)7SystemA 0ai"y7 ;serA Wee-"y
sers7 ditors
Content Solution e*ample Code
1. Create news story
2. dit news story
3. 0e"ete news story
4. 9nsert media fi"e
5. ;ndo chan#es ;ndo in the editor or ro"" )ac- to ear"ier chan#es
+. Sa!e and pu)"ish news story
C.13 Browse news
"or# area7 rontend
(requenc)7SystemA 0ai"y7 ;serA Wee-"y
sers7 rontend !isitors
Content Solution e*ample Code
1. iew news o!er!iew (a#e with "atest news "isted2. &ead news story
3. iew news archi!e
3p. (ro)"emA ews accumu"ate to the thousands7
too many to disp"ay on one pa#e
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
38/82
3+
C.14 ; C.1 Mana+e course enrolment and enrol to course
!hese two tasks are example tasks, connected to the data example in chapter 4.
C.14 Mana+e course e"aluation form
his tas- is part of a custom inte#ration with an eistin# course re#istration app"ication. See Chapter 0 fordescriptions of data.
Start7uestions need to )e added or remo!ed from a course@s e!a"uation form
&nd7Chan#es sa!ed
(requenc)7once a wee-
sers7 ditors
Sub-tasks and variations Solution example Code
1 'reate new question
1a 6ariant .ocate and edit eistin) question
2 8et question type and answer options
! 8ave question
4 $dd question to a speciic course
5 9emove question rom a speciic course
# Undo chan)es Undo in the editor or roll bac" to earlier version
7 *ublish evaluation orm
Eport replies to :icrosot Ecel ormat
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
39/82
3'
C.1 0eply to course e"aluation form
his tas- is part of a custom inte#ration with an eistin# course re#istration app"ication. See Chapter 0 fordescriptions of data.
"or# area7 rontend
Start7Course participant wants to e!a"uate a course
&nd7!a"uation finished
(requenc)7SystemA 263 times a wee-7 ;serA 162 times per year
sers7 We)site !isitors
Sub-tasks and variations Solution example Code
1 6iew a list o courses
2 6iew course evaluation orm
! 9eply to evaluation orm
!p *roblem 6isitor evaluates a course he did notparticipate in
.oo" up participant with username and passwordin course enrolment system
!q *roblem 6isitor evaluates a course multiple
times
9e)ister that the user has evaluated the course
!r *roblem Users with database access can see,who has )iven which reply
8ystem does not allow anyone to connect aspeciic evaluation to a speciic person
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
40/82
3/
C.15 Search content
"f visitors cannot find the desired information, they go elsewhere. %aving an easy)to)usesearch functionality can be vital to a website.
Most CMSs have basic search components, but real search engines are usually not a kernelfunctionality in CMSs. Search engines are a rather large area with specialised search engine
suppliers, and performance and features vary from simple database searches to search indexengines with phonetic and synonym recognition that record searches without results. !he latter
type can come with a high price tag, but is very useful especially on legal and public authoritywebsites where the language used in the content can differ from the language used by thevisitors. %owever, a cheap solution will often suffice to begin with, while the customerdiscovers the specific user requirements to a search engine. !he search engine is usually easyto replace, so the choice of search engine is not tied to the choice of CMS. Bevertheless, agood search engine is often a prerequisite for the website to become a success 0 especially ifthe CMS is used for an intranet.
C.15 Search content
"or# areaA rontend
Start7;ser is "oo-in# for content
&nd7Content found
(requenc)7SystemA ery frequent"y7 ;serA Wee-"y
sers7 rontend !isitors
Content Solution e*ample Code
1. Search for content with a search term1p. (ro)"emA Search does not find terms inside
documentsSearch inde reads (07 Microsoft Word and0 documents
1q. (ro)"emA Search term is misspe""ed (honetic searchesSearch inc"udes a "ist of common misspe""in#s and
their correct term
1r. (ro)"emA Search term has a synonym that is
used in content
Search for synonyms to the search term
2. iew search resu"ts o!er!iew
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
41/82
3*
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
42/82
4
ata to present
!his chapter is about structured business data that should be presented on website pages. !hedata will be used by the CMS either by storing the data inside the CMS or by integrating with
other systems that contain the data already. !he tasks that are carried out in connection withthe structured data 0 from the frontend as well as from the backend should be described astasks in chapter C in the requirements specification.
!o manage these data, the developers need to know the data structure and how it should beused and presented. !his is done in the tables with descriptions of necessary data andinformation about where the data are currently stored. 1or these data, the customer is the onewith the domain knowledge, as opposed to other parts of the CMS, where the suppliers are theexperts. "t is usually a good idea to consult the users, who are going to use the pages, aboutthe procedures. ;e aware of the fact that it is very likely that users have exceptions fromofficial procedures, and this is impossible to handle by a system, unless the exceptions are
analysed thoroughly and accounted for in the system. !o avoid this kind of problems, becareful that the system doesnt restrict the users unnecessarily, and be sure to ask the users
what they need for the system to become a success.
!he data should be presented on specially developed pages. "n order to ensure that the
supplier can deliver an appropriate solution, the customer should give as much information aspossible in data models. 'lternatively, the customer can provide mock)ups of pages containing
the data and let the implementation details be up to the supplier.
"f the same kind of data is used by other systems as well, it might be a better solution tointegrate with relevant databases or systems outside the CMS, since redundant data are hardto keep consistent and lacks scalability. "ntegration with external systems is covered in chapter
1.
ata e'amples
/rganisations often have data collected without really thinking of it as data. !he example inthe requirements template is an existing course enrolment application that should be extendedwith a course evaluation functionality, accessible on the website.
7etting this information into structured form inside the CMS can make updating and looking upinformation easier for everyone in the organisation as well as be of use to website visitors.
"t is important to describe the existing data in as much detail as possible since the supplier willeither build a new extension from scratch or try to apply the data to an existing extension with
or without modifications. "f the data are not thoroughly described, the supplier may think thatan existing extension can be applied and only late in the process discover that a new extensionor large modifications are needed that he has not included in the estimates.
!he data model in shape of E:# diagrams presents
-. #elevant parts of the existing data, that are used in connection with an existing courseenrolment system
2. ' course evaluation system that should be developed and presented on the site. !hisdiagram is an example of how the business data could be structured.
"f the data volume is very large, the supplier would have had to take it into consideration whenmaking time and price estimates, so the customer should give an estimate on current and
prospective volumes.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
43/82
41
ata to presenthe customer needs the system to present data descri)ed in this chapter. he ta)"e )e"ow shows the data7 thatshou"d )e presented on different pa#es on the we)site. Besides presentin# the data7 the CMS shou"d pro!ide
functiona"ity to search7 create7 de"ete and edit the data as descri)ed in chapter C7 tas-s C.14 Mana#e coursee!a"uation form7 and C.15 &ep"y to course e!a"uation form.
he CMS sha"" etend an eistin# course enro"ment app"ication with course e!a"uations performed throu#h thewe)site. he course enro"ment app"ication is accessi)"e throu#h we) ser!ices supp"ied )y the customer.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-llustration 27 $ata model for course ealuation
Course
name
description
"ocation
term
price
maDparticipants
minDparticipants
enro"mentDstart
enro"mentDend
(erson
isDpaid
dateDenro""ed
hasDanswered
dateDanswered
02. ques tion
03. type
name
04. option
password
"o#in
name
emai"
address
phoneD1
phoneD2
ame
uestion
01. form
!a"ue
date
enro""edDin
05. rep"y
0+. answer
question
hasoptions
a form has rep"ies
a rep"y consists
of answers
a question
has a type
$n answer
)e"on#s toa question
form has questions%
ques tions )e"on#s to forms
&*isting data
@ew data
teaches
has
-
8/12/2019 Guide to CMS Requirements Template
44/82
42
.1 %orm
'onnects questions to courses, speciyin) which questions should be as"ed in the evaluation o which courses
;ote that a question can be reused or several courses
Data volume: #00, increasin) by 200 per year
;o ields, only orei)n "eys &able is here to create one sin)le point o inte)ration with eistin) data
.2 (uestion
Data volume: 400, increasin) by 100 per year
(ields and relations Solution e*ample Code
1
-
8/12/2019 Guide to CMS Requirements Template
45/82
43
. 0eply
$n answer is the reply to one course evaluation
Data volume 50 thousand, increasin) by 4 thousand per year
(ields and relations Solution e*ample Code
1 Form+, reerence to orms
2 9eply date
.5 #nswer
$n answer o one question to one reply
Data volume 200 thousand, increasin) by #0 thousand per year
(ields and relations Solution e*ample Code
1
-
8/12/2019 Guide to CMS Requirements Template
46/82
44
!
-
8/12/2019 Guide to CMS Requirements Template
47/82
45
!
-
8/12/2019 Guide to CMS Requirements Template
48/82
4+
!.4 !'pansion of the system
CMSs are made to be expanded 0 or they should be. $ebsites on the "nternet have changedenormously over 8ust a single decade and website owners are expected to explore newpossibilities and expand the use of their websites continuously. !herefore, being able to
expand the CMS with new content types, modules and dynamic components is a must)haverequirement for any CMS and a customer should be able to change certain things very quicklyor hire a third party to do so.
!he CMS itself can be closed source, but the source code of custom built extensions paid for bythe customer, should be available to the customer. "t should be possible to have otherdevelopers extend the system, and therefore the customer needs access to a well)documented'" for the CMS. /therwise the customer will in practice be dependent on the initial developer,and that is usually not a good way of securing quality and reasonable prices.
!. Search en+ine optimisation
!he optimisation of a website to be found high in the lists of popular search engines is ascience of its own. !he CMS can be an obstruction to this process or it can be a facilitator, but
it will not be the sole answer to search engine optimisation. Many factors come into play, butthe most important ones relate to the actual content written by the content providers 0 i.e.eople outside the control of the CMS supplier. !he design can be structured properly, the CMScan allow e.g. !itles on hyperlinks, set meta tags on the page and provide a page title, but if
the users do not set a proper hyperlink title, relevant meta tags and good page titles, all theCMS offerings will bring few results. %owever, the CMS should notpreventusers from setting
these and therefore, the requirements in this chapter are likely used to disqualify the poorCMSs rather than to select the right one.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
49/82
4'
!.4 !'pansion of the system
he customer or a third party hired )y the customer sha"" )e a)"e to epand the system without in!o"!in# thesupp"ier. 9n this section7 OcustomerO means his own 9 staff or a third party authoriEed )y him.
9equirements to the e*tension possi/le Solution e*ample Code
1. he customer can add new content types withcorrespondin# mana#ement and output
$dd components7 e.#. #eneration or consumptionof &SS feeds
2. he customer can chan#e )eha!iour ofcomponents and modu"es7e) $dd unctionality
to send an email to a teacher, when a courseevaluation is submitted
dit%rep"ace components7 e.#. &ep"ace thenews"etter modu"e with another
3. he customer can chan#e "ayout of eistin#
content types
Content types use temp"ates that can )e edited
throu#h the temp"ate mana#ement7 simi"ar to pa#e
temp"ates
4. he customer can use a we""6defined $(9 tocommunicate with the core system. (refera)"y7the CMS source code is a!ai"a)"e.
We""6defined means that e!erythin# that can )edone )y an administrator can )e rep"icated
usin# the $(9.
5. he source code of a"" components constructedspecifica""y for this imp"ementation sha"" )e
a!ai"a)"e to the customer a"on# with de!e"oper
documentation. he customer sha"" ha!e theri#hts to use and modify )oth source code and
documentation.
!. Search en+ine optimisation
9equirements &*ample solutions7 Code
1. he system shou"d #enerate human reada)"e;&,@s to we)site pa#es and interna" "in-s in
content
2. Search en#ines must )e a)"e to )rowse the site Site na!i#ation is functiona" without :a!aScript7
"ash or other non6HM, techno"o#ies
3. (a#e code structure is tar#etin# search en#ines HM, code is structured with na!i#ation "in-s
first7 then the pa#e@s unique content7 then contentcommon for se!era" or a"" pa#es
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
50/82
-
8/12/2019 Guide to CMS Requirements Template
51/82
-
8/12/2019 Guide to CMS Requirements Template
52/82
5
% System inte+ration with e'ternal systems
%.1 irectory ser"ice
"f there are many users of the CMS, it might be a good idea to consider integration with adirectory service.
' directory service is basically a network based application, that contains information aboutusers and resources on a network. Examples of directory services are 'ctive 4irectory, Bovelland e4irectory, and the information in these directory services is accessed with a protocolcalled &4'2, and therefore integration with a directory service is also referred to as &4'integration.
!he directory service is used to centrally manage users, resources, services and users access
to resources and services such as the CMS. !his means, that the user can use the same username and password to the CMS as to other systems that also use the directory service.
!he main benefit with &4' integration is, that users have only one user name and password
combination to remember and can change it once for all the systems authenticating with thedirectory service. "t is often used in connection with single)sign)on where a user is grantedaccess to several systems as soon as he has locked on to the domain administered by thedirectory service.
' directory service can have several domains, that reflect the geographical or organisationalstructure of the organi(ation. 'n example could be a multinational cooperation, that hasaffiliates around the world on different domains. "n this case each affiliate might have a sub)site with locally relevant information communicated in different languages. "t might have itsadvantages to let the website reflect the structure of the organi(ation, and grant some usersfrom each domain access to edit their sub)site.
2 &ightweight 4irectory 'ccess rotocol
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-llustration 7 4$A8 integration ? same authentication to different s)stems
0irectory Ser!ice
etwor- "o#6onCMSther authenticated
systems
,o#in
Ren
cry
ptedpa
ssw
ord
$cces#
ranted%not#ranted2
1,o#in
Ren
cry
ptedpa
ssw
ord
$cces#
ranted%not#ranted2
1 ,o#in
Ren
cry
ptedpa
ssw
ord
$cces#
ranted%not#ranted2
1,o#inR
enc
rypt e
dpas
swo
rd
$cces#
ranted%not#ranted2
1,o#inR
enc
rypt e
dpas
swo
rd
$cces#
ranted%not#ranted2
1
-
8/12/2019 Guide to CMS Requirements Template
53/82
51
% System inte+ration with e'ternal systems
he CMS sha"" inte#rate to the fo""owin# eterna" systems
1. ,0$( 0irectory ser!ice
2 ?oo)le $nalytics, website statistics )atherin) solution
! 'ourse enrolment system
%.1 irectory ser"ice
he directory ser!ice is used to authenticate interna" users with the same username and password as in othersystems
-ntegration requirements Solution e*ample Code
1. he CMS sha"" authenticate users throu#h,0$( in rea"6time
1p. 9f a user is de"eted in the directory7 the CMScan sudden"y ha!e pa#es with a pa#e
responsi)"e that no "on#er eists
nvo"e code in the ':8 when a user is deleted inthe directory, notiyin) relevant people about the
deletion
%.2 #nalytics software & $oo+le #nalytics
?oo)le $nalytics )ather statistics on pa)e views and visitors
-ntegration requirements Solution e*ample Code
1 9e)ister pa)e statistics in ?oo)le $nalytics $ll pa)es must include the ?oo)le $nalytics@ava8cript code
%.3 Course enrolment system
&he course enrolment system can communicate throu)h web services or, i the ':8 is hosted at the customer,direct database access to certain views in the Aracle database runnin) the enrolment system the ':8 is
eternally hosted, only web services are available -eb services or database views will be created by thecustomer to ulil the supplierBs requests
the supplier provides a solution with a hi)her de)ree o inte)ration /1 is lower than 2 is lower than !, he doesnot need to provide a solution to a lower de)ree
-ntegration requirements Solution e*ample Code
1 &he ':8 periodically replicates courseenrolment data
2 Users can initiate manual replication, whenneeded
! &he ':8 pulls data about courses, its teachers
and students rom the course enrolment systemin realtime
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
54/82
-
8/12/2019 Guide to CMS Requirements Template
55/82
53
%.4 ,nte+ration with new e'ternal systems
he customer epects to inte#rate the CMS with other systems7 possi)"y usin# a third party consu"tant. he CMSsha"" )e prepared for this inte#ration throu#h the fo""owin# requirements.
%.4.1 Ser"er role
S)stem interface in serer role Solution e*ample Code
1. he system sha"" )e a)"e to eport data in aformat7 reada)"e to other systems
8tandardised eport ormat
*lu)in architecture or sendin) data
2. unctiona"ity in the CMS can )e tri##ered )yother systems.
9t sha"" )e possi)"e to use an $(9 accessi)"efrom other systems to
6 Create a new or modify an eistin# user6 Create a new pa#e with content
6 (erform a search in the CMS@ search en#ine
-ebservice $*, C:.9*' etc
3. he data)ase is a!ai"a)"e for use )y othersystems
%.4.2 Client role
S)stem interface in client role Solution e*ample Code
1. he system sha"" )e a)"e to import data fromother systems and automatica""y create new
pa#es in the pa#e hierarchy.
8tandardised import ormat
2. unctiona"ity in other systems can )e tri##ered)y the CMS7 e.#. Ca""in# a we)ser!ice andprocessin# a rep"y
-ebservices, C:.9*' etc
%.4.3 ocumentation and ri+hts
$ocumentation and rights Solution e*ample Code
1. $(9 documentation shou"d document a"" areas
of the $(9 a!ai"a)"e to etensions andcomponents in a way so it is understanda)"e to
a third party
2. he customer or a third party appointed )y him
has a"" ri#hts to use the documentation and $(9
3. he customer ho"ds a"" ri#hts to a"" data stored
in the CMS
4. Content data are stored in a standard data)ase7
with connecti!ity throu#h standard data)asetoo"s7 ma-in# access to data a!ai"a)"e without
usin# the CMS
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
56/82
54
$ )echnical ,) architecture
$.1 Hardware requirements
$.1&1 !'istin+ hardware"f the customer has hardware that he expects will be sufficient for running the CMS, he should
list the specifications and the supplier can reply with expected capacity of such a system.
$.1.&2 Hostin+
!he customer hosting the CMS will ensure physical access to the servers and complete controlof what is running on which servers. %owever, it also requires "! personnel with web servermanagement competencies to keep the servers secure and running.
%iring a data centre to host the CMS can outsource the need for web server managers in
exchange for less control with the physical servers 0 and perhaps a higher price.
/ften, CMS suppliers offer to host the CMS for customers. !he advantage of this solution is
that it will be hosted with someone, who knows the CMS very well and who can include CMSsecurity updates in the normal server maintenance procedures.
$.1&4 )est and de"elopment en"ironment
'dding new features, updating the CMS or changing the set up can be an intimidating task ona production website with many risks ranging from misplaced images to server errors.!herefore it can be useful or even necessary to have a range of servers for developing, testingand staging these changes
Development server!he server used by developers *in)house or external+ to develop new features, modules,templates etc. Content is test content to test whether a feature works or a template looks
correct. Bot everything is finished and ready for deployment to the test server.
Test serverServer used by developers for testing whether developments work together with otherdevelopments and to show changes to interested parties before deployment on the staging andproduction servers.
Staging server!his server is used by content providers to make changes to the content or site structurewithout affecting the website visitors, until the changes are published to the production server.
Content should always be synchronised with the production server, barring the unpublishedchanges.
Production server
Server *or several servers in a load balancing solution+ accessed by the website visitors.
1or organisations with large websites containing critical data or functionality vital to thecompany, all of the servers mentioned in the requirements template are likely to be necessary.1or others, only the production server. 1or most, a development and test server can becombined into one and a good versioning and preview function can combine staging and
production servers.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
57/82
55
$ )echnical ,) architecture
$.1 Hardware and software requirements
he customer current"y has the fo""owin# equipment7 to )e used in the CMS operationsA
1 2 servers with these speciications
2 100 :bps connection to the nternet
! 4 Aracle database licenses
9equirements to hardware and software of the
customer
'ffered solution Code
1. he system is epected to run on eistin# hardware7
comp"yin# with the requirements in ,.1 and ,.2
;nder these circumstances7 the system can
hand"e DDD hour"y pa#e "oads.
-
8/12/2019 Guide to CMS Requirements Template
58/82
5+
H Security
Somethin# that is ta-en for #ranted )y many CMS customers is the aspect of security. 9f considered
at a""7 emphasis is usua""y on accidenta" addin#%editin#%de"etin# of content )y users or unauthorised
access to the ser!er itse"f. Howe!er7 other areas shou"d )e forma"ised and considered proper"y.
H.1 #ccess ri+hts for users
$ )asic feature of any CMS is the a)i"ity to )"oc- off areas of the we)site from the eye of the
#enera" pu)"ic. Most nota)"y7 the administration )ac-end shou"d ne!er )e accessi)"e without proper
user authentication.
H.2 Security mana+ement
Managing users and their access rights should be targeting the "! department andaccommodate their wishes of easy user administration 0 possibly centralised through adirectory service as covered earlier.
Managing the permissions in the directory service is rarely available, but some CMSs have
synchronisation of user groups and user group memberships between the directory service andthe CMS, so defining the permissions on a user group basis allows for moving users in and out
of groups directly in the directory service management application, saving the "! departmentfrom keeping user group memberships synchronised manually.
Should the requirements not include authentication through a directory service, it is importantto ensure that the user and permissions management is suited towards the number of users.
$ith many user accounts, it becomes a very large task to assign permissions to each andevery one of them or assign users to user groups individually.
"n chapter E.6, we suggested that the system should log user actions. %owever, for thelogging to hold real value for the users, there should be a way of reviewing and filter this log
so only data relevant to the reviewer is presented.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
59/82
5'
H Security
H.1 #ccess ri+hts for users
Mana#e users7 ri#hts7 ro"es7 and responsi)i"ities
9equirements to securit) 'ffered solution Code
1. $ccess security7 ensurin# that on"y authorised users
access re#u"ated areas
1.p (ro)"emA ;sers use se!era" systems and for#et user
names and passwords if there are too many.
8in)lesi)non throu)h directory service
Access rights7
1. &i#ht to !iew pa#es
2. &i#ht to add%edit pa#es from a certain "e!e" and down in the document tree3. &i#ht to de"ete pa#es )e"ow a certain "e!e" in the document tree
4. &i#ht to up"oad fi"es to the media "i)rary5. &i#ht to edit or de"ete fi"es in the media "i)rary
+. &i#ht to use HM, and :a!aScript in pa#e content editin#$n editor mi#ht ha!e ri#hts 273747 whi"e a content pro!ider may ha!e on"y 273 and an administrator has a"" ri#hts
from 2 throu#h +.
H.2 Security mana+ement
he wor- in security mana#ement inc"udes the fo""owin# su)tas-s.
$ifficult7 -hen 120 new people have been employed and need access ri)hts rom day one
Su/tas#s for securit) management7 &*ample solutions7 Code
1. $ssi#n or remo!e access ri#hts for a user.
1a. ariantA he user must )e created.
1p *roblem $ lot o users have to be created, e)
when they start the irst day in the month
$utomatic transer o data rom the personnel
system
2. Create new user ro"es
3. $ssi#n ro"es to a user
3.a ariantA $ssi#n users to a ro"e
4. $ssi#n permissions to ro"e
5. 8et an o!er!iew of who has which ri#hts and
whether some ri#hts ha!e not )een assi#ned to
anyone.
+. &e!iew user action "o#
-
8/12/2019 Guide to CMS Requirements Template
60/82
5/
H.3 rotection a+ainst data loss
Measures protecting against loss of data should cover three situations
-. !ransfer of data between servers or systems 0 ensuring that data are received correctlybefore being purged from the sending system.
2. Concurrent use of the system by multiple users 0 protecting against corrupted data as aresult of several concurrent writes of the same item.
3. hysical damage to or theft of servers 0 protecting the servers from physical access byunauthorised personnel, proper fire extinguishing measures and backup power supplies.
$hatever measures are taken, always be sure to test the backup and restore proceduresregularly 0 at least once a year 0 both to be certain that the backup and restore procedures
are working andto ensure that the responsible persons are familiar with them, so they knowwhat to do and how to do it properly.
H.3&1 )ransfer of data
!ransferring data from one system to another is always a situation to be cautious. Manyfactors influence a proper data transfer, ranging from the physical condition of wires to theother processes performed by the servers running the systems. !herefore, it can be resources
well spent, ensuring that data are transferred correctly, thus not ending in a situation wheredata have been deleted in one system without being properly received at the other end.
H.3&2 Concurrency issues
$hen two users open the same page for editing at the same time and then save it, the CMScan have difficulties determining which edition is the right one to use. Should it overwrite thefirst with the second< 4isallow saving the second since the original has been changed< 4isallowopening the second for editing while it is open for editing by someone else< Save the secondas a new version so the first is still available< Should some users have privileges that overrule
the restrictionsections
ages in a CMS are for the most part dynamically generated by looking at the users input
*accessed 9#&, parameters in the request+ and looking up the corresponding pages content inthe database. "f the input from 9#& and parameters is not handled correctly before being used
in a database query, malicious visitors may be able to include SG& syntax that will beexecuted. !his could lead to discovery of passwords *another good reason to use a directoryservice for authentication+, modification of content or change of user permissions, giving thevisitor administrator rights in the CMS.
' good CMS will ensure that all user parameters are handled as not)to)be)trusted and filteredbefore being used in database queries.
H.&4 Cross Site Scriptin+ ?@SSA
Even if the CMS filters the user parameters to avoid SG& in8ections, the user submitted inputcan still be of danger to the website and its visitors. Cross Site Scripting *abbreviated HSS toavoid confusion with CSS 0 Cascading Style Sheets+ involves adding IavaScript code to the
user input, which will be executed by the visitors browser, when he visits the page with thecode. HSS attacks can result in cookies being stolen or redirecting the visitor to a malicious
site with even more malicious code to attack the visitors computer.
!his is mainly an issue for websites where visitors can contribute content, e.g. write commentsin a discussion forum.
!o avoid HSS problems, the CMS should escape the input so that it is not executed whendisplayed on a web page. 'dditional measures could be logging HSS attempts and notifyingserver administrators of the possible attack.
H.& Cross Site 0equest %or+in+ ?CS0%A
!he %!! protocol used by web browsers to communicate with web servers is a state)less
protocol, meaning that each request sent by the browser will be handled by the server as ifthere have been no previous requests. !herefore each request must contain all the information
needed by the web server to serve the correct page. !his also means that anybody can buildan %!! request and send to a web server, which will handle the request based on the
information.
CS#1 attackers exploit this, by forging a request to look like it is coming from an authenticated
user, who is allowed by the server to perform actions, such as modifying content or grantingCMS access rights.
!he usual way to determine whether a request is genuine and part of a session for a logged)inuser, is to set a cookie on the users computer that will be sent along with the request.
rovided that the malicious person has not stolen cookies through HSS or physical access tothe users computer, it is very difficult to know the cookie content to send with the request.
%owever, if the malicious person can somehow get the user to send the re'uest himsel!, thecookie will be included and the attack may succeed.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
63/82
+1
H. rotection a+ainst threats
$ ris- assessment has shown that the fo""owin# threats are serious. he system must protect a#ainst them.
,he s)stem must protect against7 &*ample solutions7 Code
1. ;nauthorised persons o)tainin# administrator
ri#hts trou#h the 9nternet
-
8/12/2019 Guide to CMS Requirements Template
64/82
+2
!here are several methods for a malicious person to trick the user into sending the forgedrequest
-. "f the web server performs the desired actions with 7E! parameters *parameters sentthrough the 9#&+, the attacker can merely add a link in a comment, hoping that a CMS
administrator will click on it or 0 if the comment system allows this 0 add an image withthe attack link as its source. $hen a CMS administrator clicks on the link or views the
page with the image, the 9#& will be invoked with a request from the administrator andthe web server will perform the desired actions.
2. "f the web server allows %!M& in the discussion comments, a malicious person can builda web form, e.g. $ith an image as the =submit button@ and writing something along the
lines of =click on the image to see an enlarged version@, hoping that a CMSadministrator will do so, thus submitting the form.
3. "f neither option is available, the malicious person can build the attack form on anotherwebsite where an option is available 0 or his own, where he can add content withoutrestrictions 0 and then trick the CMS administrator into visiting the website and clickingthe link. !his is of course a very unreliable method for the attacker, but it happens
nevertheless.
rotection against CS#1 attacks can consist of
Bever accepting database changes from 7E! requests 0 except logging and similar
actions.
4isallowing %!M& for website visitors or have a small white)list of accepted %!M& that
the visitors can use, filtering or escaping all other %!M&. Many websites allow no %!M&but instead allows the use of so)called =bbcode@ where pseudo)code is transformed into%!M& within very restricted limits.
Checking the %!!D#E1E#E# property of the request. !his will contain the 9#& the user
is coming from. "f it does not come from the same web domain as the website, it can be
discarded. %owever, many software firewalls block this information to protect usersprivacy, since it allows websites to register, where the user is coming from.
Ensuring that submitted forms include keys that a malicious user cannot know about
and incorporate in his attack forms. !his could be a randomly generated key saved in
the users session data *which is stored on the web server+ that is only valid for aperiod of time and added to the form dynamically. $hen the form is submitted, the web
server can check to see whether the key is there and whether it corresponds to a key inthe users session.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
65/82
+3
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
66/82
+4
, -saility and desi+n
9sability of the CMS is a decisive success criteria. !he usability has often been ignored,because the focus has been on the usability of the CMS frontend, i.e. the website, or because
the customer does not know, what to look for when the CMS is chosen.$hen choosing a CMS it is decisive to test the usability of the backend before contract signing
as described in chapter ;, while the usability of the frontend design can be tested aftercontract signing. 's the design of the CMS backend is a basic part of the CMS, it is usually noteasily changed, and therefore the usability has to be evaluated before a CMS is chosen and acontract signed.
' way of measuring usability, is to let a user carry out relevant tasks *chapter C+ and countthe number of critical usability problems and demand, that there may only be a certain
number of critical usability problems. !he definition of a critical usability problem is a problem,where the user
1. cannot carry out the tas- on his own
2. or )e"ie!es that the tas- is carried out e!en thou#h it is not
3. or epresses that this is difficu"t7 rea""y
4. or the test sees7 that the user does not use the system in an efficient"y manner
,a/le %7 Critical usa/ilit) pro/lems
!o perform a usability test, require that the suppliers show the backend from an existing CMS
solution, and perform think)aloud)tests with future users to find potential problems. !he think)aloud)test should contain as many tasks from the requirements specification chapter C aspossible, as we have also described in chapter ; about proof of concept.
,.1 6earnin+ and efficiency in daily use
9sability is primarily about how convenient it is to use the system. !he typical users of the
backend are editors, administrators and authors. !o frequent users of the CMS, efficiency isthe most important usability factor, while ease)of)learning is the most important usabilityfactor to users, who seldom use the CMS. %owever, both usability factors are important,because the bigger a site is, the more likely it is that the responsibility of different pages andsub)areas are taken care of by many not)so)frequent users in an organisation, while the fewpeople overall responsible of the site use the CMS very frequently.
"f the backend is not logical or intuitive, it will be a problem especially to infrequent users. !heresult of poor usability can be that organisations give up distributed update, using only one ortwo people to do all the editing. "f the CMS is not efficient, it is very inconvenient to frequentusers, who use the CMS as their primary work application. Either way, it will make the usersless motivated to use the CMS and thus less motivated to update the content frequently andfulfil the ;.-)3 and ;.-)J business goals. !he ideal situation is that the CMS supports the
organisation rather than the organisation having to fit to the CMS, so it is a good idea to spendtime and resources to check the usability of different systems thoroughly.
/ften it is much easier to find =ease)of)learning@)usability problems than it is to find=efficiency@)usability problems, because the =efficiency@)usability problems become visible onlyto users, who have to do the same inefficient task 6> times a day.
his specification is )ased on &equirements emp"ate S,6' ren ,auesen7 2'?
-
8/12/2019 Guide to CMS Requirements Template
67/82
+5
,.1 6earnin+ and efficiency in daily use
9t is important that the system o)tains adequate usa)i"ity. his is )est done throu#h ear"y usa)i"ity tests. $fter theear"y tests7 customer and supp"ier oint"y decide the detai"ed requirements to )e !erified at the time of system
de"i!ery. 9t may for instance )e a detai"ed specification of the tas-s to )e tested7 and the acceptance criteria towrite in the midd"e co"umn.
sa/ilit) test of proof of concept &*ample solutions7 Code
1. he supp"ier must test the user interface for
usa)i"ity )efore si#nin# the contract.
;sa)i"ity testin#
-
8/12/2019 Guide to CMS Requirements Template
68/82
++
1or instance, we have interviewed a user who frequently publishes a lot of content items on alarge website. Every time he presses publish, he has to wait about -> seconds while the
pages are being published, without being able to do anything in the meantime. 'part from thatthe system can either publish a single content item or publish all unpublished content)items.$hen the user publishes e.g. 55 out of K6 unpublished content items, he can only do it one by
one and each time wait at least -> seconds. !his is inconvenient as well as time consuming. 'nadditional problem is the preview functionality that does not look exactly like the publishedcontent item. !herefore the user actually has to publish every time he makes small changes, ifhe needs to see how it really looks. !his is especially relevant on the frontpage of the website,where line breaks have to be controlled and text has to fit into different boxes on the page.
!hese are typical efficiency usability problems that are often not noticed in time and reduceefficiency and flow in daily work tremendously. !herefore it is recommended to pay specialattention to the problems, that are connected to the different tasks in chapter C when carryingout usability tests as well as to specify usability tests with enough volume to test theefficiency.
,.2 #ccessiility and 6oo&and&feel!he CMS backend is usually not optimised towards visually or otherwise impaired people, whilethe accessibility to the frontend to some extent can be supported or restrained by the choice ofCMS. !his is a large sub8ect, with many different approaches to linking, titling, contentorgani(ation and rapid navigation, as well as generation of multiple sites optimised towards thespecial browsers used by people with different kind of impairments. !herefore the accessibility
requirements might not be satisfactory, and if accessibility is a critical issue, where it isntenough to follow an accessibility standard such as $'", it is necessary to consult an expert in
this area.
Many CMSs attempt to exploit the general users familiarity with applications such as Microsoft
$ord by creating page text editors with a similar toolbar layout as Microsoft $ord. 1amiliaritywith known programs, usually makes them easier to learn and remember, but as such a
familiar look is not