Uploaded by Spitfiren

Applying Solution Strategy Principles in Demandware Student Guide

advertisement
!
!
Applying(Solution(
Strategy(
Principles(in(
Demandware((
Student'Guide!
Solution!Strategy!Certification!©!Demandware,!Inc.!
!
July!2015!Page!1!
!
!
Table(of(Contents(
Introduction!................................................................................................................................................!6
About!the!Course!..................................................................................................................................!6
Course!Objectives!.................................................................................................................................!6
Module!Objectives!...............................................................................................................................!7
Evaluation!Criteria!......................................................................................................................................!9
Classroom!Evaluation!...........................................................................................................................!9
Spec!Review!&!Launch!Review!.............................................................................................................!9
Business!Requirements!........................................................................................................................!9
Client!Capabilities!...............................................................................................................................!10
Module!1:!The!Role!of!the!Solution!Strategist!.........................................................................................!11
Learning!Objectives!............................................................................................................................!11
Lesson!1.1:!!Solution!Strategy!Defined!...............................................................................................!11
Lesson!1.2:!!Solution!Strategy!is!a!Client!Facing!Role!.........................................................................!11
Lesson!1.3:!!Solution!Strategy!as!a!Project!Guide!...............................................................................!11
Conclusion!..........................................................................................................................................!12
Module!2:!Demandware!Objects!..............................................................................................................!13
Learning!Objectives!............................................................................................................................!13
Overview!............................................................................................................................................!13
Lesson!2.1:!The!Object!.......................................................................................................................!13
Discussion:!!Object!Brainstorm!...........................................................................................................!14
Lesson!2.2:!Demandware!System!Objects!..........................................................................................!14
Lesson!2.3:!Object!and!Attribute!Best!Practices!.................................................................................!17
Knowledge!Check!...............................................................................................................................!19
Knowledge!Check!Answers!.................................................................................................................!20
Module!3:!Demandware!Architecture!......................................................................................................!21
Learning!Objectives!............................................................................................................................!21
Overview!............................................................................................................................................!21
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!2!
!
!
Lesson!3.1:!The!Cartridge!...................................................................................................................!21
Lesson!3.2:!Pipelines!...........................................................................................................................!23
Lesson!3.3:!Pipelets!............................................................................................................................!26
Lesson!3.4:!Internet!Store!Markup!Language!(ISML)!.........................................................................!26
Lesson!3.5:!Decorator!.........................................................................................................................!26
Lesson!3.6:!Resource!Bundle!..............................................................................................................!27
Knowledge!Check!...............................................................................................................................!28
Knowledge!Check!Answers!.................................................................................................................!29
Module!4:!Solution!Design!\!Client!Analysis!.............................................................................................!30
Learning!Objectives!............................................................................................................................!30
Overview!............................................................................................................................................!30
Lesson!4.1:!Current!Platform!..............................................................................................................!30
Lesson!4.2:!Architecture!and!Data!Model:!The!Client!Context!..........................................................!31
Exercise:!!Review!the!Product!Spreadsheet!Template!.......................................................................!33
Lesson!4.3:!Content!............................................................................................................................!33
Knowledge!Check!...............................................................................................................................!35
Knowledge!Check!Answers!.................................................................................................................!36
Module!5:!!Solution!Strategy!Documentation!Analysis!............................................................................!37
Learning!Objectives!............................................................................................................................!37
Overview!............................................................................................................................................!37
Lesson!5.1:!!The!Project!Plan!..............................................................................................................!37
Exercise:!!Identifying!project!plan!elements!......................................................................................!38
Lesson!5.2:!!Operating!on!Demandware!Checklist!.............................................................................!38
Exercise:!!Resolving!an!incomplete!Operating!on!Demandware!checklist!.........................................!38
Lesson!5.3:!!Architecture!Diagram!......................................................................................................!38
Exercise:!!Architecture!Diagram!data!flow!error!resolution!...............................................................!39
Exercise!Answer!..................................................................................................................................!40
Lesson!5.4:!!Data!Model!.....................................................................................................................!40
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!3!
!
!
Lesson!5.5:!!Content!Inventory!&!Control!..........................................................................................!41
Exercise:!!SiteGenesis!Wireframe!Review!..........................................................................................!42
Lesson!5.6:!!Integrations!.....................................................................................................................!42
Lesson!5.6:!!Functional!Specification!Document!................................................................................!43
Knowledge!Check!...............................................................................................................................!45
Knowledge!Check!Answers!.................................................................................................................!46
Module!6:!Identify!Demandware!Implementation!Best!Practices!...........................................................!47
Learning!Objectives!............................................................................................................................!47
Lesson!6.1:!General!Architecture!Best!Practices!................................................................................!47
Lesson!6.2:!Storefront!Best!Practices!.................................................................................................!49
Discussion:!!Customization!Sample!....................................................................................................!61
Other!Object!Quotas!..........................................................................................................................!62
Lesson!6.3:!Mobile!Best!Practices!......................................................................................................!64
Mobile!Approach!Tradeoffs!................................................................................................................!66
Lesson!6.4:!International!Best!Practices!.............................................................................................!66
Knowledge!Check!...............................................................................................................................!77
Knowledge!Check!Answers!.................................................................................................................!79
Module!7:!!Platform!Customization!.........................................................................................................!81
Learning!Objectives!............................................................................................................................!81
Lesson!7.1:!Common!Deviations!from!SiteGenesis!............................................................................!81
Discussion:!Common!Deviations!from!SiteGenesis!............................................................................!81
Module!8:!Solution!Strategist!Launch!Readiness!Analysis!.......................................................................!83
Learning!Objectives!............................................................................................................................!83
Lesson!8.1:!Requirements!Applied!Workshop!....................................................................................!83
Overview!............................................................................................................................................!83
Business!Requirements!......................................................................................................................!83
Header!................................................................................................................................................!86
Footer!.................................................................................................................................................!87
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!4!
!
!
Global!Navigation!...............................................................................................................................!87
Homepage!..........................................................................................................................................!88
Product!Listing!Page!...........................................................................................................................!89
Product!Tile!........................................................................................................................................!90
Quickview!...........................................................................................................................................!90
Product!Detail!Page!............................................................................................................................!91
Search!Results!....................................................................................................................................!92
Cart!.....................................................................................................................................................!93
Checkout!\!Billing!................................................................................................................................!94
Checkout!\!Order!Confirmation!..........................................................................................................!95
My!Account!\!Landing!.........................................................................................................................!96
My!Account!\!Addresses!.....................................................................................................................!97
My!Account!–!Create!Account!............................................................................................................!98
Knowledge!Check!Answers!.................................................................................................................!99
Lesson!8.2:!Business!Manager!Launch!Review!.................................................................................!101
Knowledge!Check!.............................................................................................................................!121
Knowledge!Check!Answers!...............................................................................................................!123
Congratulations!......................................................................................................................................!125
Appendix!A!.............................................................................................................................................!126
Spec!Review!......................................................................................................................................!126
Launch!Review!..................................................................................................................................!138
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!5!
!
!
Introduction(
About(the(Course(
Audience!
Partner!Strategists!and!Demandware!Solution!Strategists.!
Duration!
2!Days!
To!successfully!meet!the!objectives!of!this!course,!we!suggest!that!
Partners!and!Strategists:!
Prerequisites!
System(
Requirements(
Course(Materials!
!
Have!taken!Managing!The!Storefront!(MTS)!training.!
!
Have!taken!Demandware!Administration!eLearning!training.!
!
Have!taken!Managing!URLs!eLearning!training.!
!
Have!taken!Platform!Overview!eLearning!training.!
!
Have!taken!Managing!Content!eLearning!training.!
!
Have!seen!the!following!Merchandising!Coffee!Talks!available!on!
Xchange:!
!
Customizing!Shopping!Experiences!through!Geolocation!
!
SEO!Demystified:!Tips,!Tricks,!and!Best!Practices!
!
Product!Detail!Page!Optimization!Best!Practices!
!
Checkout!Optimization!Best!Practices!
Computer!and!access!to!Business!Manager!
!
Applying!Solution!Strategy!Principles!in!Demandware!Student!Guide!
!
SiteGenesis!Wireframes!
!
Data!Model!Template!
!
Product!Spreadsheet!Template!
!
FSD!Template!
Course(Objectives
Welcome!to!the!class,!Applying!Solution!Strategy!Principles!in!Demandware.!After!completing!this!
course,!you!will!be!able!to:!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!6!
!
!
!
Explain!the!role!and!value!of!the!Solution!Strategist!
!
Define!and!describe!the!fundamental!building!blocks!of!the!Demandware!Commerce!Platform!and!
their!best!practice!use!
!
Analyze!a!client’s!capabilities!against!the!designed!solution!to!determine!if!the!solution!can!be!used!
by!the!client!now!and!in!the!future!
!
Identify!the!documentation!created!by!Solution!Strategists!
!
Analyze!project!documentation!for!completeness!and!comprehensiveness!
!
Determine!if!the!documented!solution!adheres!to!Demandware!implementation!best!practices!and!
can!scale!globally!
!
Identify!if!the!solution!is!ready!for!launch!
Module(Objectives
The!following!table!describes!the!objectives!for!each!module:!
Module!
Objectives!
The!Role!of!the!Solution!Strategist! !
Define!the!role!of!the!Solution!Strategist!
!
Define!the!value!of!the!Solution!Strategist!to!the!client!
and!the!project!team!
Fundamental!Components!of!the!
Demandware!Environment!and!
their!Extension!
!
Define!a!Demandware!Object!
!
Explain!the!system!objects!used!by!SiteGenesis!
!
Demonstrate!the!best!practice!use!of!system!objects!and!
when!it!is!appropriate!to!extend!them!
Demandware!Architecture!
!
Describe!the!core!development!building!blocks!that!
make!up!the!Demandware!system!
Solution!Strategy!Client!Analysis!
!
Break!down!the!client’s!capabilities!and!reconcile!them!
against!the!documented!solution!
Solution!Strategy!Documentation!
Analysis!
!
Describe!the!document!types!used!in!a!project!and!their!
use!
!
Appraise!project!documentation!for!completeness!!
Solution!Strategy!Implementation! !
Approach!Analysis!
Summarize!Demandware!Implementation!best!practices!
for:!
!
General!architecture!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!7!
!
!
!
General!storefront!features!
!
Internationalization!
!
Mobile/Responsive!
Platform!Customization!
!
Identify!deviations!from!SiteGenesis!and!advise!on!their!
feasibility!within!the!platform’s!technology!constraints!
Solution!Strategy!Launch!
Readiness!Analysis!
!
Appraise!the!storefront!for!conformity!to!the!
documented!requirements!(requirements!applied!
workshop)!
!
Perform!a!final!review!of!Business!Manager!to!ensure!
launch!critical!setup!has!been!completed!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!8!
!
!
Evaluation(Criteria(
Classroom(Evaluation(
At!the!conclusion!of!the!classroom!training!each!Student!will!take!a!timed!multiple!choice!exam!to!
demonstrate!consumption!of!the!material!presented!during!the!class.!!Each!Student!will!be!required!to!
take!the!exam!through!the!Demandware!Learning!Management!System!and!will!need!to!answer!80%!
of!the!questions!correctly!to!pass.!!Each!Student!may!attempt!to!take!the!exam!two!times.!
Spec(Review(&(Launch(Review(
As!part!of!the!Site!Readiness!Assessment,!the!Strategist!will!write!project!documentation!used!for!the!
design!and!development!of!the!solution.!!The!Demandware!Solution!Strategist!assigned!to!the!SRA!will!
complete!the!Spec!Review!and!Launch!Review!for!items!assigned!to!the!Solution!Strategist!(see!
Appendix!A).!!There!will!be!an!initial!and!a!final!review!of!the!documentation.!!The!score!needed!to!
pass!will!be!based!on!the!final!evaluation!of!the!Spec!Review!and!Launch!Review.!!This!assessment!may!
be!completed!against!a!SRA!the!Student!completed!in!the!last!12!months!since!the!start!of!the!class!or!
on!a!future!project.!
!
Some!items!evaluated!by!the!Demandware!Solution!Strategist!may!not!be!written!by!the!student.!!
These!elements!are!still!assessed!against!the!student!as!part!of!the!Strategist!role!is!to!influence!the!
overall!project!not!just!the!components!authored!by!the!Strategist.!
!
To!pass,!90%!of!the!items!must!be!marked!“Y”!in!the!final!review.!!All!of!the!items!deemed!launch!
critical!must!me!marked!“Y”!in!the!final!review.!
!
Business(Requirements(
The!student!must!supply!business!requirements!for!the!project.!!The!Demandware!Solution!Strategist!
will!use!the!business!requirements!to!determine!if!the!designed!solution!meets!those!requirements.!
!
We!understand!that!requirements!are!a!point!in!time!representation!of!the!client!desired!functionality.!!
The!Student!may!submit!additional!documentation!to!indicate!requirements!that!have!been!added!or!
removed.!
!
The!Demandware!Solution!Strategist!will!render!a!Pass/Fail!grading!on!this!section!at!their!discretion!
based!on!the!documentation!supplied.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!9!
!
!
Client(Capabilities(
The!student!will!supply!documentation!outlining!the!client!capabilities!so!the!Demandware!Solution!
Strategist!can!assess!the!end!usability!of!the!proposed!solution!for!the!client.!
!
This!demonstrates!that!the!Student!has!assessed!the!client!and!has!appropriately!used!that!
information!to!inform!the!solution!design.!
!
The!Demandware!Solution!Strategist!will!render!a!Pass/Fail!grading!on!this!section!at!their!discretion!
based!on!the!documentation!supplied.!
!
Legend(
Icon(
Use(
Business!Manager!Reference!
(
Exercise!/!Activity!
(
Discussion!
(
Knowledge!Check!
(
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!10!
!
!
Module(1:(The(Role(of(the(Solution(Strategist(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
•
Describe!the!role!of!the!Solution!Strategist!
•
Describe!the!value!of!the!Solution!Strategist!to!the!client!and!to!the!project!team!
Lesson(1.1:((Solution(Strategy(Defined(
This!course!is!intended!to!educate!you!in!such!a!way!that!you!end!up!approaching!projects!like!a!
Demandware!Solution!Strategist!but!before!we!can!successfully!do!that!you!must!understand!what!
Solution!Strategy!is.!!Further,!you!must!also!understand!the!value!a!Solution!Strategist!delivers!to!both!
the!client!and!the!project!team.!
!
A!Solution!Strategist!is!a!key!member!of!the!implementation!team!and!works!on!the!project!from!
inception!through!launch.!!Solution!Strategists!have!responsibility!for:!
•
•
•
•
•
•
Requirements!gathering!and!definition!
Fully!understanding!the!client,!their!business!and!their!capabilities!
Authoring!project!documentation!like!Functional!Specifications!
Providing!subject!matter!expertise!in!end\to\end!functionality!definition,!design,!deployment!
and!operation!of!the!webstore!
Driving!best!practice!adoption!of!the!Demandware!Ecommerce!platform!throughout!the!entire!
customer!lifecycle!
Ensuring!the!solution!is!usable!by!the!client!and!scales!well!for!the!future!
Lesson(1.2:((Solution(Strategy(is(a(Client(Facing(Role(
Solution!Strategists!work!directly!with!clients!through!the!implementation.!!Strategists!will!interface!
with!the!client!to!gather!project!requirements,!review!and!refine!documentation,!demonstrate!
storefront!functionality,!answer!questions,!and!provide!guidance!and!insight.!!This!runs!throughout!the!
entire!project!lifecycle!from!kickoff!through!deployment.!!This!deep!involvement!in!the!project!and!
understanding!of!the!Demandware!environment!makes!the!Strategist!a!subject!matter!expert!on!the!
client’s!solution!and!how!it!meshes!with!the!Demandware!platform.!
!
Lesson(1.3:((Solution(Strategy(as(a(project(guide(
In!addition!to!the!client!facing!aspects!of!the!role,!the!Solution!Strategist!also!has!responsibility!to!the!
project!team.!!The!Strategist!is!responsible!for!reviewing!the!work!of!the!other!team!members!to!make!
sure!it!complies!with!the!documented!requirements,!functional!specification,!and!best!practice.!!As!a!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!11!
!
!
result!of!this!oversight,!deviations!can!be!caught!early!on!and!resolved!before!ever!becoming!a!client!
facing!problem.!
!
Conclusion(
Now!that!you!understand!more!about!what!a!Solution!Strategist!does!and!the!value!to!the!client!and!
the!project!team,!we!will!switch!our!focus!to!the!Demandware!platform.!!Understanding!the!platform!
is!paramount!to!being!a!valuable!Solution!Strategist.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!12!
!
!
Module(2:(Demandware(Objects(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
•
Define!an!object!
•
Describe!the!system!objects!used!by!SiteGenesis!
•
Demonstrate!the!best!practice!use!of!system!objects!and!when!it!is!appropriate!to!extend!
them!
Overview(
Demandware!is!an!object!oriented!system!therefore!it!is!important!to!understand!some!basic!
principles!of!object!oriented!systems.!!Full!courses!exist!on!object!oriented!systems,!design,!and!
development.!!This!module!is!not!a!replacement!for!those!comprehensive!courses.!!This!module!will!
only!introduce!high!level!concepts!important!for!a!Strategist!to!understand!to!be!successful!with!the!
platform.!
Lesson(2.1:(The(Object(
An!object!is!a!self\contained!entity!that!contains!data.!!A!single!object!is!organized!in!such!a!way!that!
the!data!describes!the!object.!!For!example!a!car!object!may!look!like!this:!
Car!
Name!
Exterior!Color!
Interior!Color!
Horsepower!
Torque!
VIN!
Transmission!
The!car!object!would!only!contain!data!that!describes!the!car.!!It!would!not!contain!data!that!describes!
something!else,!like!a!dog!for!example!(dog!data!would!be!housed!in!a!dog!attribute).!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!13!
!
!
The!data,!like!“Name”!in!this!example,!is!housed!in!fields.!!These!fields!are!commonly!called!attributes.!!
Attributes!by!definition!are!a!characteristic!or!are!used!to!describe!something!else.!!In!this!case!if!you!
told!a!friend!that!you!were!going!to!describe!something!and!then!said:!name,!exterior!color,!interior!
color,!horsepower,!torque,!VIN,!and!transmission!they!would!likely!say!that!you!were!talking!about!a!
car!(or!at!minimum,!a!motor!vehicle).!
!
!
Discussion:((Object(Brainstorm(
Discuss!other!object!scenarios!from!real!life.!!Come!up!with!an!object!and!its!attributes.!
!
Lesson(2.2:(Demandware(System(Objects(
Demandware!SiteGenesis!leverages!System!Objects!that!describe!parts!of!the!site.!!SiteGenesis!should!
be!the!starting!point!for!an!implementation!because!SiteGenesis!has!been!developed!to!interact!with!
the!system!objects!eliminating!the!need!for!custom!code.!!The!more!system!objects!are!leveraged!the!
more!a!site!will!remain!on!the!upgrade!path!without!needing!intervention.!!To!make!sure!the!
implementation!is!leveraging!the!system!objects!you!first!must!recognize!them.!
!
!
In!Business!Manager:!!Administration(>(Site(Development(>(System(Object(Definitions!
At!the!time!of!this!writing!there!are!41!system!objects.!
Object!ID!
Object!Purpose!
Basket!
This!object!represents!a!shopping!cart.!
BonusDiscountLineItem!
This!object!is!used!along!with!BonusChoiceDiscount!to!represent!a!
choice!of!bonus!products!discount.!
Campaign!
A!campaign!is!a!set!of!experiences!(or!site!configurations)!which!may!
be!deployed!as!a!single!unit!for!a!given!time!frame.!
Catalog!
This!object!represents!a!Demandware!catalog.!
Category!
This!object!represents!a!category!in!a!product!catalog!and!houses!
attributes!that!contain!category!data.!!The!category!object!is!often!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!14!
!
!
used!(and!customized)!to!control!how!a!category!behaves!on!the!
storefront!to!support!the!client’s!design!needs.!
CategoryAssignment!
This!object!represents!a!category!assignment!in!the!Demandware!
framework.!
Content!
Represents!a!content!asset.!!The!content!object!houses!attributes!
that!contain!content!data.!!In!the!case!of!an!HTML!attribute!type!like!
‘body’,!the!attribute!data!is!the!content!itself.!!The!content!object!is!
often!customized!to!support!the!client’s!content!needs.!
Coupon!
This!object!represents!a!coupon!in!the!Demandware!framework.!
CouponLineItem!
This!object!is!sued!to!store!redeemed!coupons!in!the!basket.!
CustomerActiveData!
This!object!represents!the!active!data!for!a!Customer!in!the!
Demandware!framework.!
CustomerAddress!
A!customer’s!address.!
CustomerGroup!
Customer!groups!provide!a!means!to!segment!customers!by!various!
criteria.!
CustomerPaymentInstrument! Represents!any!payment!instrument!(credit!card,!debit!card,!etc.)!
stored!in!the!customer’s!profile.!
Folder!
This!object!contains!attributes!that!house!content!library!folder!
attributes.!!The!content!library!folder!can!be!used!to!organize!content!
and!to!also!drive!specific!content!display!on!the!storefront.!!It!is!
common!to!see!content!rich!sites!leverage!library!folder!object!
customization!to!drive!specific!content!display.!
GiftCertificate!
Represents!a!gift!certificate!that!can!be!used!to!purchase!products.!
GiftCertificateLineItem!
Represents!a!gift!certificate!line!item!in!the!cart.!
Library!
Represents!a!collection!of!content!assets!and!a!folder!hierarchy!
organizing!these!content!assets.!
Order!
Represents!an!order.!!This!object!contains!attributes!that!house!order!
data.!!!
OrderAddress!
This!object!contains!attributes!that!house!billing!address!and!shipping!
address!data.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!15!
!
!
OderPaymentInstrument!
This!object!contains!attributes!that!house!payment!method!data.!
OrganizationPreferences!
This!is!a!container!for!custom!global!preferences.!
PaymentCard!
Represents!payment!cards!and!provides!methods!to!access!the!
payment!card!attributes!and!status.!
PaymentMethod!
The!PaymentMethod!class!represents!a!logical!type!of!payment!a!
customer!can!make!in!the!storefront.!!(credit!card,!gift!card,!gift!
certificate,!paypal,!bill!me!later,!etc.).!
PaymentTransaction!
Represents!a!payment!transaction.!
PriceAdjustment!
Represents!an!adjustment!to!the!price!of!an!order.!
PriceBook!
Represents!a!price!book.!
Product!
This!object!contains!attributes!that!house!product!data.!!Some!
product!data!is!exposed!on!the!storefront.!!The!product!object!is!
often!customized!with!client!specific!attributes!to!support!the!data!
model.!
ProductActiveData!
Represents!the!active!data!for!a!Product!in!the!Demandware!
framework.!
ProductInventoryList!
The!ProductInventoryList!provides!access!to!ID,!description!and!
defaultInStockFlag!of!the!list.!
ProductInventoryRecord!
The!ProductInventoryRecord!holds!information!about!a!Product's!
inventory,!and!availability.!
ProductLineItem!
Represents!a!specific!product!line!item.!
ProductListRegistrant!
A!ProductListRegistrant!is!typically!associated!with!an!event!related!
product!list!such!as!a!gift!registry.!
Profile!
Represents!a!customer!profile.!
Promotion!
Represents!a!promotion!in!the!Demandware!framework.!
Recommendation!
Represents!a!recommendation!in!the!Demandware!framework.!
Shipment!
Represents!an!order!shipment.!
ShippingMethod!
Represents!how!the!shipment!will!be!shipped.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!16!
!
!
SitePreferences!
SitePreferences!is!a!container!for!custom!site\level!attributes.!
SlotConfiguration!
!
SourceCodeGroup!
A!source!code!group!defines!a!collection!of!source!codes.!
Store!
Represents!a!store!in!the!Demandware!framework.!!A!store!record!is!
leveraged!by!the!store!locator.!
!
!
In!Business!Manager:!!Administration(>(Site(Development(>(System(Object(Definitions!
Open!the!Customer!Profile!object!and!click!on!the!Attribute!Definitions!tab.!!These!are!the!attributes!
that!describe!the!Customer!Profile.!!The!data!housed!in!these!attributes!will!describe!a!specific!
customer.!!All!of!the!system!objects!and!attributes!operate!in!this!same!way.!!For!example:!
!
Customer!
Data!Sample!
First!Name!
Samuel!
Last!Name!
Adams!
Email!
sam@revolutionist.com!
Home!Phone!
123\456\7890!
Birthday!
09/27/1722!
Customer!Number!
000001!
Gender!
1!
!
!
Lesson(2.3:(Object(and(Attribute(Best(Practices(
•
•
Use!system!objects!over!custom!objects!whenever!possible!
o To!maintain!as!close!to!the!upgrade!path!as!possible!and!to!eliminate!unnecessary!
customization,!always!leverage!a!system!object!before!looking!at!a!custom!object.!
Use!system!attributes!over!custom!attributes!whenever!possible!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!17!
!
!
!
o Use!of!system!attributes!is!preferred!to!minimize!customization.!!It!is!ok!to!create!a!
custom!attribute!if!necessary!but!custom!attribution!should!only!be!a!viable!solution!if!a!
system!attribute!does!not!exist!to!serve!the!same!purpose.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!18!
!
!
!
Knowledge(Check(
1. The!data!housed!within!an!object:!
a. Is!always!presented!on!the!storefront!
b. Describes!the!attribute!
c. Describes!the!object!
!
2. Customization!to!system!objects!and!attributes!is!appropriate!when:!
a. System!attributes!do!not!exist!to!serve!the!need!of!the!data!model!
a. System!objects!do!not!exist!to!serve!the!need!of!the!data!model!
b. System!attributes!and!objects!do!not!exist!to!serve!the!need!of!the!data!model!
c. It!feels!like!system!attributes!and!objects!do!not!exist!to!serve!the!need!of!the!data!model!
!
(
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!19!
!
!
Knowledge(Check(Answers(
1. The!data!housed!within!an!object:!
a. Is!always!presented!on!the!storefront!
b. Describes!the!attribute!
c. Describes!the!object!
Answer:(c(
!
2. Customization!to!system!objects!and!attributes!is!appropriate!when:!
a. System!attributes!do!not!exist!to!serve!the!need!of!the!data!model!
b. System!objects!do!not!exist!to!serve!the!need!of!the!data!model!
c. System!attributes!and!objects!do!not!exist!to!serve!the!need!of!the!data!model!
d. It!feels!like!system!attributes!and!objects!do!not!exist!to!serve!the!need!of!the!data!model!
Answer:(c(
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!20!
!
!
Module(3:(Demandware(Architecture(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
•
Define!a!cartridge!and!its!use!in!the!Demandware!framework!
•
Define!a!pipeline!and!its!use!in!the!Demandware!framework!
•
Define!a!pipelet!and!its!use!in!the!Demandware!framework!
•
Define!a!ISML!template!and!its!use!in!the!Demandware!framework!
•
Define!a!decorator!and!its!use!in!the!Demandware!framework!
•
Define!a!resource!bundle!and!its!use!in!the!Demandware!framework!
Overview(
Developers!leverage!the!Demandware!framework!to!develop!client!sites.!!Developers!do!this!through!a!
programming!interface!called!Eclipse.!!Developers!download!an!add\in!to!Eclipse!that!gives!them!
access!to!the!Demandware!platform.!!We!call!this!UX!Studio.!!In!this!module!we!will!examine!the!core!
building!blocks!developers!use!to!build!client!sites.!
!
As!effective!Solution!Strategists,!we!must!be!versed!in!development!terminology!and!understand!the!
elements!so!we!can!relate!to!broader!project!conversations.!!As!you!go!through!this!section!you!will!
want!to!be!able!to!define!and!understand!the!content!but!as!a!Strategist!you!are!not!expected!to!be!
able!to!code!in!the!Eclipse!environment!like!a!developer.!
Lesson(3.1:(The(Cartridge(
A!cartridge!is!a!directory!structure!that!is!used!as!a!flexible!deployment!mechanism!for!customized!
functionality.!!A!cartridge!can!contain!many!different!types!of!files:!static!files!such!as!CSS,!JavaScript,!
and!images,!as!well!as!WSDL!files.!!There!are!also!folders!for!Demandware!specific!files:!pipelines,!
scripts,!templates!and!form!definitions.!
!
A!cartridge!is!fully!contained!in!one!directory.!!Every!cartridge!has!specific!sub\directories!where!
certain!file\types!must!be!stored.!!For!instance,!all!Demandware!script!files!must!be!stored!in!a!scripts!
folder:!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!21!
!
!
!
All!cartridges!leveraged!by!the!store!need!to!be!part!of!the!cartridge!path!in!Business!Manager.!!It!is!
possible!that!some!cartridges!will!exist!in!UX!Studio!but!not!be!referenced!in!the!cartridge!path.!!These!
cartridges!may!be!used!by!a!developer!for!future!site!functionality!or!as!reference!materials!but!not!be!
exposed!to!the!site.!
!
!
Business!Manager!Path:!Administration(>(Sites(>(Manage(Sites(>([select(the(site(you(want(to(view](>(
Settings(Tab!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!22!
!
!
When!a!call!is!made!to!a!file,!the!Demandware!server!will!look!for!the!file!starting!with!the!first!
cartridge!listed!in!the!cartridge!path.!!For!instance,!if!a!call!is!made!to!an!ISML!file!called!product.isml!
and!that!file!is!located!in!two!cartridges!that!are!both!in!the!cartridge!path,!the!Demandware!server!
will!use!the!first!one!it!finds.!!If!the!template!you!intended!to!render!is!in!the!second!cartridge!it!will!
not!be!displayed!on!the!storefront!and!you!will!not!get!the!desired!result.!!This!is!important!when!
naming!templates!and!when!thinking!about!the!order!in!which!the!directories!will!be!searched!for!a!
matching!file.!
!
Link!Technology!partners!create!cartridges!of!self\contained!functionality!that!can!be!installed!for!a!
client!site!to!leverage.!!The!packaging!of!the!cartridge!allows!simple!and!bundled!functionality!
integration.!
Lesson(3.2:(Pipelines(
A!pipeline!is!a!logical!model!of!a!particular!business!process,!similar!to!a!flowchart.!Demandware!UX!
Studio!provides!a!visual!representation!of!the!process!within!the!Eclipse!IDE.!!Below!is!the!Product\
Show!pipeline!that!renders!the!product!detail!page!on!the!SiteGenesis!site.!!This!pipeline!is!invoked!
when!a!user!clicks!on!a!product!tile!or!a!link!to!a!product!page.!!The!system!goes!to!the!start!node,!in!
this!case!“Show”!and!runs!through!the!pipeline!to!render!the!product.isml!page!on!the!storefront!for!
the!Product!ID!passed!into!it:!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!23!
!
!
!
!
Pipelines!are!stored!in!XML!files!in!the!file!system,!both!locally!on!your!PC!and!on!the!server.!Pipelines!
are!defined!and!stored!within!the!context!of!a!cartridge.!
When!the!storefront!application!attempts!to!reference!a!pipeline!in!a!cartridge,!it!searches!for!the!
pipeline!in!the!cartridge's!path!and!uses!the!first!one!it!finds.!In!other!words,!when!a!pipeline!with!the!
same!name!exists!on!two!cartridges,!the!first!one!found!in!the!path!is!used.!Therefore,!it!is!best!to!use!
unique!pipeline!names!to!ensure!that!the!framework!locates!the!correct!pipeline.!
!
Pipelines!start!with!a!Start!Node!and!ultimately!end!with!an!Interaction!Node.!!We!will!use!a!simple!
pipeline!as!an!example.!!We!will!call!this!the!Hello!pipeline.!!The!below!image!shows!the!Hello!pipeline!
–!a!simple!depiction!of!a!simple!pipeline!that!invokes!a!page!to!the!end!user!saying!“Hello!World”.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!24!
!
!
!
The!interaction!node!connects!to!an!ISML!template!(covered!later!in!this!module)!to!display!a!
particular!page!to!the!user.!!In!this!case,!a!page!with!the!message!“Hello!World”.!
!
Pipelines!are!called!through!the!Start!Node.!!Calling!a!pipeline!via!a!HTTP!request!requires!the!pipeline!
name!and!start!node!at!the!end!of!the!storefront!URL:!
http://instance.realm.client.demandware.net/on/
demandware.store/Sites-YourSite-Site/default!
!
!
You!can!also!pass!parameters!via!HTTP!requests!using!the!following!syntax:!
!
In!this!example!the!pipeline!would!be!called!through!the!browser!by!appending!/Hello\Start!to!the!
storefront!URL:!!!
http://instance.realm.client.demandware.net/on/
demandware.store/Sites-YourSite-Site/default/Hello-Start!
!
Pipelines!can!have!one!of!two!possible!call!modes:!!Public!or!Private.!
•
Public!pipelines!can!be!called!by!the!browser!or!another!pipeline.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!25!
!
!
•
o In!the!URL!Rules!section!of!Business!Manager!Pipeline!Aliasing!is!available!to!deal!with!
these!publically!accessible!pipelines!and!give!them!a!SEO!optimized!URL.!
Private!pipelines!can!only!be!called!by!another!pipeline.!
!
Pipelines!can!have!one!of!two!possible!connection!requirements:!!secure!or!insecure.!
•
•
Secure!pipelines!must!be!invoked!over!HTTPS!
Insecure!pipelines!can!be!invoked!over!HTTP!or!HTTPS!
!
Lesson(3.3:(Pipelets(
The!Demandware!API!is!accessible!through!pre\defined!scripts!called!pipelets.!!A!pipelet!executes!an!
individual!business!function!within!a!Demandware!pipeline.!!Pipelets!are!pre\coded!pieces!of!
functionality!provided!by!Demandware!but!you!can!also!write!your!own!scripts!that!leverage!the!
Demandware!API!if!the!provided!pre\defined!pipelets!are!insufficient!for!your!business!function.!
!
Lesson(3.4:(Internet(Store(Markup(Language((ISML)(
ISML!templates!are!files!with!an!extension!of!.isml!which!define!how!data,!tags!and!page!markup!are!
transformed!into!HTML,!sent!to!the!browser!for!rendering!to!the!customer!(leveraging!CSS!for!styling).!!
ISML!leverages!special!tags!to!invoke!special!Demandware!specific!functionality!within!the!template.!!
For!example,!the!<isscript>!tag!allows!for!the!embedding!of!a!Demandware!script!directly!in!the!
ISML!template.!!The!<isscript>!tag!is!not!normally!an!available!tag!in!regular!HTML!markup.!
!
ISML!templates!that!leverage!Demandware!scripting!to!render!dynamic!information!have!the!benefit!
of!reuse.!!The!template!will!be!leveraged!for!a!given!call!but!the!information!provided!to!that!customer!
will!be!unique!based!on!the!data!returned!to!the!page!from!the!API.!!If!you!think!about!a!product!
listing!page!that!shows!a!grid!of!products,!the!page!itself!is!always!the!same!but!the!product!tiles!will!
be!different!based!on!the!category!the!customer!is!on,!the!available!products!at!the!time!the!customer!
is!browsing,!etc.!!In!this!example,!the!same!ISML!template!is!being!called!but!the!API!is!returning!
different!data!making!the!New!Arrivals!page!different!than!the!Jackets!page.!
Lesson(3.5:(Decorator(
Within!an!ISML!template!the!<isdecorate>!tag!allows!you!to!include!another!ISML!template!to!
surround!content.!!This!further!extends!the!template!functionality.!!The!decorator!contains!HTML,!CSS,!
and!overall!design!of!a!page.!!This!decorator!is!itself!a!template!and!therefore!is!intended!to!be!reused.!!
Within!the!decorator!template!there!is!a!section!denoted!by!a!<isreplace>!tag!that!is!a!
placeholder!for!the!content!to!be!wrapped!by!the!decorator.!!In!the!image!below!the!header!and!
global!navigation!is!wrapping!the!product!detail!page.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!26!
!
!
!
(
Lesson(3.6:(Resource(Bundle(
In!storefront!code!you!want!to!avoid!hard\coding!text!strings!that!become!visible!to!the!user.!!Titles,!
labels,!messages,!button!and!field!names!should!all!be!externalized!by!using!resource!bundles!(a.k.a.!
properties!files.).!!Also,!if!you!do!not!want!to!duplicate!ISML!templates!in!order!to!create!locale\specific!
templates,!you!can!use!resource!bundles!to!keep!your!template!generic!and!reusable.!
A!resource!bundle!is!a!file!with!a!.properties!extension!that!contains!the!hardcoded!strings!to!be!used!
in!ISML!templates.!!In!SiteGenesis!bundles!are!loosely!named!by!the!functional!area!where!the!strings!
are!used,!but!you!can!use!any!file!name!and!organization!you!want.!
It!is!important!to!note!that!clients!will!only!have!access!to!the!resource!bundles!if!they!have!access!to!
and!understand!how!to!use!UX!Studio.!!As!a!result,!it!is!important!to!consider!if!any!strings!in!the!
resource!bundles!need!to!be!changed!to!support!the!client!messaging!requirements.!!If!so,!you!will!
want!to!make!these!changes!in!the!resource!bundles!prior!to!launch.!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!27!
!
!
!
Knowledge(Check(
1. What!is!the!purpose!of!a!cartridge:!
a. Deploy!code!to!the!storefront!
b. Provide!a!contained!directory!structure!for!custom!code!
c. Access!the!Demandware!API!
d. Format!the!page!for!the!browser!
2. What!is!the!purpose!of!a!pipeline:!
a. Define!the!cartridges!used!by!the!storefront!
b. Orchestrate!a!business!process!flow!
c. Access!the!Demandware!API!
d. Serve!as!a!reusable!wrapper!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
!
July!2015!Page!28!
!
!
(
Knowledge(Check(Answers(
1. What!is!the!purpose!of!a!cartridge:!
a. Deploy!code!to!the!storefront!
b. Provide!a!contained!directory!structure!for!custom!code!
c. Access!the!Demandware!API!
d. Format!the!page!for!the!browser!
Answer:(b(
!
2. What!is!the!purpose!of!a!pipeline:!
a. Define!the!cartridges!used!by!the!storefront!
b. Orchestrate!a!business!process!flow!
c. Access!the!Demandware!API!
d. Serve!as!a!reusable!wrapper!
Answer:(b(
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!29!
!
!
Module(4:(Solution(Design(X(Client(Analysis(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
!
Draw!the!connection!between!the!client!and!the!solution!design!process!
!
Influence!the!discovery!process!to!ensure!usability!of!the!solution!
Overview(
At!the!end!of!an!implementation,!the!developed!and!tested!solution!will!be!handed!off!to!the!client!
who!will!use!that!solution!day!in!and!day!out!to!operate!their!digital!commerce!channels.!!Each!client!
will!be!unique.!!They!will!have!differences!in:!
•
•
•
•
•
•
•
Team!size!
Team!skills!
Preferences!
Ability!to!scale!
Knowledge!of!the!platform!
Size!and!complexity!of!product!assortment!
Size!and!complexity!of!site!content!
!
Due!to!these!differences,!it!is!important!that!a!Strategist!fully!understand!the!client!and!these!nuances!
to!make!sure!that!the!solution,!as!it!is!being!designed,!will!fit!will!with!the!client!who!will!need!to!use!it!
at!the!end.!!A!solution!that!is!not!ultimately!usable!by!the!client!is!a!failed!one.!
!
The!benefits!of!performing!a!client!analysis!during!the!discovery!phase!are!many!and!include:!
•
•
•
•
•
•
•
A!better!understanding!of!who!makes!up!the!team!(directly!and!indirectly)!
A!understanding!of!team!members!skills!and!abilities!
A!understanding!of!how!the!client!plans!to!compose!their!team!to!support!the!new!solution!
The!ability!to!influence!the!design!before!it!has!been!created!to!align!with!the!client!
A!effective!and!usable!solution!that!meets!capabilities!and!expectations!
Increase!in!speed!to!market!
Increase!in!client!satisfaction!
Lesson(4.1:(Current(Platform(
Most!times!teams!are!composed!based!on!the!current!business!situation.!!Depending!on!the!current!
situation,!including!the!platform,!the!client!may!or!may!not!be!equally!well!positioned!for!life!on!the!
Demandware!platform.!!You!will!want!to!take!note!of!the!current!platform,!skill!requirements,!and!
business!processes!to!determine!a!fit!to!the!new!platform.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!30!
!
!
!
Alternative!Platform!Models!
•
•
Full!Service:!!In!this!platform!model!clients!tend!to!have!very!light!in\house!teams!because!they!
rely!on!their!platform!provider!for!most!business!needs.!!This!may!include!product!setup,!
content!setup,!campaign!management,!and!other!business!processes.!
Licensed:!!In!this!platform!model!clients!are!used!to!working!internally!on!licensed!platform!
software!running!on!owned!hardware.!!In!this!scenario!clients!are!accustomed!to!working!
directly!with!their!internal!technology!partners!to!implement!and!enhance!their!existing!site.!
Lesson(4.2:(Architecture(and(Data(Model:(The(Client(Context(
Data!can!be!one!of!the!most!challenging!components!of!integration!and!it!can!vary!widely!from!one!
client!to!the!next.!
Scenario(A:((Full(PIM(system(
In!this!scenario!the!client!has!a!fully!functional!Product!Information!Management!system.!!This!system!
has!been!planned!in!the!site!architecture!and!all!product!information!will!be!entered!into!the!PIM!
system!(the!system!of!record)!and!it!will!then!flow!into!Demandware.!
!
You!will!want!to!confirm:!
•
•
The!data!is!consistent!
o While!all!the!data!will!flow!into!Demandware!that!does!not!mean!it!is!consistent.!!For!
example,!will!all!size!small!items!have!an!attribute!of!“S”?!!If!not,!how!will!the!client!
manage!inconsistencies?!!Will!source!systems!be!cleaned!up!or!will!the!client!need!to!
actively!manage!this!in!Demandware?!
The!PIM!system!can!be!easily!extended!
o Depending!on!the!client’s!system,!it!is!possible!that!updates!to!add!future!data!will!be!
difficult!to!manage.!!You!will!want!to!have!an!understanding!of!the!flexibility!of!the!
system!of!record!for!future!business!needs.!!If!the!source!system!is!completely!inflexible!
there!may!be!a!good!case!to!manage!some!data!outside!of!the!system.!!For!example:!!
PIM!systems!tend!to!be!leveraged!by!the!entire!enterprise!(not!just!ecommerce).!!It!may!
be!difficult!to!get!additional!fields!added!just!for!the!use!of!the!ecommerce!team.!!In!
that!case,!base!data!may!come!from!the!PIM!while!supplementary!data!will!be!managed!
outside!of!the!PIM.!
Scenario(B:((Hybrid(PIM(and(Manual(System(
In!this!scenario!the!client!has!a!fully!functional!Product!Information!Management!system.!!This!system!
has!been!planned!in!the!site!architecture!but!not!all!product!information!will!be!housed!the!PIM!
system.!!Some!data!will!exist!outside!of!the!PIM!system.!!In!this!case,!there!are!multiple!systems!of!
record.!!This!is!the!most!common!scenario!(base!product!information!through!the!PIM!and!
supplementary!information!outside!of!it).!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!31!
!
!
!
You!will!want!to!confirm:!
•
The!client!has!a!viable!method!to!manage!external!data!
o The!data!not!managed!through!the!PIM!system!will!need!to!be!entered!into!Business!
Manager.!!There!are!several!ways!to!do!this:!
! The!merchant!can!enter!the!data!directly!into!Business!Manager.!!This!is!
completely!manual.!!For!this!to!be!successful!the!client!needs!to!have!capacity!to!
manage!this!currently!and!as!the!business!scales.!!This!means!that!either!the!
client!has!headcount!to!manage!this!data!manually!or!the!assortment!is!small!
enough!or!simple!enough!that!it!can!be!managed!manually.!
! The!client!builds!a!system!to!house!the!non!PIM!data.!!It!is!possible!that!the!
legacy!system!is!difficult!to!update!and!it!is!easier!to!build!a!stand\alone!system!
to!house!the!data.!!In!this!case,!you!must!determine!how!the!merchant!will!
obtain!the!new!data!and!how!it!will!be!entered!into!the!new!system.!!If!the!
merchant!will!enter!the!data!manually!then!the!same!considerations!from!the!
previous!method!apply!here!as!well.!!The!benefit!to!having!a!system!of!some!
kind!is!that!it!can!enforce!rules,!generate!Demandware!XML!and!load!into!the!
system!either!through!a!job!or!through!manual!uploading.!
! The!client!will!use!a!spreadsheet!to!manage!the!data!and!generate!Demandware!
XML.!!This!method!relies!on!the!merchant!to!enter!data!into!a!spreadsheet,!run!a!
macro!to!create!XML,!and!then!manually!upload!it!into!Business!Manager.!!The!
data!source!questions!presented!earlier!still!apply.!!An!added!layer!of!complexity!
also!exists!in!that!the!system!(in!this!case!a!spreadsheet)!does!not!manage!errors!
or!ensure!well\formed!XML.!!This!means!that!the!client!needs!to!have!the!skills!
or!needs!to!be!able!to!tap!into!the!skills!to!troubleshoot!and!load!data.!
Scenario(C:((Fully(Manual(System(
In!this!scenario!the!client!has!no!backend!system!capable!of!feeding!data!into!Demandware.!!All!data!
will!be!manually!managed!by!the!client.!!They!will!either!need!to!manually!enter!the!data!into!Business!
Manager!or!will!utilize!a!tool!like!a!spreadsheet!to!generate!XML!to!load!into!Business!Manager.!!In!this!
case,!offline!files!OR!Business!Manager!is!the!system!of!record.!
!
You!will!want!to!confirm:!
•
•
•
•
The!client!has!capacity!to!manage!the!necessary!data!
The!client!has!the!skillset!to!manage!the!data!
If!a!spreadsheet!will!be!used!to!generate!Demandware!XML!who!has!the!skillset!to!
troubleshoot!and!modify!the!spreadsheet!in!the!future!(requires!knowing!XML!or!the!capacity!
to!learn!XML!and!modify!spreadsheet!formulas!accordingly!to!generate!well\formed!XML).!
The!attribute!choices!help!enforce!consistency!in!the!data!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!32!
!
!
•
For!example:!!Enum!of!String!type!attributes!are!helpful!to!enforce!the!exact!same!possible!
values!for!a!given!attribute.!!When!being!managed!manually!by!a!client!there!is!no!error!
checking!so!this!intentionally!imposed!constraint!can!be!helpful.!
!
Exercise:((Review(the(Product(Spreadsheet(Template(
•
Discuss!the!worksheets,!XML!Output!Formula,!necessary!modifications,!limitations,!expansion!
opportunities,!and!the!macro.!
(
Lesson(4.3:(Content(
Content!management!is!another!area!that!needs!to!be!considered!during!the!discovery!phase!in!
context!of!the!client’s!abilities.!!Much!of!the!out!of!the!box!content!functionality!leverages!HTML.!!You!
will!need!to!assess!their!ability!to!work!with!HTML.!!A!few!options!exist:!
•
•
•
•
The!client!has!in!house!HTML!and!CSS!skills!to!leverage!the!out!of!the!box!functionality.!
The!client!has!access!to!resources!that!have!HTML!and!CSS!skills!
The!client!plans!to!hire!a!resource(s)!that!has!HTML!and!CSS!skills!
The!client!does!not!have!HTML!and!CSS!skills!in!house,!will!not!be!expanding!headcount,!and!
does!not!have!or!plan!to!work!with!external!resources!
!
Depending!on!the!client’s!resourcing!plan!as!noted!above,!there!will!be!an!appropriate!level!of!content!
customization.!!Possible!approaches!are:!
!
•
•
•
Leverage!Site!Genesis!setup!for!content!because!the!client!has!or!will!hire/contract!for!the!
HTML!skills.!
Customize!content!in!such!a!way!that!it!removes!the!need!for!the!client!to!write!HTML.!!This!
typically!includes!a!good!amount!of!custom!attribution!to!support!the!design.!!While!this!is!
more!manageable,!it!does!introduce!greater!confinement.!!The!client!will!need!to!be!tied!to!
pre\defined!templates!that!naturally!limit!the!layout!options.!
Develop!a!template!approach!to!the!HTML!so!you!can!carefully!document!how!to!modify!it!to!
support!content!changes!on!the!storefront.!!This!approach!only!works!if!the!client!has!
somewhat!technically!minded!team!members!who!can!read!HTML!and!copy!a!setup.!!Use!
extreme!caution!with!this!approach.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!33!
!
!
If!the!content!requirements!demand!a!high!degree!of!content!customization,!it!is!beneficial!to!create!a!
custom!content!control!companion!document!that!outlines!the!proper!controls!to!achieve!the!desired!
front!end!display.!!This!can!be!derived!from!the!FSD!and!data!model!and!should!include:!
!
•
•
•
•
•
•
•
•
Rendering!templates!to!select!
Asset!IDs!being!referenced!
Content!folders!required!
Other!attribution!required!
Slot!type!
Slot!rendering!template!
Slot!custom!attribution!
Asset!sizing!requirements!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!34!
!
!
!
Knowledge(Check(
1. When!in!the!project!lifecycle!should!client!capability!be!assessed?!
a. Discovery!
b. Design!
c. Development!
d. QA!
e. UAT!
f. Go!Live!
!
2. A!client!will!be!managing!their!data!manually.!!What!tool!can!they!leverage!to!make!bulk!data!
changes?!!More!than!one!answer!may!apply.!
a. PIM!System!
b. The!OMS!
c. Excel!to!XML!workbook!
d. Business!Manager!
!
!
(
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!35!
!
!
Knowledge(Check(Answers(
1. When!in!the!project!lifecycle!should!client!capability!be!assessed?!
a. Discovery!
b. Design!
c. Development!
d. QA!
e. UAT!
f. Go!Live!
Answer:(a(
!
!
2. A!client!will!be!managing!their!data!manually.!!What!tool!can!they!leverage!to!make!bulk!data!
changes?!!More!than!one!answer!may!apply.!
a. PIM!System!
b. The!OMS!
c. Excel!to!XML!workbook!
d. Business!Manager!
Answer:(c(&(d(
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!36!
!
!
Module(5:((Solution(Strategy(Documentation(Analysis(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
!
Describe!the!document!types!used!in!a!project!and!their!use!
!
Identify!gaps!in!project!documentation!
Overview(
To!ensure!delivery!of!a!successful!implementation!on!Demandware,!a!thorough!and!diligent!
documentation!approach!should!always!be!used.!!First,!a!strategist!should!be!able!to!identify!gaps!in!
documentation.!!In!other!words,!the!strategist!should!be!able!to!quickly!spot!key!elements!missing!
from!the!documentation!set.!!Second,!a!strategist!is!required!to!identify!features!that!are!not!part!of!
Demandware’s!core!feature!set!or!configuration!and!then!advise!on!the!feasibility!of!the!customization!
and!its!adherence!to!Demandware!best!practice.!
!
Lesson(5.1:((The(Project(Plan(
The!project!plan!is!the!first!document!the!project!team!should!consider.!!It!underpins!all!other!
deliverables!and!ensures!there!are!clear!expectations!within!the!various!teams!that!will!be!involved!
with!the!project.!
Information!in!the!project!plan!that!would!be!considered!mandatory:!
Project(Plan(Topic(
Topic(Detail(
Examples(
Timeline(
Defines!phases!in!the!project!
and!their!duration!
Discovery,!Documentation,!
Development,!Testing,!Quality!
Assurance,!User!Acceptance!
Testing,!Performance!Testing!
Dependencies(
Defines!which!phases!depend!on! Documentation!cannot!happen!
another’s!completion!before!
until!the!client!has!completed!
they!can!commence!
discovery!to!define!their!needs.!
!
UAT!cannot!commence!until!
Development!is!complete.!
Stakeholders(
Defines!who!is!responsible!for!
the!different!aspects!of!the!
project!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
Project!Manager!
Technical!Lead!
July!2015!Page!37!
!
!
Business!Sponsor!
Developer!
Milestones(
Defines!key!moments!in!the!
project!and!sets!target!dates!
Discovery!complete!
Development!complete!
End!to!end!testing!start!
Training!start!
Launch!date!
!
!
Exercise:((Identifying(project(plan(elements(
Review!Appendix!B!(in!resource!files)!–!Example!Project!Plan!and!identify!2!examples!from!each!of!the!
4!project!plan!topics!in!the!table!above.!
Lesson(5.2:((Operating(on(Demandware(Checklist(
The!Operating!on!Demandware!Checklist!serves!to!make!the!project!team!consider!some!of!the!key!
areas!such!as!merchandising,!operations!&!administration!as!well!as!organizational!roles!within!the!
client!organization.!
It!does!not!serve!as!a!checklist!of!all!tasks!for!launch,!but!rather!it!is!designed!as!a!catalyst!to!force!all!
parties!to!consider!what!needs!to!be!in!place!for!effective!site!operations!both!pre!and!post!launch.!
!
!
Exercise:((Resolving(an(incomplete(Operating(on(Demandware(checklist(
Review!Appendix!C!(in!resource!files)!–!Operating!on!Demandware!and!identify!where!client!
responsibilities!have!incorrectly!been!assigned!to!the!implementation!partner.!
Lesson(5.3:((Architecture(Diagram(
The!Architecture!Diagram!is!an!essential!and!fundamental!part!of!the!project!documentation.!!It!should!
be!created!as!early!as!feasibly!possible!as!it!is!critical!in!ensuring!all!integrations!are!well!considered!
and!facilitates!a!complete!understanding!of!the!relationships!between!Demandware!systems,!LINK!
technology!partners!and!other!3rd!party!systems!such!as!the!client’s!Enterprise!Resource!Planning!
System!(ERP)!or!Product!Information!Management!(PIM).!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!38!
!
!
As!part!of!the!diagram,!data!flows!and!formats!should!be!identified!at!a!high!level!–!for!example,!
defining!the!flow!of!inventory!data!to!and!from!Demandware!and!the!client’s!PIM!systems!along!with!
the!format!would!be!one!example!of!a!relationship!that!could!be!defined.!
!
!
Exercise:((Architecture(Diagram(data(flow(error(resolution(
Review!this!example!architecture!diagram!and!identify!where!2!key!data!flows!are!missing.!!
Recommend!a!solution.!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!39!
!
!
Exercise(Answer(
1. Catalog!feed!from!data!transformation!layer!to!Demandware!Staging!is!missing!
2. Customer!feed!from!Demandware!Production!to!data!transformation!layer!is!missing!
!
!
Lesson(5.4:((Data(Model(
In!previous!modules!we!discussed!aspects!of!the!data!model!including!objects,!object!extension,!and!
the!client!ability!to!manage!the!data!requirements!of!the!solution.!!All!of!this!is!documented!in!the!
Data!Model!spreadsheet!which!we!will!review!in!detail!later!in!this!course.!
!
Additionally,!data!mapping!is!housed!in!the!Data!Model!Spreadsheet.!!It!contains!worksheets!organized!
by!Demandware!object!such!as!category,!product,!customer,!price!books!and!inventory.!!Identifying!all!
data!model!considerations!is!an!important!part!of!making!sure!there!are!no!issues!encountered!later!in!
the!project.!
!
Considerations!to!think!about!regarding!data!modeling!
Topic(
Description(
Examples(
High(Level(Data(Model(
Conceptual!data!model!
Entity!types,!relationships!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!40!
!
!
Process(Overview(
High!level!idea!of!how!
SimpleFeed!Cartridge;!custom!
Demandware!consumes!Catalog,! objects;!FTP/WebDav;!Jobs!
Price!Book!&!Inventory!
Product(Types(
The!different!product!types!the!
client!needs!
Simple!Product!–!No!Variations!
Variation!Master!&!Variation!
Product!
Product!Set!
Product!Bundle!
Demandware(XSD(
XML!Schema!Definition!for!
Demandware!data!
Attributes,!naming!convention,!
expected!data!values!
Data(Mapping(
Schema!Integration!
Excel!Spreadsheet!
Lesson(5.5:((Content(Inventory(&(Control(
Clearly!documenting!the!content!assets!and!slots!and!assigning!IDs!to!them!in!a!logical!fashion!is!
important!to!an!implementation!as!it!ensures!the!following!is!achieved:!
•
•
•
•
Reduced!post!launch!overhead:!
Client!business!teams!can!use!the!FSD/Wireframes!as!a!user!manual!to!guide!them!in!how!to!
change!content.!
Logical!naming!conventions!ensure!no!confusion!over!which!slots!belong!where.!
Clearly!demonstrating!use!of!slots!allows!the!Solution!Strategist!to!assess!any!early!deviations!
from!recommended!best!practice!–!such!as!using!too!many!slots!on!one!page,!which!can!have!
negative!impacts!on!page!performance.!
Demandware!provides!reference!documentation!which!can!and!should!be!used!as!the!basis!for!
documentation:!!https://xchange.demandware.com/docs/DOC\16927!
!
When!leveraging!SiteGenesis!functionality,!you!can!use!the!provided!(and!frequently!updated)!
SiteGenesis!Wireframes.!!These!wireframes!contain!SiteGenesis!naming!of!slots.!
!
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!41!
!
!
Exercise:((SiteGenesis(Wireframe(Review(
Review!the!current!SiteGenesis!Wireframes:!!https://xchange.demandware.com/community/product\
and\solutions/documentation!
!
Lesson(5.6:((Integrations(
All!Demandware!implementations!leverage!integrations!in!some!way,!shape!or!form.!Basic!integrations!
with!third!party!LINK!technology!that!would!be!common!includes!payment!processors,!ratings!&!
reviews!and!Email!Service!Providers.!
While!reviewing!documentation,!solution!strategists!should!be!aware!of!all!the!integrations!that!are!
planned.!Thus,!the!first!thing!to!do!is!look!for!a!complete!list!of!all!integrations!that!are!expected.!!
This!should!usually!have!been!detailed!in!a!summary!section!or!initiation!part!of!the!documentation!
and!would!be!available!very!early!after!the!discovery!phase!of!the!project.!!
(
!
Discussion:(Integrations(example(review(
The!table!below!is!taken!from!a!real!client!FSD!and!shows!the!summary!of!integrations!that!would!be!
expected!in!a!normal!project!documentation!specification.!At!this!level!only!minimal!details!are!
required!i.e.!Integration!name!and!description,!so!that!the!strategist!or!reader!is!able!to!quickly!
understand!and!interpret!what!3rd!party!integration!is!being!utilized.!
Review!each!artifact!as!a!group!and!discuss!their!relationships!with!the!Demandware!platform!and!
with!one!another.!
Artifact(
Description(
Adyen(
Payment!service!provider!
Google(
Provider!of!Web!Analytics!Reporting,!interactive!
maps!and!driving!directions!
Demandware(
An!on\demand!ecommerce!platform!provider!
Integration(Layer(
An!abstract!representation!of!a!back\end!
integration!framework!within!the!enterprise.!!May!
be!implemented!via!the!use!of!an!ESB!or!similar!
entity.!
Staging(Instance(
Part!of!the!Demandware!PIG.!!Used!to!preview!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!42!
!
!
content!and!code!before!it!is!replicated!to!the!
production!instance!
Production(Instance(
Instance!on!which!the!customer!facing!website(s)!
run.!!Part!of!the!PIG.!
PostNL(
Drop!point!booking!
ShopToMarket(
Affiliate!aggregator!
eCircle(
Newsletter!and!mail!marketing!provider.!!This!is!
the!current!assumption;!this!may!change!before!
go!live.!
Kiala(
Drop!point!booking!provider!
PeopleXS(
Provider!of!job!information!
Bazaarvoice(
Leading!provider!of!product!ratings!and!reviews!
ConnectFlow(
Store!stock!database!
Oracle(
Provider!of!Customer!Relationship!Management!
functionality.!!The!current!assumption!is!this!is!a!
point!to!point!integration.!!An!alternative!is!that!
the!integration!goes!through!the!integration!layer.!
Lesson(5.6:((Functional(Specification(Document(
The!Functional!Specification!Document!(FSD)!is!authored!by!the!Solution!Strategist.!!The!FSD!contains!
functional!requirements!for!the!project!and!how!those!functional!requirements!translate!into!front!
end!web!store!behavior!and!control.!!The!document!should!account!for!every!functional!requirement!
and!should!contain!an!annotated!representation!of!every!page!on!the!storefront!and!every!state!of!the!
page.!!It!serves!as!a!“source!of!truth”!regarding!how!the!site!is!to!behave!and!the!mechanisms!the!
client!has!to!impact!that!behavior.!
!
The!FSD!should!be!approved!by!the!client!and!then!used!by!developers!to!implement!the!requirements.!!
It!is!then!passed!to!QA!to!confirm!the!solution!meets!the!requirements!and!again!used!in!UAT!for!the!
client!to!confirm!the!site!meets!the!requirements.!!The!project!manager!also!leverages!the!FSD!to!
manage!project!scope.!!The!Architect!leverages!the!FSD!to!check!for!alignment!between!the!front!end!
and!the!system!architecture.!!As!a!result,!the!FSD!is!a!pivotal!document!for!the!entire!project!team.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!43!
!
!
The!FSD!is!accompanied!by!the!other!project!documentation!like!the!Technical!Specification!Document!
(TSD),!the!Data!Model,!and!the!content!inventory.!
!
In!some!cases,!the!client!will!fully!adopt!portions!of!SiteGenesis!functionality!or!display.!!In!these!cases!
it!would!be!best!practice!to!either!fully!design!and!annotate!the!pages!into!the!FSD!or!extract!the!
sections!from!the!SiteGenesis!wireframes.!!The!worst!possible!approach!would!be!omitting!them!from!
the!FSD.!
(
(
Discussion:(Sample(FSD(Review(
Review!the!sample!FSD!to!get!a!feel!for!the!format!of!the!document!and!the!content!of!the!document.!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!44!
!
!
!
Knowledge(Check(
1. Using!a!content!inventory!tracking!system!allows!you!to:!
a. Identify!the!content!necessary!to!support!the!design!and!track!it!
b. Upload!content!into!Demandware!
c. Create!slot!configurations!
d. Transfer!responsibility!to!the!client!
2. The!FSD!is!leveraged!by!which!members!of!the!project!team?!!Check!all!that!apply.!
!
Client!
!
Development!
!
Quality!Assurance!
!
Architect!
!
Project!Manager!
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!45!
!
!
Knowledge(Check(Answers(
!
1. Using!a!content!inventory!tracking!system!allows!you!to:!
a. Identify!the!content!necessary!to!support!the!design!and!track!it!
b. Upload!content!into!Demandware!
c. Create!slot!configurations!
d. Transfer!responsibility!to!the!client!
Answer:(a(
2. The!FSD!is!leveraged!by!which!members!of!the!project!team?!!Check!all!that!apply.!
x!
Client!
x!
Development!
x!
Quality!Assurance!
x!
Architect!
x!
Project!Manager!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!46!
!
!
Module(6:(Identify(Demandware(Implementation(Best(Practices(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
•
Identify!Demandware!implementation!best!practices!for:!
o General!architecture!
o Storefront!
o Mobile/responsive!
o Internationalization!
Lesson(6.1:(General(Architecture(Best(Practices(
Content(Slots(
Demandware!content!slots!can!be!used!to!deliver!scheduled!and!targeted!content!to!a!customer!in!a!
testable!manner!(in!contrast!to!content!assets!which!are!not!schedulable,!targetable,!or!testable).!!
There!are!several!factors!to!consider!when!planning!your!use!of!content!slots.!
•
Static!or!infrequently!changing!content!should!always!be!designed!as!a!content!asset.!!For!
example:!the!logo!in!the!header!or!the!set!of!links!in!the!footer.!!These!will!change!infrequently!
and!do!not!need!to!be!scheduled,!targeted!or!tested.!
•
A!single!page!should!not!contain!more!than!6!content!slots.!!We!have!observed!performance!
impacts!as!the!number!of!content!slots!delivered!on!a!single!page!exceeds!6.!
!
Content(Quotas(
Quota(Name(
Description(
Limit(
Content(Objects(
The!maximum!number!of!
content!assets!
100,000!
Folders(
The!maximum!number!of!folders! 10,000!
SubXFolders(
The!maximum!number!of!sub\
folders!under!a!library!folder!
1,000!
Libraries(
The!maximum!number!of!
content!libraries!
140!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!47!
!
!
Slot(Configurations(
The!maximum!number!of!slot!
configurations!
10,000!
!
Use(of(iFrames(
An!iFrame!is!a!method!used!to!display!a!web!page!within!another!web!page.!!While!effective!at!doing!
so,!iFrames!are!costly!when!it!comes!to!usability,!accessibility,!and!page!performance.!!As!a!result!it!is!a!
Demandware!best!practice!to!ensure!implementations!avoid!the!use!of!iFrames.!
Video(
Video!content!is!increasing!in!popularity!and!therefore!needs!to!be!well!handled!in!a!successful!and!
effective!implementation.!!Demandware!is!not!a!video!hosting!platform!and!therefore!should!never!be!
identified!as!the!hosting!provider!of!video!content!for!any!site!section.!
!
There!are!several!LINK!Technology!partners!that!provide!rich!media!functionality:!!
https://xchange.demandware.com/community/marketplace!
!
Additional!common!video!solutions!are!YouTube!and!Vimeo.!
Accessibility(
SiteGenesis!has!been!developed!to!support!fundamental!accessibility!standards.!!Customization!should!
be!done!in!such!a!way!that!it!does!not!reduce!the!level!of!accessibility.!!It!will!be!important!to!capture!
any!requirements!that!increase!the!level!of!accessibility.!
Performance(
There!are!several!techniques!that!should!be!followed!as!a!best!practice!to!ensure!the!highest!levels!of!
site!performance.!
•
CSS!Sprites!–!Spriting!is!a!technique!to!combine!multiple!images!into!a!single!image!and!then!
use!CSS!to!call!the!right!portion!of!the!image!at!the!right!time!in!the!right!location.!!This!reduces!
the!number!of!http!server!calls!to!render!a!page!and!also!saves!on!bandwidth!which!is!
especially!important!when!pages!are!rendered!over!a!cellular!or!low\bandwidth!connection.!
•
Minification!–!Minifying!is!a!process!resulting!in!smaller!JavaScript!files.!!It!eliminates!white!
space,!unnecessary!characters,!and!depending!on!the!method!may!involve!shrinking!variable!
names.!!The!resulting!smaller!file!increases!page!speed!by!loading!faster!than!the!larger!version.!
•
Combining!CSS!–!When!possible!it!is!also!a!best!practice!to!reduce!the!number!of!CSS!files!being!
used.!!The!reduction!results!in!fewer!http!server!calls!and!results!in!a!faster!page!load.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!48!
!
!
•
Total!page!weight!should!not!exceed!1.5MB!
!
Business(functions(separate(from(code(
It!is!best!practice!to!separate!normal!business!functions!performed!within!Business!Manager!from!
code!deployment!/!replication.!!For!example,!it!should!not!require!a!code!deployment!to!run!a!
promotion.!!The!running!of!promotions!is!a!regular!business!practice.!!Making!it!dependent!on!a!code!
deployment!immediately!renders!the!site!less!flexible!than!the!reference!application.!
Lesson(6.2:(Storefront(Best(Practices(
This!lesson!contains!best!practices!for!storefront!design!and!administration!organized!by!topical!area!
and!storefront!site!section.!
Catalog(
Demandware!supports!multiple!catalogs!for!the!same!site.!!Only!one!is!ever!exposed!to!the!storefront!
at!a!given!time.!!It!is!best!practice!to!always!have!(without!exception)!a!master!catalog!own!all!of!the!
product!and!a!storefront!catalog!that!has!been!assigned!the!product.!!This!configuration!ensures!the!
client!has!a!catalog!structure!to!support!current!and!future!business!needs.!!This!is!particularly!helpful!
if!the!client!wants!to!support,!or!have!the!flexibility!to!support,!multiple!unique!storefronts!that!each!
leverage!an!assortment!of!the!master!catalog.!!This!allows:!
•
The!client!to!maintain!one!and!only!one!record!of!the!product!
•
Have!unique!storefronts!for!each!of!the!sites!with!independent!navigation!
•
Easily!allow!for!expanding!sites!either!for!domestic!expansion!or!international!expansion!
•
Replicate!product!separately!from!the!storefront!
•
The!separation!of!the!product!data!from!the!storefront!catalog!data!assists!by!making!
replication!and!jobs!smaller!in!file!size!increasing!performance.!
!
This!screenshot!shows!that!the!storefront!catalog!owns!no!products!but!does!have!all!of!the!products!
assigned!to!it!to!display!to!the!customer.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!49!
!
!
Catalog(Quotas(
Quota(Name(
Description(
Limit(
SubXCategories(per(Category(
The!number!of!sub\categories!that!can!be!created! 1,000!
under!a!category!
Catalogs(
The!number!of!catalogs!that!can!be!created!
200!
Options(per(product(
The!maximum!number!of!options!that!a!product!
can!have!
1,000!
Products(per(bundle(
The!maximum!number!of!products!that!can!be!in!
a!bundle!
100!
Products(per(Set(
The!maximum!number!of!products!that!can!be!in!
a!product!set!
100!
Variants(per(Master(
The!maximum!number!of!variants!that!can!be!
associated!to!a!master!
1,000!
!
Navigation(
Site!global!navigation!should!always!be!built!to!mirror!the!storefront!catalog!navigation.!!This!ensures!
the!client!has!the!most!flexibility!in!controlling!the!categories!that!appear!in!the!navigation!and!the!
order!in!which!they!appear!in!the!navigation.!
!
The!category!attribute!Show!in!Menu!Navigation!should!be!used!to!allow!clients!the!flexibility!to!show!
some!but!not!all!categories!in!the!global!navigation.!!This!can!also!help!clients!who!leverage!the!
category!refinement!show!a!different!set!of!categories!there!and!in!their!global!navigation.!
!
Use!of!existing!attributes:!!If!the!global!navigation!needs!to!be!presented!in!a!particular!way,!look!first!
to!the!existing!SiteGenesis!controls!before!any!customization:!
•
If!content!should!be!presented!in!the!global!navigation,!a!banner!as!depicted!in!the!screenshot!
below,!you!should!leverage!the!out!of!the!box!Header!Nav!Menu!Banner!attribute.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!50!
!
!
•
!
If!the!categorization!should!appear!in!a!horizontal!fashion!where!categories!are!presented!from!
left!to!right!you!can!leverage!the!Header!Menu!Orientation!attribute.!
Header/Footer(
•
The!header!should!account!for!the!varying!levels!of!authentication:!!unauthenticated,!
authenticated,!and!recognized!
•
The!footer!should!leverage!content!assets!so!the!client!can!easily!update!footer!links!
o Any!elements!of!the!footer!that!house!logic,!like!an!email!signup!form,!should!be!coded!
into!the!ISML!to!prevent!the!client!from!accidentally!altering!logical!code!
Category(page/listing(page(
•
Quickview!(if!used)!should!always!have!a!link!to!the!full!product!detail!page!
•
Quickview!should!be!removed!from!a!mobile!break!point!(responsive)!
•
The!category!page!should!not!leverage!more!than!6!content!slots!to!maintain!performance!
Product(Detail(Page(
The!product!detail!page!should!account!for!the!varying!states!of!the!product!based!on!the!client’s!
business!rules:!
•
•
Inventory!rules!the!client!needs!to!support!(in!stock,!out!of!stock!but!still!on!site,!preorder,!
backorder).!
Promotional!messaging!for!item!and!order!level!discounts.!
Data(Model(
The!Data!Model!is!a!critical!component!of!Storefront!design.!!The!Data!Model!is!used!to!clearly!depict!
the!data!landscape!necessary!to!support!the!client’s!solution.!!It!should!be!traceable!to!source!systems!
as!well!as!the!other!project!documentation!like!the!Functional!Specification!Document.!!It!helps!
organize!the!data!in!context!of!the!object!and.!!The!model!also!helps!expose!the!amount!of!manual!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!51!
!
!
data!management!a!client!needs!to!maintain!–!if!the!quantity!exceeds!the!capacity!to!manage!there!is!
an!operational!gap!inherent!in!the!design!that!needs!to!be!considered!and!resolved.!
!
Demandware!supports!a!master!to!variant!relationship.!!The!data!model!has!a!section!where!variation!
attributes!(the!attributes!that!cause!one!instance!of!the!product!to!differ!from!another)!are!defined.!!In!
this!relationship!the!variants!are!the!purchasable!item!(the!SKU)!and!the!master!is!the!style!of!the!
product!they!belong!to.!
•
For!example:!!A!shirt!(the!master)!comes!in!different!sizes!and!colors!(the!variants)!therefore!
‘size’!and!‘color’!are!both!variation!attributes!of!the!shirt!and!in!combination!define!the!
orderable!item!the!customer!is!selecting!(shirt!in!color!red!and!size!large).!
!
!
Exercise:((Review(the(Data(Model(Spreadsheet(
The!Data!Model!document!can!be!found!here:!!https://xchange.demandware.com/message/30821!
!
•
The!data!model!should!only!be!extended!if!the!out!of!the!box!SiteGenesis!objects!and!attributes!
are!insufficient!to!drive!the!data!needs!of!the!storefront!
•
The!data!model!should!be!clearly!depicted!using!the!data!model!spreadsheet.!!Header!fields!
include:!
Field!
What!it’s!used!for!
Field!Name!
•
Field!ID!
•
Source!of!Data!
•
Pre\Populated!Value!
•
•
•
•
Applicable!Field!for!Client!
•
Captures!the!name!of!the!attribute.!!This!
should!be!exactly!how!the!attribute!will!be!
named!once!created!in!Business!Manager!
Captures!the!ID!of!the!attribute!as!it!will!be!
setup!in!Business!Manager!
Captures!the!origin!of!the!data.!!Possible!origin!
sources!include!but!are!not!limited!to:!
Product!Information!Management!system!
Order!Management!System!
Entered!directly!into!Business!Manager!
This!is!a!Y/N!field.!!Set!to!Yes!if!the!value!will!be!
coming!from!the!client’s!feed.!!Set!to!No!if!the!
client!will!be!manually!setting!this!value!in!
Business!Manager.!
This!is!a!Y/N!field.!!Set!to!Yes!if!this!field!maps!
to!a!client’s!backend!system!and!will!be!used!in!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!52!
!
!
Field!
What!it’s!used!for!
Client!Table!Name!
•
Client!Field!Name!
•
Data!Type!
•
Update!in!Demandware!
•
Display!on!Storefront!
•
Localization!
•
Description!
•
Sample!Data!
•
Required!
•
the!implementation.!
If!the!data!origination!point!is!a!client!backend!
system,!the!name!of!the!table!containing!the!
data!should!be!captured!here.!
If!the!data!origination!point!is!a!client!backend!
system,!the!name!of!the!field!within!the!table!
containing!the!data!should!be!captured!here.!
This!should!capture!the!Demandware!attribute!
type!being!used!to!house!the!attribute.!(e.g.!
string,!Boolean,!enum!of!string,!enum!of!
integer,!etc.)!
This!is!a!Y/N!field.!!If!yes,!data!is!updatable!in!
Demandware.!!If!no,!all!data!for!this!attribute!is!
externally!managed.!
This!is!a!Y/N!field!used!to!convey!if!the!data!
housed!in!the!attribute!is!going!to!be!displayed!
on!the!storefront.!
Used!to!indicate!if!the!attribute!is!going!to!be!
localized!and!if!so,!will!it!be!used!for!a!specific!
locale.!!If!it!will!be,!indicate!the!locale!as!well.!
Use!this!field!to!describe!the!purpose!of!the!
data!housed!in!the!attribute!and!any!special!
criteria!that!should!be!explained!like!valid!
characters,!etc.!
Provide!a!sample!of!the!data!as!it!will!be!
expected!in!this!field.!
This!is!a!Y/N!field!used!to!convey!if!this!data!is!
required!(Y)!or!if!it!is!optional!(N).!
Data(Model(–(Attribute(Types(
Demandware!offers!many!different!attribute!types.!!Some!of!the!attribute!types!offered!are!queryable!
in!Business!Manager!when!the!merchant!is!using!the!advanced!product!search!feature!to!locate!
products.!
Type!
JavaScript!Type!
String!
Demandware!script!top!
level!String!class!
Description!
Queryable!in!Business!
Manager!
Letters,!numbers,!and!punctuation.!!
Usually,!this!is!a!word!or!a!sentence!
Yes!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!53!
!
!
Text!
Demandware!script!top!
level!String!class!
Letters,!numbers,!and!punctuation.!!
This!is!intended!for!larger!amounts!of!
text,!such!as!descriptions!
Html!
Demandware!script!
HTML!tags.!!This!is!intended!for!HTML! No!
dw.content.MarkupText! tags!and!values.!!If!editing!HTML!
class!
attributes,!Business!Manager!allows!
you!to!edit!them!in!an!HTML!editor,!
whereas!this!is!not!possible!for!String!
or!Text!data!types.!
Integer!
number!
A!number!without!decimal!places!
such!as!1,!2,!3,!or!4.!
Number!
number!
Number.!!You!can!select!the!number! Yes!
of!places!after!the!decimal!point!by!
adding!a!scale!value.!!If!you!are!
creating!a!custom!attribute!for!a!
money!value,!use!the!Money!data!
type.!!The!number!data!type!only!uses!
the!values!of!the!decimal!in!
calculations.!!For!example,!1/3!with!2!
as!the!scale!is!processed!as!.33.!!If!you!
multiply!this!number!by!3,!you!see!.99!
rather!than!1.!!In!contrast,!the!Money!
data!type!has!localized!rules!for!
rounding!that!cause!numbers!to!
provide!totals!as!expected!for!a!
specific!currency.!
Boolean!
boolean!
True!or!False!
Yes!
Date!
Demandware!script!top!
level!Date!class!
MM/dd/yyyy!
Yes!
Date!+!
Time!
Demandware!script!top!
level!Date!class!
MM/dd/yyyy!:!h:mm!a!
Yes!
Image!
Demandware!script!
dw.content.MediaFile!
class!
An!image.!!Merchants!can!select!this!
from!the!image!folder!structure.!!
Developers!can!use!a!script!to!
dynamically!retrieve!an!image!using!a!
pipeline.!
No!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
No!
Yes!
July!2015!Page!54!
!
!
Email!
String!
Email!address.!!Business!Manager!
Yes!
requires!the!merchant!to!enter!a!valid!
syntax!for!an!email!address.!!For!
example,!it!requires!a!valid!extension!
after!the!@!sign,!among!other!
requirements.!
Password!
String!
Password.!!This!displays!a!masked!
No!
field!and!confirmation!field!where!the!
merchant!can!enter!a!password.!!
Password!data!type!values!are!
encrypted!on!export!and!can!be!
encrypted!for!import.!
Set!of!
String!
JavaScript!array!object!
containing!string!
The!attribute!value!is!zero!or!more!
strings.!!This!is!used!when!you!want!
the!merchant!to!enter!one!or!more!
strings.!!Sets!do!not!contain!
duplicates.!
Yes!
Set!of!
Integer!
(whole!
numbers)!
JavaScript!array!object!
containing!number!
The!attribute!value!is!zero!or!more!
integers.!!This!is!used!when!you!want!
the!merchant!to!enter!one!or!more!
integers.!!Sets!do!not!contain!
duplicates.!
Yes!
Set!of!
Number!
(any!
number)!
JavaScript!array!object!
containing!number!
The!attribute!value!is!zero!or!more!
Yes!
numbers.!!This!is!used!when!you!want!
the!merchant!to!enter!one!or!more!
numbers.!!Sets!do!not!contain!
duplicates.!
Enum!of!
String!
Demandware!script!
dw.value.EnumValue!
class!with!value!of!type!
string,!maybe!in!a!
JavaScript!array!object!
The!attribute!value!is!zero!or!more!
strings.!!This!is!used!when!you!want!
the!merchant!to!select!one!or!more!
fixed!values.!!Check!the!Multiple!
checkbox!if!you!want!more!than!one!
value!associated!with!the!attribute.!
Yes!
Enum!of!
Integer!
Demandware!script!
dw.value.EnumValue!
class!with!value!of!type!
number,!maybe!in!a!
JavaScript!array!object!
The!attribute!value!is!zero!or!more!
integers.!!Check!the!Multiple!
checkbox!if!you!want!more!than!one!
value!associated!with!the!attribute.!
Yes!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!55!
!
!
Options!available!when!setting!up!attributes!vary!by!type!of!attribute.!!Options!may!include:!
•
•
•
•
•
•
•
•
•
•
!
Mandatory:!Check!this!box!if!this!field!is!required.!
Externally(Managed:!Check!this!box!if!you!do!not!want!Business!Manager!users!to!be!allowed!
to!edit!this!value.!This!is!used!for!attributes!with!values!fed!from!a!backend!system\of\record.!
Value(Unit:!Enter!the!unit!of!value,!such!as!cm!for!centimeters!or!oz!for!ounces.!
Minimum(Value:!Enter!the!minimum!allowable!value!for!the!attribute.!
Maximum(Value:!Enter!the!maximum!allowable!value!for!the!attribute.!
Scale:!Enter!the!number!of!decimal!places.!
Field(Length:!Enter!the!field!length!to!display!the!attribute!as!a!number!of!characters.!
Field(Height:!Enter!the!field!height!to!display!the!attribute!as!a!number!of!lines.!
Select(Multiple:!Check!this!box!to!allow!merchants!to!select!multiple!values!when!assigning!a!
value!for!the!attribute.!
Regex:!This!option!is!only!available!for!string!attributes.!Enter!a!regular!expression!to!use!when!
validating!the!attribute!in!a!storefront!form.!Use!Java!regular!expression!syntax.!
Administration(–(Replication(
Replication!is!the!process!by!which!data!and!code!move!from!one!instance!to!another.!!In!this!section!
we!will!cover!best!practices!in!replication!from!a!platform!perspective.!!Replication!strategy!varies!from!
client!to!client!based!on!their!individual!business!needs.!
!
Replication!can!be!initiated!manually!or!on!a!schedule.!!Care!should!be!taken!to!make!sure!that!the!
client’s!needs!and!workflow!are!being!met!by!the!replication!approach.!!If!they!expect!changes!to!
move!into!production!at!a!regular!cadence,!a!scheduled!replication!approach!is!appropriate.!!If!the!
client!expects!to!move!data!into!production!as!they!see!fit,!a!manual!approach!is!appropriate.!!
Regardless!of!the!approach,!replication!must!be!a!topic!of!discussion!with!clients!and!should!be!well!
documented.!
!
!
Business!Manager!Path:!!Administration(>(Replication!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!56!
!
!
Overview!
•
•
•
•
Data!transfers!from!Staging!to!Production!or!to!Development!
Data!does!NOT!transfer!from!Production!to!Development!or!Staging!
o Note:!!Active!data!can!be!moved!into!Staging!through!a!manual!or!scheduled!import!job!
Data!can!be!replicated!manually!or!on!a!set!schedule!
Some!replication!groups!are!at!the!site!level!meaning!they!only!impact!the!site!being!replicated!
while!other!replication!groups!are!at!the!organization!level!meaning!they!apply!to!all!sites.!
Site!Replication!Groups!
Organization!Replication!Groups!
Cache!Settings!
Catalogs!
Content!Library!
Customer!Lists!
Coupons!
Custom!Objects!
Customer!Groups!
Preferences!
Custom!Objects!
Price!Books!
Payment!
Sites!
Preferences!
Static!Content!
Campaigns!
Object!Definitions!
Search!Indexes!
!
Shipping!Methods!
!
Slots!
!
Source!Codes!
!
Stores!
!
Taxation!
!
Site!URL!Management!
!
URL!Redirects!
!
!
Replication!Flow!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!57!
!
!
!
!
!
Replication!Modes!
Transfer:!!Copies!data!&!files!to!shadow!tables!&!folders!without!affecting!Production!
Publish:!!Switches!the!pointers!to!newly!replicated!data!and!files!
Undo:!!Switches!the!pointers!back!to!the!previous!set!of!data!and!files!
!
What!is!Not!Replicated!
•
•
•
•
•
•
•
•
•
•
•
Customers!
Active!Data!
AB!Testing!Data!
Gift!Certificates!
Orders!
Analytics!data!
Operations!job!definitions!
Alias!
Robots!
XML!Sitemap!configurations!
Business!Manager!Users!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!58!
!
!
•
•
•
•
•
•
Business!Manager!Roles!
Error!Pages!
Sequence!Numbers!
Job!Schedules!
Non\replicable!Custom!Objects!
Inventory!
!
Data!Replication!Best!Practices!
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Replicate!to!development!first!as!a!QA!process!and!then!to!production!
One!replication!process!at!a!time!
Avoid!replication!during!Demandware!Maintenance!Windows!(T,!Th!2am\7am!local!POD!time)!
Avoid!replication!when!other!jobs!are!running!
Avoid!replication!during!the!day!
Publish!clears!cache!so!replicating!during!high!traffic!times!impacts!performance!(can!take!up!to!
15!minutes!for!the!cache!to!clear)!
Limit!who!has!access!to!perform!replications!
Identify!any!dependencies!between!replication!groups!so!you!can!replicate!them!together!
When!possible,!separate!the!transfer!and!publish!steps!to!production!to!allow!for!verification!
before!going!live!
Disable!incremental!and!scheduled!indexing!if!you!are!replicating!search!indexes!(target!and!
source)!
Global!replication!groups:!!There!may!be!instance!specific!differences!between!these!groups!so!
replication!is!not!recommended!
o Custom!Objects!
o Preferences!(global!and!site)!
o Sites!
Global!replication!groups:!!Static!Content!should!really!be!part!of!a!build.!!Assets!and!slots!are!
site!specific.!
Global!replication!groups!\!Object!Definitions:!!You!need!to!be!careful!and!understand!what!
changes!have!been!made!before!you!engage!in!an!object!definition!replication.!!May!need!a!
code!replication!to!go!along!with!the!data!replication.!
When!changing!meta!data,!we!recommend!you!change!it!on!Staging,!then!replicate!“Object!
definitions”!to!Development!and!Production.!!Above!statement!about!object!definitions!still!
applies.!
If!an!object!is!locked!it!will!not!be!included!in!the!replication.!
No!manual!updates!or!changes!should!be!made!in!business!manager!on!target!or!source!system!
when!replication!process!is!running.!!
Jobs!should!not!be!running!on!the!target!system!that!changes!the!same!data!as!is!being!
replicated.!
Do!not!schedule!one!job!to!start!right!at!the!end!of!a!previous!job!–!the!previous!job!may!not!
complete.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!59!
!
!
Search!index!automatically!runs!when!a!replication!is!initiated!so!do!not!also!replicate!search!
indexes.!
o Exception:!!Changes!to!search!
There!is!an!undo!feature!that!will!roll!back!only!the!last!replication.!
If!you!run!into!an!error,!you!should!check!logs!in!both!source!and!target!instances!for!the!error.!
If!replicating!multiple!groups!at!once!and!you!receive!an!error.!!Try!one!group!at!a!time!to!help!
isolate.!!Logs!will!also!help.!
Cache!should!never!be!cleared!directly!after!a!replication!finishes.!!The!replication!process!
clears!the!cache!(on!publish).!
•
•
•
•
•
Administration(–(Roles(&(Permissions(
Demandware!allows!clients!to!manage!users!who!have!access!to!Business!Manager,!through!user!
management,!and!what!they!can!do!after!they!login,!through!role!management.!!It!is!best!practice!to!
discuss!role!management!with!the!client!to!determine!what!roles!need!to!be!setup!and!who!those!
roles!will!apply!to.!!Setting!all!users!to!Administrator!is!not!a!suggested!method!to!permission!users.!
!
!
Business!Manager!Path:!!Administration(>(Organization(>(Users((or(Roles(&(Permissions)!
!
!
Discussion:((Roles(&(Permissions(
What!sort!of!permissions!would!you!extend!to!the!following!role!types?!
•
•
•
•
Administrator!
Merchandiser!
UX!Designer!
Search!Engine!Optimizer!
(
SEO(Support(
Meta!Data!
It!is!a!best!practice!to!make!sure!templates!use!standard!data!as!the!default!meta!data.!!This!allows!
clients!to!easily!make!sure!relevant!data!populates!into!the!meta!data!programmatically!while!still!
giving!the!client!the!flexibility!to!override!as!necessary!using!the!SEO!Support!attributes.!!SiteGenesis!
templates!will!follow!this!convention!by!default:!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!60!
!
!
Page!Type!
Meta!Tag!
Default!Syntax!
Product!Detail!Page!
Title!
<product\name>!\!<Site!Name>!
Description!
<product\description>!<Site!Name>!
Keywords!
<product\name>!<Site!Name>!
Title!
<category\name>!
Description!
<Site!Name>!
Category!Page!
Keywords!
Content!Asset!
! <Site!Name>!
Title!
<asset!name>!
Description!
<Site!Name>!
Keywords!
<Site!Name>!
!
In!addition!to!products,!categories,!and!content,!the!storefront!will!also!display!pipeline!pages!and!the!
homepage!(a!sort!of!unique!pipeline).!!With!the!exception!of!the!homepage,!these!pipeline!pages!are!
not!managed!in!Business!Manager,!therefore,!their!SEO!meta!data!is!not!managed!in!Business!
Manager.!!As!a!result,!requirements!should!be!collected!to!map!the!pipeline!pages!exposed!on!the!
storefront!to!their!meta!data!so!a!developer!can!code!it!into!the!page.!!Alternatively,!you!may!want!to!
consider!a!customization!to!store!pipeline!page!meta!data!in!a!specific!content!asset!(one!for!each!
pipeline)!to!allow!the!merchant!the!ability!to!change!the!meta!data!without!a!code!deployment!(uses!
the!UpdatePageMetaData!pipelet).!
!
!
Discussion:((Customization(Sample(
Review!the!requirement!example!and!then!discuss!why!the!requirement!is!or!is!not!a!sound!
customization.!!After!the!discussion!review!the!Requirement!Response!below!for!additional!details.!
!
Requirement!example:!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!61!
!
!
The!system!shall!allow!the!business!user!the!ability!to!specify!meta!title,!description!and!keywords!for!
the!pipeline!pages!through!the!use!of!a!content!asset.!!The!system!shall!have!one!content!asset!
designated!for!each!pipeline!page.!
!
!
Requirement!Response:!
!
This!requirement!is!also!an!example!of!the!line!of!thinking!that!Solution!Strategists!should!develop.!!
The!Demandware!platform!provides!a!starting!point!(the!reference!application,!system!objects,!system!
attributes,!system!functionality)!however!strategists!need!to!be!able!to!flex!the!platform!in!ways!that!
ultimately!give!the!client!the!degrees!of!freedom!to!operate!their!storefront!with!as!little!developer!
intervention!as!possible!while!at!the!same!time!not!limiting!the!inherent!flexibility!of!the!platform.!!
This!customization:!
•
•
•
Leverages!existing!platform!functionality!(content!assets)!
Increases!business!user!control!(gives!control!to!an!otherwise!uncontrollable!set!of!data)!
Does!not!limit!any!other!platform!functionality!
!
Other(Object(Quotas(
Quota(Name(
Description(
Limit(
A/B(Tests(
Segments(Per(AB(Test(
The!maximum!number!of!
segments!allowed!in!a!single!AB!
test!
5!(control!counts!as!a!segment)!
Basket(
Coupon(Line(Items(per(Basket(
The!maximum!number!of!
coupons!on!a!basket!
20!
Gift(Certificate(Line(Items(per(
Basket(
The!maximum!number!of!gift!
certificates!on!a!basket!
20!
Payment(Instruments(per(
Basket(
The!maximum!number!of!
payment!methods!in!a!basket!
20!
Product(Line(Items(per(Basket(
The!maximum!total!number!of!
independent!and!dependent!
200!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!62!
!
!
product!line!items!in!a!basket!
Shipments(per(Basket(
The!maximum!number!of!ship!to!
addresses!for!a!basket!
20!
Shipping(Line(Items(per(Basket(
The!maximum!number!of!
shipping!line!items!(shipping!
charges)!for!a!basket!
70!
Customer(
Customer(Groups(
The!maximum!number!of!
customer!groups!
500!
Explicit(Customer(Groups(per(
Customer(
The!maximum!number!of!explicit! 50!
customer!groups!a!customer!can!
be!member!of!
Custom(Objects(
NonXReplicable(Custom(Objects( The!maximum!number!of!non\
replicable!custom!objects!
400,000!
Object(Type(Definitions(
The!maximum!number!of!
business!object!definitions!
(system!and!custom!objects)!
allowed!
300!
Replicable(Custom(Objects(
The!maximum!number!of!
replicable!custom!objects!
400,000!
Inventory(
Product(Inventory(Lists(
The!maximum!number!of!
inventory!lists!
3,000!
Product(Inventory(Records(
Quota!limits!for!a!product!
inventory!record!
30,000,000!
Marketing(
Coupon(Definitions(
The!maximum!number!of!coupon! 1,500!
definitions!(coupon!groups)!
Source(Code(Groups(
The!maximum!number!of!source!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
5,000!
July!2015!Page!63!
!
!
code!groups!
Price(
Scaled(Prices(per(Product(Price(
Table(
Each!price!entry!allows!up!to!a!
20!
maximum!number!of!scaled!
entries!(for!bulk!discount!pricing)!
Private(Keys(and(Certificates(
Private(Keys(and(Certificates(
The!maximum!number!of!Private!
Keys!and!Certificate!entries!for!a!
site!
30!
Private(Keys(with(insufficient(
key(size(
The!maximum!number!of!Private!
Keys!which!have!an!insufficient!
key!size!(less!than!1024!bits!for!
RSA!keys)!
0!
Redirect(URLs(
Redirect(URLs(
The!maximum!number!of!redirect! 25,000!
URL!records!
Sites(
Sites(
The!maximum!number!of!sites!in!
an!instance!
100!
!
Lesson(6.3:(Mobile(Best(Practices(
There!are!three!different!mobile!approaches:!!mobile!site,!mobile!app,!and!responsive!design.!!This!
module!will!not!cover!the!strategic!differences!between!the!different!approaches!but!instead!will!focus!
on!implementation!best!practices!and!considerations!for!mobile!site!and!responsive!design.!
!
Mobile(Site(
For!implementations!that!will!pursue!a!separate!mobile!storefront,!Demandware!offers!a!mobile!
cartridge.!!The!cartridge!allows!for!user!agent!detection!that!then!triggers!mobile!pipelines.!!The!
mobile!cartridge!leverages!mobile!specific!pipelines,!templates,!and!scripts.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!64!
!
!
Mobile!cartridge!location:!!https://xchange.demandware.com/docs/DOC\16944!
!
In!addition!to!the!mobile!cartridge,!the!site!alias!will!need!to!be!updated!to!handle!the!user!agent!
detection!and!map!to!the!mobile!host!and!the!mobile!pipeline.!!For!example:!
"m.mybrand.com": [
{
"pipeline": "mHome-Show"
}
],
"www.mybrand.com": [
{
"if-agent-contains": ["iphone", "ipod", "android"],
"host": "m.mybrand.com"
}
]
!
Responsive(Design(
For!implementations!that!pursue!responsive!design!there!are!several!considerations!that!should!be!
fully!incorporated!into!the!design!approach.!!Project!documentation!should!clearly!depict!how!the!site!
will!change!at!each!of!the!defined!break!points.!
!
Responsive!break!points:!!These!are!the!defined!viewport!sizes!that!cause!the!responsive!template!to!
change.!!Common!break!points!include,!but!are!not!limited!to:!!1280px,!1024px,!768px,!320px.!!Each!
responsive!break!point!should!become!part!of!the!design.!
!
Page!weight:!!With!responsive,!desktop!pages!alter!at!their!various!break!points!but!deliver!much!of!
the!same!content!as!the!desktop!version.!!This!includes!media!like!images.!!This!is!another!reason!why!
images!need!to!be!web!optimized!and!as!light!as!possible!so!they!render!quickly!over!cellular!networks.!!
Remember,!just!because!an!image!is!not!displayed!to!the!user!at!a!mobile!break!point!doesn’t!mean!
that!it!isn’t!requested!from!the!server.!
!
Interaction!models:!!Interaction!models!on!the!desktop!do!not!always!translate!well!to!mobile!devices.!!
As!a!result!it!is!important!to!avoid!the!use!of!popup!windows,!modals,!and!hover!states!at!mobile!
breakpoints.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!65!
!
!
Mobile(Approach(Tradeoffs(
!
!
Lesson(6.4:(International(Best(Practices(
Internationalization!is!a!strength!of!the!Demandware!platform.!Demandware!provides!a!solution!to!
satisfy!local!requirements:!
• Local!product!assortment!with!specific!country!pricing!&!marketing!
• Content!in!native!languages!
• Country!specific!features!(e.g.!payment!methods)!
In!this!section,!we!will!see!how!to!use!Demandware!capabilities!related!to!multi\country,!multi\
language!and!multi\currency!in!order!to!build!a!strong!international!strategy.!
(
Project(Methodology(&(organization(
Globally,!an!international!rollout!project!is!built!through!4!main!steps:!
• Planning:!to!define!goals,!understand!culture,!build!operations,!identify!risks!&!payment!
methods,!and!take!into!consideration!the!local!legal!situation!
• Elaboration:!to!check!infrastructure,!define!a!lead!site,!setup!site!structure!&!data!
• Build:!to!translate!content!and!add!countries!
• Configuration:!to!prepare!site!in!Business!Manager,!build!SEO!strategy!and!test!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!66!
!
!
Internationalization(strategy!
Your!internationalization!strategy!will!make!you!choose!from!several!different!approaches,!each!with!
advantages!&!disadvantages:!
!
•
Option!1!=!single!international!site!
o Build!1!unique!storefront!to!address!all!your!targeted!countries!
www!
!
!
!
•
Option!2!=!group!sites!
o Group!some!countries!together!(based!on!shared!currencies!or!legal!requirements!or!
language)!and!you!build!several!sites!to!address!all!your!targeted!countries!
www!
!
www!
!
!
!
•
Option!3!=!1!site!for!each!country!
o Each!targeted!country!has!its!own!website!
www!
www!
www!
www!
!
!
!
!
!
!
As!we!said!before,!there!is!no!“best”!approach,!it!will!depend!on!your!context!and!constraints.!In!the!
table!below,!we!give!some!information!to!help!determine!the!“best”!choice!for!your!needs:!
!
!
OPTION!1!:!Single!
International!Site!
OPTION!2!:!Group!Sites!
OPTION!3!:!1!Site!per!Country!
Number!of!sites!
1!
<!number!of!countries!
(Clustered!by!currency!
for!ex)!
=!number!of!countries!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!67!
!
!
!
OPTION!1!:!Single!
International!Site!
OPTION!2!:!Group!Sites!
OPTION!3!:!1!Site!per!Country!
Number!of!catalogs!
2!
=!number!of!currency!
groups!+!1!
=!number!of!countries!+!1!
Number!of!
pricebooks!
1!by!currency!
1!by!currency!or!locale!
1!by!currency!or!locale!
Complexity!of!
management!in!
Business!Manager!
LOW!
MEDIUM!
HIGH!
Flexibility!to!address!
country!&!business!
specifics!
LOW!
MEDIUM!
HIGH!
Complexity!in!
organizational!
management!
LOW!
Navigation!
1!navigation!
Availability!
Customization!is!required!to!
serve!localized!experience!
completely!customized!per!site!
MEDIUM!
1!team!can!manage!all!
countries!in!the!single!site!
•
•
Limited!to!3000!
inventory!list!
All!products!are!
available!for!all!
countries!
HIGH!
Recommended!to!have!1!team!by!
site!(=country)!
Each!grouped!site!has!its!
own!navigation!
Limited!to!3000!
inventory!list!by!site!
Each!site!has!its!own!navigation!
•
•
•
Limited!to!3000!
inventory!list!by!site!
possible!to!un\/assign!
products!to!specific!
sites!! !
non\localized!attributes!
like!Product!Photo!or!
Refinement!
Assignments!can!be!
different!across!
countries!
Search!tuning!
Can!be!localized!
Can!be!localized.!
!
But!regarding!analytics,!All!metrics!are!aggregated!per!
Site,!so!no!country!breakdown!is!provided!out!of!the!box.!
!
!
Analytics!are!available!by!site.(
Merchandising!
Generally!global!across!all!
sites.!!
Independent!per!site.!!
It!is!possible!to!create!rules!
for!Dynamic!Customer!
Groups!based!on!the!selected!
Best!compromise!
between!pros!&!cons!of!
options!1!&!3!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
If!Promotions!should!be!run!in!
several!countries,!they!need!to!be!
copied.!Import/Export!functions!of!
Business!Manager!can!be!used!for!
July!2015!Page!68!
!
!
!
OPTION!1!:!Single!
International!Site!
OPTION!2!:!Group!Sites!
Locale.!With!that!approach!all!
elements!of!Campaigns!
(Promotions,!Content!Slots,!
Pricebooks,!Sorting!Rules)!can!
be!localized!based!on!the!
selected!Locale!or!identify!IP!
Location.!
Content!
1!Content!Library!
!
AB!Test!
Per!default!an!AB\Test!will!
cover!all!countries.!If!you!set!
a!Dynamic!Customer!Group!
as!qualifier!you!can!fine\tune!
the!scope!to!one!or!only!
several!countries.!!
OPTION!3!:!1!Site!per!Country!
this.!
!
1!Content!Library!by!site!
(=“cluster”)!
Each!Site!comes!with!an!own!
Content!Library.!With!Release!14.4!
Demandware!added!a!shared!Library!
across!sites!on!top.!So!it!is!easy!to!
share!Contents!across!several!sites.!
!
!
AB!Test!by!«!cluster!»!
AB\Tests!are!Site!specific.!There!is!
currently!no!possibility!to!run!a!single!
AB\Test!across!multiple!Sites.!!
!
!
!
!
!
In!order!to!select!an!option,!you!will!have!to!consider:!
• Complexity!of!management!in!Business!Manager:!!Is!the!choice!manageable!by!business!teams!
accountable!for!countries?!Do!the!needs!align!with!standard!Demandware!features!and!tools?!!
• Flexibility!to!address!country!&!business!specifics:!Is!it!easy!to!reach!local!goals!and!needs!(for!
example!specific!content!for!German!site)?!Is!the!strategy!compliant!with!differences!across!
different!countries!(for!example!a!specific!payment!method!for!1!country,!different!sales!
periods!etc.)?!
• !Complexity!in!organizational!management:!!Does!the!strategy!bring!consequences!into!the!
organization?!Is!there!a!need!to!ramp!up!specific!people!and!skills?!Is!the!change!management!
realistic?!
!
International(Content(
For!content,!you!can!create!2!types!of!Libraries:!“Shared”!or!“Private”.!!For!shared!libraries,!content!
can!be!shared!across!multiple!sites.!For!private!libraries,!access!is!limited!to!a!single!site.!Each!site!has!a!
“site!library”!this!can!be!either!shared!or!private.!!The!site!library!cannot!be!deleted.!
!
Search(Engine(Optimization(and(Domains(
Internationalization!strategy!must!take!into!consideration!SEO!aspects:!
• Careful!attention!should!be!paid!to!the!choice!of!domain!type.!There!are!both!operational!and!
SEO!pros!and!cons!to!each.!For!SEO,!specific!geotargeting!steps!are!necessary!at!launch!for!the!
international!site!to!be!recognized!and!displayed!in!country!specific!search!engines.!!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!69!
!
!
Especially!within!the!former!Commonwealth!with!.co\Domain!(like!.co.uk!for!United!Kingdom)!
TLD!it!is!very!common!to!use!.com!sites.!We!recommend!holding!all!local!TLDs!and!redirecting!
them!to!subdomains!which!are!primarily!used!for!business.!!
o Example:!Redirect!www.brand.de!to!http://de.brand.com!and!operate!from!there.!!
• For!all!branded!material!like!package,!printings!etc.!you!can!use!the!unified!brand.com.!In!
addition:!A!single!.com\Domain!helps!you!to!achieve!better!SEO!scores!as!all!contents!are!
summed!up!in!their!weighting.!!
• Since!14.2!it!is!possible!to!host!multiple!Sites!on!a!shared!Hostname.!!
More!details!here:!https://xchange.demandware.com/docs/DOC\16208!
•
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!70!
!
!
Asia/Pacific(
Demandware!offers!clients!a!direct!entry!method!to!operating!a!site!in!China!with!the!“China!Site!
Acceleration!Service”!(CSAS)!and!the!dedicated!POD!hosted!in!Hong!Kong.!!
!
CSAS!offers!an!ICP!BeiAn!(Filing)!&!China!CDN:!
• Getting!a!valid!ICP!BeiAn!(Filing)!is!your!website’s!ticket!to!guaranteed!online!visibility!in!China!
• Clients!have!to!sign!up!for!this!registration!with!help!of!local!Partners!like!Akamai!
• Akamai!accelerates!your!Site!in!China!by!caching!static!content!locally!
!
Local!hosting!through!Hong!Kong!POD!brings!minimum!response!times!&!fast!page!loads.!What!is!more,!
scheduled!maintenance!windows!on!that!POD!are!optimized!to!business!use!in!APAC.!
!
As!a!solution!strategist,!you!must!be!aware!of!functional!specificities!of!APAC!countries.!Examples!are:!
!
In!China!
o Language!used!into!storefronts!is!“Chinese!simplified”,!and!base!currency!used!is!RMB!!
o Most!popular!payment!methods!are!Alipay!(Standard!Alipay!account,!Direct!bank!
payment,!Quick!pay),!Tenpay!and!UnionPay.!Integration!payment!and!refunds!are!key!
subject!during!solution!design.!!
o Most!popular!shipping!method!is!COD!(Cash!on!delivery)!and!need!an!integration!with!
Kuaidi100!to!get!shipping!status.!!
o Any!code!and!reference!to!Facebook!and!Twitter!must!be!removed!from!the!storefront,!
else!there!is!a!risk!to!have!a!completely!inaccessible!website.!
o Chinese!social!networks!must!be!considerated:!Sina!Weibo,!Kaixin,!QQ!Zone,!Douban.!
Single!Sign!On!with!Sina!Weibo!is!possible.!
o Concept!of!“Billing!address”!in!China!does!not!exist,!so!checkout!&!user!account!
Pipelines!and!emails!must!be!adapted!accordingly.!
o All!maps!(for!example!for!store!locator)!cannot!be!implemented!through!Google!Map:!
use!“Baidu!map”!as!an!alternative.!
• In!Japan!
o Language!used!is!Japonese,!and!base!currency!is!JPY!(Display!1,000 !or!¥!1,000).!
Encoding!should!be!UTF\8!for!both!front\office!display!and!database.!!
o Product!prices!are!input!by!admin!excluding!taxes.!The!taxes!needs!to!be!added!when!
displaying!products!(5%).!
o Most!popular!shipping!method!is!COD!(Cash!on!delivery).!
o Customers!should!be!able!to!choose!the!time!they!want!to!be!delivered.!
o Mix!of!social!networks!has!to!be!considered.!
All!that!specificities!have!impacts!into!specifications,!wireframes,!use!cases!and!business!rules!into!
storefront.!
•
(
(
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!71!
!
!
Deployment(strategy(
To!build!your!“deployment!strategy”,!you!have!to!understand:!
• Point!of!Delivery!(POD):!collection!of!computing,!networking,!and!storage!services!that!combine!
to!host!a!multi\tenant!SaaS!application.!List!of!available!PODs!(with!location!&!timezone):(
https://xchange.demandware.com/docs/DOCX6431!
• «!REALM!»!describes!aggregation!of!services!(hardware!&!software)!that!Demandware!provides!
for!your!storefront.!A!Realm!allows!for!the!deployment!of!sites!serving!multiple!brands,!
geographic!regions!and/or!business!entities.!A!Realm!is!served!from!a!specific!POD!located!in!a!
single!data\center!
o 1!REALM=production!+!staging!+!dev(QA)!+!sandboxes!(5!by!default)!
!
Your!websites!will!be!automatically!affect!into!a!POD.!Geographical!proximity!between!customers!and!
POD!can!affect!storefront!performance!(response!time).!As!an!example,!to!reach!the!APAC!market!and!
in!order!to!optimize!performance!(behind!“Great!Chinese!Firewall”),!DW!offers!a!POD!localized!directly!
in!Asia.!
!
In!a!single!Realm,!sites!have!an!inherent!relationship!for!data!replication,!code!deployment!and!user!
administration:!
• Shared!Objects:!Inventory!|!Pricing!|!Products!&!Product!Photography!|!Custom!Code!|!
Customers*!|!Content!Assets*!
• Site!Specific!Objects:!Content!Slots!|!Orders!|!Promotions!|!Site!Preferences/Configurations!
!
Local!hosting!can!bring!Faster!Site!Performance!especially!in!the!Checkout!process!(https),!Local!
Maintenance!Windows!(no!scheduled!interruptions!during!business!peak!times)!and!Independent!Job!
Schedule!(e.g.!configures!job!starts!for!Product!Imports,!Price!&!Inventory!Updates,!etc.!according!to!
local!night!times).!!
!
Because!objects!can!be!shared!across!all!sites!within!a!Realm,!a!business!is!able!to!streamline!
merchandising,!development,!QA,!support!and!maintenance!for!all!of!those!sites.!!This!streamlining!
creates!significant!efficiencies!and!scalability.!!!
• Sites!within!a!Realm!generally!share!a!merchandising!team!or!the!teams!work!collaboratively!on!
schedules,!processes!and!priorities.!
• Sites!within!a!Realm!generally!share!an!admin,!development!and/or!operations!team.!!Code,!
jobs,!processes!and!functionality!need!to!be!scheduled,!prioritized!and!configured!in!such!a!way!
to!address!the!needs!of!all!the!sites!within!the!Realm.!!Creating!individual!controls!at!the!site!
level!in!these!areas!is!nearly!impossible!within!a!Realm!due!to!the!inherent!sharing!that!is!
architected!within!the!sites!in!a!Realm.!
NOTE:!this!sharing!does!not!limit!differentiation!of!sites!within!a!Realm!but!does!limit!the!business!
processes!and!operating!models!of!the!sites!within!a!single!Realm.!
!
At!the!end,!choosing!between!a!single!versus!multiple!REALM!into!your!internationalization!strategy!
will!remains!to!choose!between!efficiency!and!control!as!sum\up!in!the!table!below:!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!72!
!
!
SINGLE(REALM((Efficiency)(
MULTIPLE(REALMS((Control)(
Single!Partner!or!Development!Team!
Multiple!Partners!or!Development!Teams!
Common!Code!and!Release!Schedule!
Divergent!Code!and!Release!Schedule!
Shared!Merchandising!Practices!(common!view)!Across!Sites!
Divergent!Merchandising!Practices!Between!sites!
Shared!Support!&!Maintenance!Team!and!Schedule!
Divergent!Support!&!Maintenance!Team!and!Schedule!
Common!Project!Prioritization!&!Resourcing!
Silo’d!Project!Prioritization!&!Resourcing!
Shared!User!Rights!Management!!
Silo’d!User!Rights!Management!
(
Languages(
«!Localize!»!vs!«!translate!»:!Do!not!just!translate!words!into!your!storefront,!use!real!knowledge!into!
targeted!languages!to!ensure!a!localized!website!experience!for!your!customers!(with!common!
expressions,!language!use!and!proper!spelling!to!protect!SEO).!
!!
In!order!to!localize!text!and!data,!use!localizable!capabilities!within!Business!Manager:!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
!
July!2015!Page!73!
!
!
In!Business!Manager,!all!parameters!prefixed!with
are!localizable,!i.e.!give!a!specific!value!for!a!
given!locale.!In!the!same!way,!all!parameters!prefixed!with! are!not!localizable.!!It!is!highly!important!
to!populate!data!in!the!‘default’!locale!for!the!site!and!possibly!the!organization!as!well.!
!
The!Demandware!platform!has!built\in!fallback!logic!to!determine!the!content!to!display!to!the!
storefront:!
1. Display!the!localized!file!(if!available)!
2. If!no!localized!file!exists,!show!the!site!‘default’!locale!
3. If!no!site!‘default’!file!exists,!show!the!organization!‘default’!locale!
!!
For!example:!
• Site!default!locale!is!set!to!‘default’!
• Included!site!locales!are!‘en_CA’,!‘fr_CA’,!‘default’!
• Organizational!default!locale!is!set!to!‘en_CA’!
• System!recognizes!that!the!customer!should!be!presented!with!localized!‘fr_CA’!content!
however!the!system!does!not!find!the!localized!‘fr_CA’!content.!!The!system!then!follows!this!
logic:!
• If!no!‘fr_CA’!file,!look!for!a!‘default’!file!
• If!no!‘default’!file,!look!for!a!‘en_CA’!file!
!
Reference:!https://info.demandware.com/DOC1/topic/help/Localization/Localization.html
!
!
(
Site>(Site(Preferences(>(Locales:!
!
!
(
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!74!
!
!
Business!Manager!Path:((Administration(>(Organization(>(Organization(Profile(>(Default(Language:(
!
!
!
!
In!Business!Manager,!“Stemmers”!must!be!declared!with!the!appropriate!language!for!each!index:!this!
will!ensure!the!best!performance!for!the!search!&!navigation!engine!regarding!each!locale/language!
considered!across!your!site(s).!
!
!
Business!Manager!Path:!!Search(>(Search(Indexes(>(Product(Index((for(selected(locale)!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
!
July!2015!Page!75!
!
!
!
Some!parts!of!your!templates!are!not!driven!by!Business!Manager,!in!that!case!make!sure!that!all!static!
text!and!messages!hard\coded!into!templates!are!done!through!the!use!of!a!localized!resource!bundle!
!
Also,!be!aware!that!static!images!are!also!localized:!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
!
July!2015!Page!76!
!
!
!
Knowledge(Check(
1. Which!requirement!is!best!satisfied!through!use!of!a!content!slot?!
a. The!client!needs!to!be!able!to!control!the!content!in!a!particular!area!of!the!site.!
b. The!client!needs!to!be!able!to!test,!target,!and!schedule!the!content!in!a!particular!area!of!the!
site.!
c. The!system!should!display!defined!content!without!client!intervention.!
2. Which!of!the!following!are!ways!to!improve!site!performance?!!Check!all!that!apply.!
!
Restrict!the!number!of!content!slots!on!a!single!page!
!
Sprite!images!
!
Minify!JavaScript!
!
Combine!CSS!files!
!
Optimize!image!format!and!sizing!for!the!web!
!
Restrict!the!use!of!custom!attributes!
!
!
3. Demandware!best!practice!for!catalog!setup!is:!
a. Shared!master!and!storefront!catalog!
b. Separate!master!catalog!and!storefront!catalog!
c. One!catalog!for!each!site!
d. An!“on”!catalog!and!an!“off”!catalog!
!
4. Which!of!the!following!describe!the!purpose!of!a!data!model?!!Check!all!that!apply.!
!
The!data!model!maps!the!association!between!systems!and!the!data!
necessary!for!the!storefront.!
!
The!data!model!helps!uncover!gaps!between!the!data!being!sent!and!the!
data!exposed!on!the!storefront.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!77!
!
!
!
The!data!model!should!not!leverage!custom!attributes!when!system!
attributes!are!available.!
!
The!data!model!helps!expose!the!degree!of!manual!data!management!that!
a!client!will!need!to!take!on.!
!
The!data!model!shows!the!types!of!attributes!and!data!for!each!object.!
!
5. Data!replicates:!
a. From!development!to!staging!and!then!to!production!
b. From!development!to!staging!and!production!
c. From!staging!to!production!
d. From!staging!to!development!and!production!
e. From!staging!to!development!and!then!to!production!
!
6. A!client!can!override!SEO!Meta!Data!for!which!of!the!following!page!types?!!Check!all!that!apply.!
!
Home!
!
Category!
!
Product!
!
Content!
!
Pipeline!
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!78!
!
!
Knowledge(Check(Answers(
1. Which!requirement!is!best!satisfied!through!use!of!a!content!slot?!
a. The!client!needs!to!be!able!to!control!the!content!in!a!particular!area!of!the!site.!
b. The!client!needs!to!be!able!to!test,!target,!and!schedule!the!content!in!a!particular!area!of!the!
site.!
c. The!system!should!display!defined!content!without!client!intervention.!
Answer:(b(
2. Which!of!the!following!are!ways!to!improve!site!performance?!
x!
Restrict!the!number!of!content!slots!on!a!single!page!
x!
Sprite!images!
x!
Minify!JavaScript!
x!
Combine!CSS!files!
x!
Optimize!image!format!and!sizing!for!the!web!
!
Restrict!the!use!of!custom!attributes!
!
!
3. Demandware!best!practice!for!catalog!setup!is:!
a. Shared!master!and!storefront!catalog!
b. Separate!master!catalog!and!storefront!catalog!
c. One!catalog!for!each!site!
d. An!“on”!catalog!and!an!“off”!catalog!
Answer:(b(
!
4. Which!of!the!following!describe!the!purpose!of!a!data!model?!!Check!all!that!apply.!
x!
The!data!model!maps!the!association!between!systems!and!the!data!
necessary!for!the!storefront.!
x!
The!data!model!helps!uncover!gaps!between!the!data!being!sent!and!the!
data!exposed!on!the!storefront.!
!
The!data!model!should!not!leverage!custom!attributes!when!system!
attributes!are!available.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!79!
!
!
x!
The!data!model!helps!expose!the!degree!of!manual!data!management!that!
a!client!will!need!to!take!on.!
!
The!data!model!shows!the!types!of!attributes!and!data!for!each!object.!
!
5. Data!replicates:!
a. From!development!to!staging!and!then!to!production!
b. From!development!to!staging!and!production!
c. From!staging!to!production!
d. From!staging!to!development!and!production!
e. From!staging!to!development!and!then!to!production!
Answer:(d(
!
6. A!client!can!override!SEO!Meta!Data!for!which!of!the!following!page!types?!!Check!all!that!apply.!
X!
Home!
X!
Category!
X!
Product!
X!
Content!
!
Pipeline!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!80!
!
!
Module(7:((Platform(Customization(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
Identify!deviations!from!Demandware!Site!Genesis!and!advise!on!the!feasibility!of!those!
deviations!within!the!platform's!technology!constraints!
!
Lesson(7.1:(Common(Deviations(from(SiteGenesis(
Sometimes,!Demandware’s!default!SiteGenesis!functionality!does!not!always!meet!the!need!of!the!
client.!This!is!not!a!weakness,!but!speaks!more!to!the!scale!and!scope!of!clients!we!serve.!
!
Demandware!offers!a!fully!customizable,!extendable!platform,!to!meet!the!varying!requirements!of!
each!client.!!Requirements!vary!greatly!depending!on!vertical,!locale,!strategy,!scale!and!so!on.!
!
As!we!have!previously!discussed,!the!appropriateness!of!a!customization!should!be!measured!against!
the!platform,!the!client!and!the!technology!constraints.!!Just!because!we!can!technically!perform!a!
customization!it!does!not!mean!we!always!should.!!Just!because!we!did!a!customization!for!one!client!
does!not!mean!the!same!customization!is!portable!and!should!be!applied!to!the!next!client.!
!
!
Discussion:(Common(Deviations(from(SiteGenesis(
Customization(Description(
Methodology(
Control(the(category(refinement(like(the(
show(in(menu(navigation(flag(
Use!a!boolean!attribute!that!controls!if!
that!category!should!show!in!left!
navigation!
Automatically(default(the(cart(to(the(
default(shipping(method((
Shipping!cost!(and!any!shipping!
promotions)!are!displayed!at!the!cart!level!
rather!than!on!the!shipping!page!in!
checkout.!
Breakout(of(sale(variants(and(full(price(
variants(on(the(PDP(
This!is!a!popular,!but!overlooked,!
customization!for!apparel!clients.!!This!
customization!visually!separates!SKUs!that!
are!discounted!from!SKUs!that!are!full!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!81!
!
!
price!by!visually!placing!colors!into!two!
different!buckets!on!the!PDP.!
Homepage(Carousel(Timer(Site(Preference( Some!clients!may!have!the!need!to!control!
or(Slot(Attribute(
the!speed!at!which!the!homepage!carousel!
rotates.!!This!can!be!achieved!through!a!
custom!site!preference!or!a!custom!
attribute!on!the!content!slot!object.!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!82!
!
!
Module(8:(Solution(Strategist(Launch(Readiness(Analysis(
Learning(Objectives(
At!the!end!of!this!module,!you!will!be!able!to!
!
Determine!if!the!Storefront!has!met!the!documented!requirements!
!
Perform!a!final!review!of!Business!Manager!to!ensure!launch!critical!items!have!been!
completed!
Lesson(8.1:(Requirements(Applied(Workshop(
Overview(
!
In!this!lesson!a!set!of!business!requirements!are!supplied!along!with!the!corresponding!FSD!depicting!
the!end!state!solution.!!The!goal!is!to!determine!if!the!end!state!solution!has!met!the!requirements.!!If!
it!has!not!met!the!requirements,!you!will!need!to!explain!why.!
Business(Requirements(
1. Authentication!
1.1. The!system!shall!allow!the!user!to!create/login!to!their!account!
1.2. The!system!shall!allow!the!user!to!log!out!of!their!account!
2. Header!
2.1. The!system!shall!allow!the!user!to!create!and!manage!gift!registry!
2.2. The!system!shall!allow!the!user!to!create!and!manage!wish!list!
2.3. The!system!shall!allow!the!user!to!access!the!store!locator!
2.4. The!system!shall!provide!the!user!with!help!content!
2.5. The!system!shall!allow!the!business!user!the!ability!to!display!promotional!content!
2.6. The!system!shall!allow!the!business!user!the!ability!to!change!the!company!logo!
3. Global!navigation!
3.1. The!system!shall!display!three!levels!of!storefront!navigation!
3.2. The!system!shall!allow!the!business!user!the!ability!to!display!the!drop!navigation!in!a!
horizontal!format!or!a!vertical!format!
3.3. The!system!shall!allow!the!business!user!the!ability!to!change!content!in!the!navigation!
through!the!use!of!a!category!attribute!
3.4. The!system!shall!allow!the!business!user!the!ability!to!sequence!the!categories!
3.5. The!system!shall!allow!the!user!the!ability!to!perform!keyword!searches!
4. Homepage!
4.1. The!system!shall!allow!the!business!user!the!ability!to!change!all!content!on!the!homepage!
through!the!use!of!content!slots!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!83!
!
!
5. Footer!
5.1. The!system!shall!allow!the!user!the!ability!to!signup!for!the!company!newsletter!
5.2. The!system!shall!allow!the!business!user!the!ability!to!change!footer!links!through!the!use!of!
content!assets!
6. Category!listing!page!
6.1. The!system!shall!display!products!in!a!grid!format!and!infinitely!scroll!
6.2. The!system!shall!display!a!breadcrumb!showing!the!user!path!and!shall!exclude!“Home”!from!
the!path!
7. Product!tile!
7.1. The!system!shall!display!the!product!image!
7.2. The!system!shall!display!a!quickview!link!when!the!user!mouses\over!the!product!image!
7.3. The!system!shall!display!pricing!(standard!pricing,!was/is!pricing,!price!range)!
7.4. The!system!shall!display!star!rating!
7.5. The!system!shall!display!color!swatches!
7.6. The!system!shall!give!the!user!the!ability!to!compare!products!within!the!same!classification!
category!
8. Quickview!
8.1. The!system!shall!display!the!product!image!
8.2. The!system!shall!display!the!alternate!views!of!the!product!
8.3. The!system!shall!display!the!product!name!
8.4. The!system!shall!display!the!product!ID!
8.5. The!system!shall!display!the!product!price!
8.6. The!system!shall!display!the!product!color!if!available!
8.7. The!system!shall!display!the!product!size!if!available!
8.8. The!system!shall!display!a!link!to!the!size!chart!if!available!
8.9. The!system!shall!give!the!user!the!ability!to!input!a!desired!quantity!to!cart!
8.10.
The!system!shall!present!an!add!to!cart!button!that!activates!once!all!required!user!
selections!have!been!made,!else!it!is!disabled!
8.11.
The!system!shall!present!social!icons!
8.12.
The!system!shall!present!an!option!to!email!to!a!friend!
8.13.
The!system!shall!present!the!user!an!option!to!dismiss!the!quickview!
8.14.
The!system!shall!present!the!user!with!an!option!to!see!full!details!
9. Product!Detail!Page!
9.1. The!system!shall!display!material!information!
9.2. The!system!shall!display!product!recommendations!
9.3. The!system!shall!display!product!ratings!and!reviews!
9.4. The!system!shall!display!social!icons!
10. Search!results!
10.1.
The!system!shall!present!both!product!and!content!relevant!to!the!keyword!search!
10.2.
The!system!shall!present!business!user!defined!search!refinements!
11. Cart!
11.1.
The!system!shall!present!the!carted!items!
11.2.
The!system!shall!allow!the!user!the!ability!to!edit!the!item!carted!including!the!quantity!
11.3.
The!system!shall!allow!the!user!to!enter!and!apply!a!coupon!code!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!84!
!
!
11.4.
The!system!shall!allow!the!user!to!checkout!as!a!guest!
12. Checkout!–!Billing!
12.1.
The!system!shall!allow!the!user!the!ability!to!pay!with!credit!card!
12.2.
The!system!shall!allow!the!user!the!ability!to!pay!with!Bill!Me!Later!
12.3.
The!system!shall!allow!the!user!the!ability!to!pay!with!PayPal!
13. Checkout!–!Order!Confirmation!
13.1.
The!system!shall!display!the!order!details!
13.2.
The!system!shall!display!an!option!for!the!user!to!create!an!account!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!85!
!
!
Header&
1.!!The!company!logo!
2.!!Utility!links!
•
•
•
•
•
!
•
Login!–!takes!the!user!to!the!
login/register!screen!
Register!–!takes!the!user!to!the!
login/register!screen!
Wish!List!–!Takes!the!user!to!
the!wishlist!screen!
Gift!Registry!–!Takes!the!user!
to!the!gift!registry!screen!
Store!Locator!–!Takes!the!user!
to!the!store!locator!screen!
&
Help!–!Takes!the!user!to!the!
CustomerNServiceNStart!
pipeline!start!node!
3.!!Content!slot;!headerNpromoNbanner!
Solution!Strategy!Certification!©!Demandware,!Inc.!
!
July!2015!Page!86!
!
!
Footer&
1.!!Newsletter!signup!
2.!!Footer!Links!content!asset;!
footerNlinks!
3.!!Social!icons!
!
Global&Navigation&
1.!!Global!navigation;!follows!
Business!Manager!sequencing!
2.!!SubNnavigation;!follows!
Business!Manager!sequencing!
3.!!Category!attribute;!
headerMenuBanner!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!87!
!
!
&
Homepage&
1.!!Content!slot;!homeNmain!
2.!!Content!slot;!homeNleft!
3.!!Fixed!shipping!banner!
4.!!Content!slot,!homeNright!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
!
July!2015!Page!88!
!
!
Product&Listing&Page&
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!89!
!
!
Product&Tile&
!
Quickview&
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!90!
!
!
Product&Detail&Page&
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!91!
!
!
Search&Results&
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!92!
!
!
Cart&
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!93!
!
!
Checkout&B&Billing&
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!94!
!
!
Checkout&B&Order&Confirmation&
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!95!
!
!
My&Account&B&Landing&
!
!
!
!
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!96!
!
!
My&Account&B&Addresses&
!
!
!
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!97!
!
!
My&Account&–&Create&Account&
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!98!
!
!
Knowledge)Check)Answers)
!
Header!
•
•
Log!out!option!is!missing!
The!annotation!for!the!logo!does!not!indicate!how!the!logo!will!be!delivered!to!the!storefront!
Footer!
•
•
•
Submit!button!missing!for!newsletter!signup!
Footer!links!are!hardcoded!and!should!be!dynamic!
Social!icons!are!not!annotated.!!Annotations!should!account!for!what!happens!when!the!icons!
are!clicked.!
Global!Navigation!
•
No!issues!between!the!requirements!and!the!visual!comps.!
Product!Listing!Page!
•
•
Comp!shows!pagination!but!requirement!is!looking!for!infinite!scroll!
Breadcrumb!shows!the!‘Home’!in!the!path!but!the!requirements!call!for!‘Home’!to!be!removed!
Product!Tile!
•
The!main!issue!here!is!that!there!is!only!one!representation!of!the!product!tile.!!The!tile!should!
have!many!representations!to!account!for!the!various!supported!data!states!of!the!product.!!
For!example,!there!should!be!a!different!representation!of!the!tile!for!each!different!pricing!
state!(regular!price,!price!range,!was/is!pricing).!
Quickview!
•
Missing!a!link!to!see!the!full!set!of!product!details!
Product!Detail!Page!
•
•
Material!data!is!missing!
Product!recommendations!are!missing!
Search!Results!
•
•
Product!and!articles!are!found!but!only!products!are!displayed!
The!search!has!been!refined!but!there!is!no!method!to!clear!the!refinements!
Cart!
•
•
•
Quantity!selector!is!missing!
Guest!checkout!is!missing!(notice,!the!checkout!button!is!disabled!and!options!are!only!
presented!to!login!or!register)!
A!coupon!code!has!been!applied!however!there!is!no!coupon!entry!field!
Checkout!–!Billing!
Solution!Strategy!Certification!©!Demandware,!Inc.!
!
July!2015!Page!99!
!
!
•
•
•
Bill!Me!Later!and!Paypal!are!missing!
Security!code!for!credit!card!is!missing!
Cross!sells!have!been!added!to!the!page.!!They!are!not!called!for!in!the!requirements!and!
adding!cross!sells!in!the!checkout!funnel!is!a!bad!practice!leading!to!increased!checkout!
abandonment.!
Checkout!–!Order!Confirmation!
•
Requirements!call!for!guest!checkout!registration!on!this!page.!!The!module!is!missing.!
My!Account!–!Landing!
•
Wish!list!and!gift!registry!is!missing!
My!Account!–!Addresses!
•
Missing!the!ability!to!make!one!of!the!addresses!‘Default’!
My!Account!–!Create!Account!
•
The!confirm!email!field!is!missing.!!Not!having!a!confirm!email!field!increases!the!chances!that!a!
customer!will!mistype!their!email!address!and!not!have!the!system!catch!it!before!creating!the!
account.!
!
!
!
)
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!100!
!
!
Lesson)8.2:)Business)Manager)Launch)Review)
Business!Manager!needs!to!be!fully!configured!to!support!a!client’s!solution.!!Business!Manager!houses!
much!of!the!data!and!configuration!the!storefront!will!reference.!!It!is!critical!to!be!able!to!assess!the!
completeness!of!configuration!against!the!documented!solution.!
!
Section!of!Business!Manager!
Products!&!Catalogs!
What!to!look!for!
!
Catalogs!contain!a!Master!Catalog!where!the!
product!is!owned!and!a!Storefront!Catalog!
where!the!product!has!been!assigned.!
!
!
The!product!and!category!objects!contain!the!
custom!attribution!defined!in!the!data!model.!
!
!
The!Storefront!Catalog!root!has!defined!Search!
Refinements.!
!
!
The!Storefront!Catalog!root!has!a!defined!
Sorting!Rule!assigned.!
!
!
Unused!SiteGenesis!Category!Attributes!have!
been!removed.!
!
!
Unused!SiteGenesis!Product!Attributes!have!
been!removed.!
!
!
Price!Book!has!been!loaded!and!has!also!been!
assigned!to!the!Site.!
!
!
Search!
!
Inventory!List!has!been!loaded!and!has!also!
been!assigned!to!the!Site.!
Searchable!attributes!have!been!defined!
!
!
The!Search!Index!and!Index!Schedule!have!
been!properly!set!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!101!
!
!
!
Online!Marketing!
!
!
Storefront!Sorting!Options!have!been!defined!
All!SiteGenesis!campaigns!and!promotions!have!
been!removed.!
!
!
Ordering!
Stores!data!exists!(assuming!client!has!physical!
stores).!
!
!
Shipping!methods!have!been!setup.!
!
Site!URLs!
!
!
SiteGenesis!methods!have!been!removed.!
URL!Rules!have!been!enabled.!
!
!
URL!conflicts!have!been!resolved.!
!
!
Character!replacements!have!been!set.!
!
!
Pipeline!URL!aliases!have!been!set!for!all!
pipelines!accessible!on!the!storefront.!
!
!
A!unique!alias!has!been!set!for!each!instance.!
!
!
Static!and!Dynamic!Mapping!has!been!setup!to!
301!legacy!URLs!to!the!new!URLs!.!
!
!
Site!Preferences!
!
Locale!mappings!have!been!set!based!on!
documented/developed!locale!requirements.!
Locales:!!All!the!necessary!locales!have!been!
added.!
!
!
Gift!Certificates:!!If!the!client!is!using!online!Gift!
Certificates!the!appropriate!client!information!
should!be!represented!–!there!should!be!no!
mention!of!Demandware.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!102!
!
!
!
!
Sequence!Numbers:!!Site!specific!sequence!
numbers!are!configured!here.!
!
Validate)Products)&)Catalogs)Setup:))Master)&)Storefront)Catalogs)
Catalogs!contain!a!Master!Catalog!where!the!product!is!owned!and!a!Storefront!Catalog!where!the!
product!has!been!assigned.!!It!is!critical!that!Catalogs!be!setup!with!a!Master!and!a!separate!Storefront!
to!allow!for!internationalization!where!products!may!be!shared!to!more!than!one!Storefront!and!so!
each!Storefront!can!have!unique!and!independent!navigation/categorization.!!This!can!be!determined!
by:!
!
Navigate!to:!!Site)>)Products)&)Catalogs)>)Catalogs!
•
Validate!that!a!master!catalog!and!a!storefront!catalog!have!been!setup!
•
Validate!that!the!storefront!catalog!has!been!assigned!to!the!Site.!
•
Validate!that!the!storefront!catalog!Owns!none!of!the!products!and!has!been!assigned!
products.!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!103!
!
!
!
Validate)Products)&)Catalogs)Setup:))Search)Refinement)&)Sorting)Rule)
Search!Refinements!and!Sorting!Rules!are!applied!to!the!storefront!to!enable!customers!to!easily!find!
the!product!they!are!looking!for!and!to!enable!the!merchant!to!display!products!in!a!desired!order.!!
The!default!Sorting!Rule!is!applied!to!the!Storefront!Catalog!Root.!!The!Search!Refinements!are!also!
setup!at!the!Storefront!Catalog!Root.!!Both!Search!Refinements!and!Sorting!Rules!follow!an!inheritance!
model!through!the!Storefront!catalog!meaning!that!a!lower!level!of!categorization!inherits!Sorting!
Rules!and!Search!Refinements!from!their!parent.!!To!determine!if!a!default!Sorting!Rule!and!Search!
Refinements!have!been!setup:!
!
Navigate!to:!!Site)>)Products)&)Catalogs)>)Catalogs)>)Storefront)Catalog!
•
Select:!!Edit!
•
Select:!!Search)Refinement)Definitions!tab!
•
Check:!!Confirm!that!Search!Refinements!have!been!setup!
!
!
•
Select:!!Sorting)Rule!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!104!
!
!
•
Check:!!Confirm!that!a!default!Sorting!Rule!has!been!assigned!
!
!
Validate)Products)&)Catalogs)Setup:))SiteGenesis)Category)&)Product)Object)Attribution)
The!category!and!product!objects!contain!attribution!to!support!the!SiteGenesis!Storefront.!!A!custom!
solution!will!combine!SiteGenesis!attributes!with!custom!attributes!in!order!to!achieve!the!client’s!
desired!storefront.!!Before!a!client!goes!live,!any!unused!SiteGenesis!attributes!should!be!removed!
from!Attribute!Groupings!to!streamline!the!category!and!product!management!pages!in!Business!
Manager!and!to!reduce!possible!merchant!error!when!setting!up!new!categories!or!products.!!
Removing!an!attribute!from!a!grouping!simply!removes!it!from!the!product!page!in!Business!Manager!
or!from!the!category!page!in!Business!Manager.!!It!does!not!delete!the!attribute!or!any!values!from!the!
database.!
!
To!determine!if!unused!SiteGenesis!attributes!have!been!removed,!compare!the!Data!Model!
spreadsheet!containing!the!list!of!used!attributes!to!the!Product!and!Category!object!in!Business!
Manager.!
!
Navigate!to:!!Administration)>)System)Development)>)System)Object)Definitions)
•
Select:!!Category!
•
Select:!!Attribute)Grouping!
•
Select:!!Edit!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!105!
!
!
You!can!now!see!the!attributes!in!each!grouping.!!The!groupings!are!represented!on!the!category!and!
product!pages!in!Business!Manager.!!If!an!attribute!exists!in!the!grouping!but!not!in!the!data!model!
there!is!opportunity!to!clean!up!the!pages.!
Validate)Products)&)Catalogs)Setup:))Price)Books)
For!the!Storefront!to!show!pricing!a!Price!Book!must!be!properly!setup:!
!
Navigate!to:!!Site)>)Products)&)Catalogs)>)Price)Books!
•
Verify:!!At!least!one!Price!Book!exists!
•
Verify:!!At!least!one!Price!Book!is!assigned!to!the!Site!
•
Verify:!!At!least!one!Price!Book!is!activated!
!
!
!
!
Often!there!will!be!multiple!Price!Books!and!multiple!price!books!assigned!to!the!Site.!!In!this!setup!
there!is!a!list!Price!Book!(usdelisteprices)!and!a!sale!Price!Book!(usdesaleeprices)!and!both!are!active!and!
assigned!to!the!Site.!!The!Sale!Prices!are!setup!to!be!based!on!the!List!Prices.!!This!enables!was/is!
pricing!(also!referred!to!as!strikeethrough!pricing).!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!106!
!
!
In!this!setup!there!is!also!an!employee!Price!Book!that!is!Deactivated!and!not!assigned!to!the!Site.!!This!
sort!of!setup!is!appropriate!for!employee!pricing!triggered!from!a!marketing!setup!so!only!employees!
get!the!pricing!contained!within!that!Price!Book.!
!
Note:!!The!Demandware!platform!will!display!the!lowest!activated!price!for!an!item.!
!
Validate)Products)&)Catalogs)Setup:))Inventory)Lists)
For!products!to!have!inventory!an!Inventory!List!must!be!properly!setup:!
!
Navigate!to:!!Site)>)Products)&)Catalogs)>)Inventory)Lists!
•
Verify:!!At!least!one!Inventory!List!exists!
•
Verify:!!One!Inventory!List!has!been!assigned!to!the!Site!
!
In!addition!to!validating!that!inventory!lists!have!been!setup!and!assigned!properly,!the!default!inestock!
treatment!often!applied!for!testing!purposes!should!be!removed!and!actual!inventory!should!be!
applied!to!the!site.!
!
Validate)Search)Setup:))Searchable)Attributes)
The!search!index!is!comprised!of!data!housed!within!Business!Manager.!!The!Searchable!Attributes!
configuration!determines!which!of!those!data!elements,!attributes,!are!set!to!be!part!of!that!index.!!If!
no!attributes!were!set!to!be!searchable!the!index!would!contain!no!data!and!all!customer!keyword!
searches!would!come!back!with!no!results.!!Therefore,!it!is!important!to!validate!that!Searchable!
Attributes!have!been!setup!prior!to!launch.!
!
Navigate!to:!!Site)>)Search)>)Searchable)Attributes!
•
Verify:!!Product)Index)Attributes!have!been!defined!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!107!
!
!
•
Verify:!!Content)Index)Attributes!have!been!defined!(only!required!if!the!search!results!
page!shows!both!product!and!content)!
!
!
!
Validate)Search)Setup:))Search)Index)&)Search)Index)Update)Schedule)
The!Search!Index!settings!determine!how!the!index!is!rebuilt.!!Demandware!recommends!that!search!
indexes(on!the!Production!Instance)!are!rebuilt!on!a!scheduled!basis!once!a!day!and!that!inebetween!
scheduled!indexes,!incremental!indexing!occurs!to!support!merchandising!activity.!!Staging!indexes!
should!be!set!to!incremental!only.!
!
Note:!!The!search!index!is!instance!specific.!
!
!
Navigate!to:!!Site)>)Search)>)Search)Indexes!
•
Verify:!!Incremental)Index)Updates!have!been!checked!for!all!indexes.!
Navigate!to:!!Site!>!Search!>!Search!Index!Update!Schedule!
•
Verify:!!The!index!is!set!to!update!daily!and!is!pending!the!next!automated!run.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!108!
!
!
!
Incremental!Indexing!occurs!in!30!second!intervals!when!changes!to!the!indexes!are!detected.!The!
following!table!shows!the!data!that!is!updated!by!incremental!indexing.!
!
Index)
Object)indexed)
Details)of)incremental)indexing)
ProductIndex
Product
ContentIndex
SynonymIndex
Content Asset
Synonyms,
Hypernyms
Search
Suggestions
Product Inventory
Record
Active Data record
If product attributes, variation assignments, or category assignments
are modified, the index is updated.
Index updated when modified, added, or deleted.
Index updated when modified, added, or deleted.
SuggestIndex
AvailabilityIndex
ActivedataIndex
Index updated when modified, added, or deleted.
Index updated when modified, added, or deleted.
The active data record is usually imported via feed. Changes to
products are identified and cause an update to the active data record if
the product was modified after the latest rebuild of the active data
index.
!
The!following!table!shows!data!not!updated!by!incremental!indexing.!
Data)
Details)of)incremental)indexing)
Prices)and)Price)book)site)
assignments)
Prices!and!price!book!site!assignments!are!not!updated.!
Catalogs)
Catalog!structure!and!catalog!site!assignments!are!not!
updated.!
Search)refinement)definitions)
Search!refinement!definitions!are!not!updated.!
Searchable)attributes)
Searchable!attributes!are!not!updated.!
Index)settings)
Index!settings!are!not!updated.!
The search Stemmer should be set to the default language of the Site especially if the site is German or
Japanese. To localize Indexes and queries, you must localize the stemmer that is used to process the word
stems used for search. Search stemmers identify the meaningful part of a word for a search query. For example,
the word computer is stemmed to comput, which allows the search to find computer, computers,
or computation.
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!109!
!
!
!
Navigate!to:!!Site)>)Search)>)Search)Indexes!
•
Select:!!Locale!of!the!site!(Default!in!this!example)!
•
Verify:!!The!stemmer!is!set!to!the!correct!language!for!the!site!
Verify)Search)Setup:))Storefront)Sorting)Options)
The!merchant!can!define!Sorting!Rules!and!then!configure!those!rules!to!be!exposed!on!the!Storefront!
as!a!Storefront!Sorting!option.!!This!only!applies!to!designs!that!enable!a!customer!to!select!a!desired!
sort!like:!
•
Price!High!to!Low!
•
Price!Low!to!High!
•
Most!Popular!
•
Top!Sellers!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!110!
!
!
!
Navigate!to:!!Site)>)Search)>)Storefront)Sorting)Options)
•
Verify:!!Storefront!Sorting!Options!have!been!defined.!
!
!
Verify)Online)Marketing)Setup:))Campaigns)&)Promotions)
The!client!will!determine!appropriate!campaigns!and!promotions!to!launch!with.!!SiteGenesis!has!
campaigns!and!promotions!that!are!setup!out!of!the!box!to!demonstrate!the!Online!Marketing!
capabilities!of!the!platform.!!If!the!client!is!not!using!these!promotions!they!should!be!removed.!
!
Navigate!to:!!Site)>)Online)Marketing)>)Campaigns!
•
Verify:!!Only!the!campaigns!the!client!is!using!are!in!this!section.!
Navigate!to:!!Site)>)Online)Marketing)>)Promotions!
•
Verify:!!Only!the!promotions!the!client!is!using!are!in!this!section.!
Verify)Online)Marketing)Setup:))Stores)
If!the!client!has!a!physical!presence!they!will!most!likely!use!the!Stores!Object!to!house!data!about!
each!store!and!drive!the!Store!Locator!functionality!on!the!Storefront.!!Ensure!the!stores!table!has!
complete!data:!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!111!
!
!
!
Navigate!to:!!Site)>)Online)Marketing)>)Stores!
•
Select:!!Find!
•
Verify:!!The!resulting!set!of!stores!matches!the!number!of!stores!expected!to!be!returned.!
!
!
Verify)Ordering)Setup:))Shipping)Methods)
The!Shipping!Methods!section!of!Business!Manager!defines!the!methods!a!customer!can!select!on!the!
Storefront!and!the!corresponding!costs,!restrictions,!and!surcharges.!!Client!specific!methods!should!be!
setup!and!any!remaining!SiteGenesis!Methods!should!be!removed.!
!
Navigate!to:!!Site)>)Ordering)>)Shipping)Methods!
•
Verify:!!The!resulting!set!of!methods!matches!the!client!specification!and!all!other!methods!
not!being!used!by!the!client!have!been!removed!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!112!
!
!
!
Verify)Site)URLs)Setup:))URL)Rules)
Demandware!URL!Rules!extends!clients!the!ability!to!define!their!own!URLs.!!While!each!client!will!
have!unique!rules,!there!are!several!areas!to!check!to!make!sure!setup!is!complete.!
!
Navigate!to:!!Site)>)Site)Preferences)>)Storefront)URLs!
•
Verify:!!Enable)Storefront)URLs!is!checked!
!
!
Navigate!to:!!Site)>)Site)URLs)>)URL)Rules!
•
Verify:!!There!are!no!URL!conflicts!on!the!General!page.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!113!
!
!
All!URLs!need!to!be!unique.!!If!there!are!conflicts!the!client!should!be!informed!so!they!can!provide!
direction!on!resolution!or!resolve!the!conflicts!themselves.!!A!site!with!no!URL!conflicts!will!show!all!
green!checkmarks!like!this:!
!
The!Settings!tab!controls!certain!global!aspects!of!the!URL!Rules!and!should!be!set!according!to!the!
clients!SEO!preferences.!!At!minimum!the!following!settings!should!be!selected.!!If!they!are!not,!URLs!
are!not!likely!fully!configured:!
!
Navigate!to:!!Site)>)Site)URLs)>)URL)Rules!
•
Select:!!Settings!Tab!
•
Verify:!!Blank)Replacement!has!been!set!to!Q)(Minus)!
•
Verify:!!Character)Replacement!has!been!activated!and!replacement!rules!have!been!set!
•
Verify:!!Locale)Mapping!rule!has!been!set!to!a!value!other!than!None!for!a!site!using!
multiple!locales!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!114!
!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!115!
!
!
The!Pipeline!URLs!tab!controls!the!desired!URL!override!for!a!pipeline.!!If!a!pipeline!is!not!given!an!alias,!
the!resulting!URL!contains!demandware.store.!!Clients!will!not!find!this!desirable,!therefore!all!
pipelines!exposed!on!the!Storefront!need!to!have!an!alias.!!The!alias!also!provides!a!method!to!make!
the!URL!more!SEO!and!consumer!desirable.!!The!alias!may!be!a!keyword!for!the!page!to!add!SEO!value!
and!will!also!shorten!the!URL!to!host.com/alias!to!be!more!consumer!friendly.!
!
!
Navigate!to:!!Site)>)Site)URLs)>)URL)Rules)
•
Select:!!Pipeline)URLs!Tab!
•
Verify:!!Check!the!list!of!alias!rules!to!the!list!of!pipelines!being!exposed!on!the!storefront.!!
Each!should!be!accounted!for.!
!
Verify)Site)URLs)Setup:))Site)Alias)
The!alias!is!used!to!define!the!host!name!of!the!site!(http://www.mysite.com!for!example).!!Each!
instance!of!the!site!(staging,!development,!production)!needs!to!have!a!unique!alias.!!This!only!
becomes!complex!when!there!are!multiple!sites!within!an!organization.!!In!this!section!we!will!review!
how!to!verify!the!alias!is!properly!setup!given!these!two!different!scenarios.!
!
Scenario!1:!!Single!Site!Alias!Configuration!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!116!
!
!
!
Navigate!to:!!Site)>)Site)URLs)>)Alias!
•
Verify:!!Ensure!that!an!alias!like!the!one!below!has!been!specified.!
{
"__version": "1",
"!my-site.demandware.net" : [{"pipeline": "Home-Show" }],
}
!
Scenario!2:!!Multiple!Site!Alias!Configuration!
This!scenario!is!slightly!different!because!now!there!are!multiple!sites!in!the!same!Business!Manager!
instance.!!As!a!result!when!you!click!the!Storefront!link!all!of!the!sites!have!a!host!name!of!myQ
site.demandware.net.!!It!is!not!until!after!the!host!name!that!the!site!is!specified!/SitesQmyFirstsiteQ
Site!and!/SitesQmySecondsiteQSite,!etc.!!Therefore!both!Sites!cannot!have!the!same!host!name.!!That!
would!violate!our!previously!established!rule!that!every!site!in!every!instance!must!have!a!unique!alias.!!
If!you!see!two!sites!each!with!an!alias!configuration!that!100%!matches!the!other!site!you!should!
recognize!this!as!an!improper!setup!of!the!alias.!
!
Ramifications:!!While!you!can!still!access!the!Storefront,!it!will!be!impossible!to!validate!any!static!or!
dynamic!mapping!rules!unless!aliases!are!unique.!
Verify)Site)URLs)Setup:))Static)&)Dynamic)Mappings)
Migrating!platforms!causes!URLs!to!change.!!As!a!result,!a!client!will!need!to!create!a!301!mapping!
from!the!old!URLs!to!the!new!URLs!to!make!sure!traffic!(and!search!engines)!hitting!the!old!URLs!is!able!
to!find!the!new!pages.!!This!is!done!through!Static!and!Dynamic!Mapping.!!This!MUST!be!configured!in!
staging!!prior!to!the!new!site!going!live(the!final!data!and!code!deployment!to!production!will!capture!
these).!
!
Navigate!to:!!Site)>)Site)URLs)>)Static)Mapping!
•
Verify:!!Ensure!that!a!list!of!mapping!rules!exist!
Navigate!to:!!Site)>)Site)URLs)>)Dynamic)Mapping!
•
Verify:!!Ensure!that!a!list!of!mapping!rules!exist!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!117!
!
!
Verify)Site)Preferences)Setup:))Locales)
The!Locales!Site!Preference!is!used!to!activate!or!deactivate!locales!for!a!site.!!Once!a!locale!is!added!
the!currency!and!language!can!be!used!on!the!Storefront.!!Locales!to!be!used!for!a!site!would!be!
determined!during!requirements!gathering.!!The!purpose!here!is!to!validate!that!the!locales!listed!are!
the!same!locales!defined!in!the!requirements.!
!
Navigate!to:!!Site)>)Site)Preferences)>)Locales)
•
Verify:!!Ensure!that!a!list!of!locales!matches!the!site!requirements!
!
At!this!time!you!should!also!verify!the!organization’s!default!language!has!been!set!properly.!!This!will!
be!the!language!used!if!there!is!no!localized!file!available.!!Most!of!the!time!this!will!be!set!to!Default.!!
If!the!client!requires!a!different!default!locale:!
!
Navigate!to:!!Administration)>)Organization)>)Organization)Profile!
•
Verify:!!Ensure!that!the!default!locale!matches!the!site!requirements!
!
Verify)Site)Preferences)Setup:))Gift)Certificates)
The!Gift!Certificates!Site!Preference!is!used!to!set!settings!for!Gift!Certificates!for!a!site.!!This!
preference!only!applies!to!a!Site!using!Demandware!Gift!Certificates.!!By!default,!the!settings!reflect!
Demandware!in!the!Sender!EeMail!address!field.!!At!minimum,!this!should!reflect!the!proper!client!Ee
Mail!sender!address!and!should!not!reference!Demandware.!!If!this!Site!Preference!still!references!
Demandware!that!should!be!a!clue!that!this!preference!has!not!been!properly!setup.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!118!
!
!
!
Navigate!to:!!Site)>)Site)Preferences)>)Gift)Certificates!
•
Verify:!!Ensure!that!client!specific!settings!have!been!entered.!!The!Sender)EQMail!field!is!a!
good!indicator!to!check.!
!
!
Verify)Site)Preferences)Setup:))Sequence)Numbers)
The!Sequence!Numbers!Site!Preference!is!used!to!set!the!pattern!and!starting!number!for!Order!
Number,!Invoice!Number,!Shipment!Number,!and!Gift!Certificate.!!These!settings!only!become!
available!if!either!Order!Number!or!Gift!Certificate!Merchant!ID!are!set!to!Site!Specific.!!The!alternative!
setting,!Unique!Per!Organization,!means!that!each!site!within!an!organization!will!have!a!unique!value!
so!a!starting!number!and!pattern!is!not!necessary!as!the!system!will!enforce!uniqueness.!
!
The!Demandware!platform!uses!sequence!numbers!as!unique!identifiers!for!automatically!generated!
object!instances.!For!example,!when!creating!a!new!order,!an!order!sequence!number!is!generated!
and!can!be!used!to!identify!the!order.!The!Demandware!platform!allows!you!to!configure!sequence!
numbers!for!single!sites!and!entire!organizations!with!many!sites.!Because!Order!Numbers!are!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!119!
!
!
associated!with!Shipment!and!Invoice!Numbers,!if!you!configure!Order!Numbers!to!be!site!specific,!
then!Invoice!and!Shipment!Numbers!are!also!site!specific!by!default.!
!
Navigate!to:!!Site)>)Site)Preferences)>)Sequence)Numbers!
•
Verify:!!Ensure!that!client!specific!settings!have!been!entered!per!the!client!requirements.!
!
!
)
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!120!
!
!
!
Knowledge)Check)
!
1. Which!statement!best!describes!how!to!tell!if!catalogs!have!been!properly!setup?!
a. The!Catalogs!section!of!Business!Manager!has!a!catalog!that!owns!the!product!and!has!product!
assigned!to!it!
b. The!Storefront!shows!a!top!navigation!and!on!mouseeover!shows!subenavigation!
c. The!Catalogs!section!of!Business!Manager!has!a!master!catalog!that!owns!the!product!and!has!a!
storefront!catalog!that!has!been!assigned!the!product!
d. A!product!search!in!Business!Manager!returns!results!
!
2. For!the!Site!to!return!search!results!what!needs!to!be!properly!configured?!
a. Searchable!Attributes!
b. Incremental!Indexing!
c. Sorting!Rules!
d. Search!Object!
!
3. Which!of!the!following!settings!should!be!checked!to!validate!URL!Rules!have!been!properly!setup?!!
Check!all!that!apply.!
!
URL!Rules!Site!Preference!has!been!enabled!
!
URL!Generation!Status!indicates!there!are!no!conflicts!
!
Blank!replacement!has!been!set!to!%20!
!
Character!Replacement!has!been!enabled!
!
Pipeline!URLs!contains!aliases!for!all!pipelines!used!on!the!storefront!
!
Catalog!URLs!have!been!configured!to!use!the!ID!attribute!
!
!
4. It!can!be!determined!that!301s!have!been!setup!by!checking:!
a. The!Alias!configuration!
a. URL!Redirects!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!121!
!
!
b. Static!Mapping!
c. Static!&!Dynamic!Mapping!
d. Search!Indexing!
!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!122!
!
!
Knowledge)Check)Answers)
1. Which!statement!best!describes!how!to!tell!if!catalogs!have!been!properly!setup?!
a. The!Catalogs!section!of!Business!Manager!has!a!catalog!that!owns!the!product!and!has!product!
assigned!to!it!
b. The!Storefront!shows!a!top!navigation!and!on!mouseeover!shows!subenavigation!
c. The!Catalogs!section!of!Business!Manager!has!a!master!catalog!that!owns!the!product!and!has!a!
storefront!catalog!that!has!been!assigned!the!product!
d. A!product!search!in!Business!Manager!returns!results!
Answer:)c)
!
2. For!the!Site!to!return!search!results!what!needs!to!be!properly!configured?!
a. Searchable!Attributes!
b. Incremental!Indexing!
c. Sorting!Rules!
d. Search!Object!
Answer:)a)
!
3. Which!of!the!following!settings!should!be!checked!to!validate!URL!Rules!have!been!properly!setup?!!
Check!all!that!apply.!
x!
URL!Rules!Site!Preference!has!been!enabled!
x!
URL!Generation!Status!indicates!there!are!no!conflicts!
!
Blank!replacement!has!been!set!to!%20!
x!
Character!Replacement!has!been!enabled!
x!
Pipeline!URLs!contains!aliases!for!all!pipelines!used!on!the!storefront!
!
Catalog!URLs!have!been!configured!to!use!the!ID!attribute!
!
!
4. It!can!be!determined!that!301s!have!been!setup!by!checking:!
a. The!Alias!configuration!
b. URL!Redirects!
c. Static!Mapping!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!123!
!
!
d. Static!&!Dynamic!Mapping!
e. Search!Indexing!
Answer:)d)
!
!
)
)
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!124!
!
!
Congratulations)
You!have!completed!the!classroom!elements!of!the!Applying!Solution!Strategy!Principles!in!
Demandware!program.!!You!can!now:!
!
Identify!and!describe!the!fundamental!building!blocks!of!the!Demandware!Commerce!Platform!
!
Identify!the!documentation!created!by!Solution!Strategists!
!
Identify!if!project!documentation!is!complete!and!comprehensive!
!
Determine!if!the!documented!solution!adheres!to!Demandware!implementation!best!practices!and!
can!scale!globally!
!
Determine!if!the!documented!solution!can!be!used!successfully!by!the!client!now!and!in!the!future!
!
Identify!if!Demandware!Business!Manager!has!been!fully!setup!for!launch!
!
You!will!now!take!a!timed!multiple!choice!exam!to!demonstrate!your!learning!of!this!course!content.!!
After!successful!completion!of!the!exam,!you!will!need!to!demonstrate!the!concepts!learned!in!this!
course!in!a!real!world!project.!!Your!trainer!will!notify!Solution!Strategy!of!your!readiness!for!practical!
assessment.!!Successful!completion!of!this!practical!assessment!results!in!Applying!Solution!Strategy!
Principles!in!Demandware.!
!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!125!
!
!
Appendix)A)
Spec)Review)
Section)
Checkpoint)
Criteria)
Assessment)Source)
Architecture!
Are!there!any!
missing!or!
incomplete!
components?!
No!missing!components!or!
integrations,!all!
requirements!are!covered.!
Assessment!based!on!project!
documentation!(e.g.!Wireframes,!
FSD,!and!Implementation!SOW).!
Architecture!
Can!the!data!
model!support!
the!design?!
It!is!defined!who!is!the!
Assessment!based!on!project!
system!of!record!for!product! documentation!(e.g.!TSD,!Data!
data,!how!often!the!data!will! Mapping,!Custom!Attributes).!
be!imported!into!Business!
Manager,!and!who!will!
maintain!the!data!in!the!
future?!Are!there!complex!
master!/!variant!
relationships!(e.g.!variants!
other!than!color!/!size)?!
Wireframes!
Can!the!Client!
support!the!data!
model!needs?!
Does!the!Client!have!!
expertise!with!XML!and!PIM!
system?!!
Assessment!based!on!partner!
conversations,!partner!to!provide!a!
list!of!roles!&!responsibilities!at!
Client.!
Wireframes!
Does!the!design!
make!use!of!
content!slots!&!
content!assets?!!
Have!all!content!
slots!&!assets!
that!need!to!be!
accessed!in!the!
build!phase!!been!
named!and!
assigned!an!ID?!
Slots!and!assets!are!utilized!
and!have!been!defined!in!
the!FSD.!
If!!specific!slots!that!will!be!
used!during!build!phase!
need!to!be!referenced!,!they!
need!to!be!clearly!specified!
before!build!phase.!
Assessment!based!on!FSD,!best!
practices,!and!knowledge!base!e.g.!
ContentBestPractices.pdf!
(XChange)!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!126!
!
!
Section)
Checkpoint)
Criteria)
Wireframes!
Can!the!proposed!
design!be!!
implemented!on!
DW?!
The!proposed!design!is!
Assessment!based!on!Site!Genesis!
feasible!from!a!technology!
wireframes!and!Project!wireframes!
(DW!&!SG)!standpoint.!!
There!are!no!obstacles!found!
that!prevent!the!design!from!
being!implemented!on!the!
platform.!
Reference:)
https://documentation.dem
andware.com/display/Res/
SiteGenesis!
Wireframes!
Is!a!browser!
compatibility!
matrix!available?!
Browser!matrix!is!
Define!which!browsers!will!be!
available/defined.!!
supported.!Assessment!based!on!
!
Information!available!(HLD,!FSD,!
Reference:)))))))))
TSD,!implementation!SOW)!
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
https://xchange.demandwa
re.com/thread/8620!
Wireframes!
Does!the!
customer!have!
Accessibility!
(ADA,!WCAG,!
DDA,!etc.)!
requirements!and!
are!these!
reflected!in!the!
design?!
If!yes,!the!level!of!
Assessment!based!on!FSD!
accessibility!is!defined!(Level!
AA)!and!reflected!in!the!
designs.!
Wireframes!
Has!behavior!of!
varying!windows!
sizes!(devices!and!
view!ports)!and!
font!sizes!been!
defined?!
Design!has!either!a!fixed!
Demandware!strategist!Assessment!
width!or!scales!with!the!
based!on!FSD,!TSD!and!
browser!width!using!
Implementation!SOW.!
responsive!design.!
The!design!should!not!break!
if!the!fonts!sizes!are!changed!
in!the!browser.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
Assessment)Source)
July!2015!Page!127!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
Wireframes!
Does!the!Site!
avoid!use!of!
frames!or!iframes!
to!display!
content?!
Usage!of!iframes!for!
displaying!shop!related!
content!are!bad!practice!
(e.g.!SEO!aspects)!and!
should!be!avoided.!
Assessment!based!on!FSD!and!TSD.!
Features!&!
Does!the!
Functionality! storefront!global!
navigation!
leverage!
SiteGenesis!
functionality?!
What!is!the!
maximum!
number!of!
categories!and!/!
or!subcategories?!
Will!the!site!use!
custom!attributes!
to!drive!dynamic!
categories!(e.g.!
sale,!new!arrivals)!
Are!there!any!
elements!not!
controlled!within!
Business!
Manager?!!
The!SiteGenesis!storefront!is! Assessment!based!on!Wireframes,!
optimized!for!building!
FSD,!Architecture,!Data!Flow!
ecommerce!sites.!The!
Diagram,!TSD.!
SiteGenesis!storefront!&!
back!office!combines!
ecommerce!best!practices!in!
usability,!merchandising!and!
technical!architecture.!
The!proposed!ecommerce!
processes!and!useecases!are!
aligned!with!those!best!
practices!in!order!to!drive!
revenue!and!lower!
implementation!efforts.!
Features!&!
Does!the!
Functionality! storefront!header!
and!footer!
leverage!
SiteGenesis!
functionality?!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!128!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
constraints?!
Features!&!
Does!the!
Functionality! storefront!home!
page!leverage!
SiteGenesis!
functionality?!!
How!are!custom!
js!files!being!
handled?!Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Image!Size,!Count!and!
compression!should!be!
within!DW!best!
practices.!!Avoid!scaling!
images!with!CSS.!
Recommend!serving!resized!
image!of!appropriate!size.!
Callout!large!images,!pages!
with!no!pagination,!lots!of!
swatching,!small!buttons!and!
icons!and!other!pages!that!
have!high!potential!to!be!
heavy!and!request!lots!of!
images.!Total!page!weight!
should!be!under!1mb!e!
Features!&!
Do!the!storefront! 1.5mb.!Should!have!less!
Functionality! category!landing! than!100!image!requests!per!
page.!!Consider!spriting!
and!grid!pages!
images!when!possible.!!
leverage!
SiteGenesis!
functionality?!!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
July!2015!Page!129!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
Features!&!
Do!the!storefront! The!SiteGenesis!storefront!is! Assessment!based!on!Wireframes,!
Functionality! product!detail!
optimized!for!building!
FSD,!Architecture,!Data!Flow!
page!and!
ecommerce!sites.!The!
Diagram,!TSD.!
QuickView!
SiteGenesis!storefront!&!
leverage!
back!office!combines!
SiteGenesis!
ecommerce!best!practices!in!
functionality?!
usability,!merchandising!and!
Does!the!
technical!architecture.!
template!make!
The!proposed!ecommerce!
use!of!business!
processes!and!useecases!are!
manager!OOB!
aligned!with!those!best!
attributes?!How! practices!in!order!to!drive!
are!custom!
revenue!and!lower!
attributes!being!
implementation!efforts.!
used?!How!is!
product!data!
being!loaded?!Is!
the!data!modal!
and!PDP!design!
aligned?!!
Features!&!
Does!the!
Functionality! storefront!search!
and!search!
results!(SSO)!
leverage!
SiteGenesis!
functionality?!
Will!there!be!a!
shared!cart!
across!multiple!
sites?!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
July!2015!Page!130!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
Features!&!
Do!the!storefront!
Functionality! customer!profile!
management!
pages!leverage!
SiteGenesis!
functionality?!!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Features!&!
Do!the!storefront!
Functionality! content!pages!
(FAQ,!Impressum,!
etc.)!leverage!
SiteGenesis!
functionality?!
Will!content!need!
to!be!copied!
across!multiple!
sites!or!locales?!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Features!&!
Does!the!
Functionality! storefront!cart!
leverage!
SiteGenesis!
functionality?!
Will!there!be!a!
shared!cart!
across!multiple!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!131!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
sites?!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Features!&!
Does!the!
Functionality! storefront!
checkout!flow!
leverage!
SiteGenesis!
functionality?!
Are!shipping!
methods!
managed!in!
Business!
Manager!or!via!a!
3rd!party!
integration?!Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
July!2015!Page!132!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
Features!&!
Do!the!storefront!
Functionality! promotions!and!
marketing!
features!leverage!
SiteGenesis!
functionality?!
Can!
customizations!
be!implemented!
within!technology!
and!
environmental!
constraints?!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Features!&!
Can!any!
Functionality! additional!
storefront!
features!be!
implemented!
within!technology!
and!
environmental!
constraints?!
Assessment!based!on!Wireframes,!
FSD,!Architecture,!Data!Flow!
Diagram,!TSD.!
Features!&!
Backoffice!e!
Functionality! Product!
Management!
(PIM,!
Merchandizing,!
Content).!!
Assessment!based!on!client!Staging!
environment!(if!available),!
documentation!or!discussions!with!
partner,!and!SS!knowledge.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!133!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
Features!&!
Backoffice!e!
Functionality! Publishing!
(Replication!of!
Data!to!
production).!Does!
the!client!
understand!the!
replication!
process?!Is!it!
defined!who!will!
own!data!
replication?!What!
modules!will!be!
replicated!with!
what!frequency?!
Does!the!
replication!
process!align!with!
the!job!schedule?!!
Assessment!based!on!client!Staging!
environment!(if!available),!
documentation!or!discussions!with!
partner,!and!SS!knowledge.!
Features!&!
Backoffice!e!Order!
Functionality! Management!
(Refunds,!
Returns,!
Transactional!
Emails)!
Assessment!based!on!client!Staging!
environment!(if!available),!
documentation!or!discussions!with!
partner,!and!SS!knowledge.!
Features!&!
Backoffice!e!
Functionality! Organization!
Administration!
(Access!Rights!&!
Permissions)!
Assessment!based!on!client!Staging!
environment!(if!available),!
documentation!or!discussions!with!
partner,!and!SS!knowledge.!
Features!&!
Backoffice!e!Email!
Functionality! Management!
(What!is!the!
system!of!record!
for!transactional!
and!marketing!
emails?)!
Assessment!based!on!client!Staging!
environment!(if!available),!
documentation!or!discussions!with!
partner,!and!SS!knowledge.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!134!
!
!
Section)
Checkpoint)
Criteria)
Features!&!
Scheduled!Jobs!
Functionality!
Assessment)Source)
Assessment!based!on!client!Staging!
environment!(if!available),!
documentation!or!discussions!with!
partner,!and!SS!knowledge.!
Features!&!
Storefront!e!
Functionality! Performance!
Images!
Image!Size,!Count!and!
compression!should!be!
within!DW!best!
practices.!!Avoid!scaling!
images!with!CSS.!
Recommend!serving!resized!
image!of!appropriate!size.!
Callout!large!images,!pages!
with!no!pagination,!lots!of!
swatching,!small!buttons!and!
icons!and!other!pages!that!
have!high!potential!to!be!
heavy!and!request!lots!of!
images.!Total!page!weight!
should!be!under!1mb!e!
1.5mb.!Should!have!less!
than!100!image!requests!per!
page.!!Consider!spriting!
images!when!possible.!!
Do!rough!image!assessment!for!
Count!of!image!calls,!number!of!
large!images!displayed,!scrollers,!
social!icons!and!identify!with!
partner!if!they!spriting!images.!!On!
gridwall!how!are!they!treating!alt!
images!or!swatches.!Ensure!site!
isn't!going!to!be!adding!to!many!
server!calls!for!images.!!Product!
Zoom,!Alt!Images!and!other!
elements!discuss!on!they!are!
separating!defer!elements!during!
initial!page!load!to!improve!
performance.!!
Integrations!
&!Data!
Architecture!
It!is!defined!how!and!by!
whom!the!content!will!be!
delivered!and!managed!(e.g.!
the!content!managers!
and/or!an!external!agency).!
Demandware!strategist!Assessment!
based!on!partner!conversation,!
data!flow!diagram!and!org!chart!
review.!Partner!should!provide!a!
list!of!!roles!and!responsibilities!at!
the!Client.!
Are!content!
contributors!
identified!and!
outlined!in!the!
data!flow!
diagram(s)?!Is!the!
Client!aware!of!
the!content!
requirements!of!
the!site?!Will!
there!be!any!3rd!
party!
integrations?!If!
so,!has!training!
been!accounted!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!135!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
for!in!the!project!
plan?!!!
Integrations!
&!Data!
Architecture!
Is!Content!to!be!
Content!is!compliant,!e.g.!no! Demandware!strategist!Assessment!
shown!on!the!site! videos!hosted!on!DW!
based!on!FSD!or!TSD.!
compliant!with!
the!DW!best!
practices?!
Integrations!
&!Data!
Architecture!
Is!the!proposed!
Site!Setup!
defined!(e.g.!
multi!vs.!single)?!
The!siteesetup!(sites,!
currencies,!locales)!is!
specified.!
Demandware!strategist!Assessment!
based!on!Implementation!SOW!and!
TSD!
Integrations!
&!Data!
Architecture!
Is!the!setup!for!
shared!entities!
specified!and!
does!it!conform!
to!DW!best!
practices?!Will!
there!be!multie
channel!support?!
The!proposed!setup!for!
Master!Catalog!/!Nave
Catalog!/!Inventory!/!Pricing!
is!specified.!Who!is!system!
of!record!for!multiechannel!
promotions!(POS!system!vs!
Business!Manager)?!How!
will!this!information!be!
passed!to!the!various!
systems?!
Demandware!strategist!Assessment!
based!on!TSD,!best!practices,!and!
knowledge!base.!
Integrations!
&!Data!
Architecture!
Is!there!a!plan!to!
implement!a!
shared!cart?!!
Need!to!make!sure!
Demandware!strategist!Assessment!
implications!are!considered!e! based!on!implementation!SOW!and!
search,!13.1!urls,!site!map!
TSD!
(can't!be!generated),!
domains!
Integrations!
&!Data!
Architecture!
Have!the!partner!
provided!a!list!of!
pipelines!and!
To!be!used!for!SEO!pipeline!
alias!and!content!slot!
configuration.!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
Partner!to!provide!a!list!of!all!
pipelines!and!rendering!templates.!
July!2015!Page!136!
!
!
Section)
Checkpoint)
Criteria)
Assessment)Source)
rendering!
templates?!
Non!
Functional!
Have!the!client's!
SEO!
requirements!
been!considered?!
Is!the!client!using!
a!3rd!party!SEO!
provider?!If!
applicable,!does!
the!3rd!party!
understand!
Demandware!
capabilities?!Have!
default!alt!images!
and!meta!
taggings!been!
considered?!
The!client's!SEO!
Assessment!based!on!FSD!and!
requirements!are!available!
other!available!information.!
and!the!partner!has!
Strategist!to!discuss!13.1!url!
conducted!discussions!on!
functionality!with!partner!and!
the!topic.!!3rd!party!!
provide!documentation!to!ensure!
recommendations!have!
that!the!functionality!is!understood!
been!delivered!prior!to!
by!all!parties.!
build.!The!mapping!to!layout!
is!also!described!and!
whether!the!client!will!use!
the!13.1!SEO!functionality.!
!
The!review!does!not!judge!
on!SEO!strategy.!DW!expects!
that!SEO!aspects!are!
considered!and!reflected!in!
the!designs!(e.g.!mapping!of!
product!name!into!h1!tag).!
Reference:)))))))))))))))))))))
https://xchange.demandwa
re.com/thread/8573))!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Non!
Functional!
Have!aliases!,!
redirects,!and!
canonicalization!
been!considered?!!
The!partner/customer!needs! Assessment!based!on!!information!
to!be!aware!of!these!topics! available.!
during!the!definition!phase!
so!they!can!be!addressed!
efficiently!during!Launch!
Gate.!
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Implementati Has!the!site!
on!
Catalog!been!set!
up!per!DW!best!
practices?!
Master!catalog!separate!
from!Storefront!catalog.!
Initial!set!of!category!
refinements!identified.!!!!!!!!!
Strategist!Assessment!based!!on!
knowledge!and!best!practices!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!137!
!
!
Launch)Review)
Section)
Checkpoint)
Criteria)
Assessment)
Source)
Business!
Manager!
Has!the!site!
Catalog!&!
Products!section!
of!Business!
Manager!been!
set!up!per!DW!
best!practices?!
Master!catalog!separate!from!Storefront!catalog.!
Category!refinements!configured.!Unused!
SiteGenesis!default!attributes!have!been!deleted.!
Verify!Price!Book!has!been!set!up!per!best!
practices.!
Strategist!
Assessment!based!!
on!knowledge!and!
best!practices!
Business!
Manager!
Has!the!site!
Search!section!of!
Business!
Manager!been!
set!up!per!DW!
best!practices?!
Review!search!index!settings!for!best!practices!
(e.g.!run!job!during!off!peak!hours,!incremental!
update!configured!in!production).!
Review!Searchable!Attributes!for!best!practices.!!
Strategist!
Assessment!based!!
on!knowledge!and!
best!practices!
Business!
Manager!
Has!the!Online!
Marketing!
section!been!set!
up!per!DW!best!
practices?!!
Verify!that!SiteGenesis!campaigns!and!
promotions!have!been!deleted.!
Strategist!
Assessment!based!!
on!knowledge!and!
best!practices!
Business!
Manager!
Has!the!site!
Ordering!been!
set!up!per!DW!
best!practices?!!
Review!shipping!methods!definition.!
Review!tax!table!definition!(if!applicable).!
Strategist!
Assessment!based!!
on!knowledge!and!
best!practices!
Business!
Manager!
Have!SEO!URL!
section!been!set!
up!per!DW!or!
3rd!party!best!
practices?!
Review!SEO!default!image!settings.!Review!
product,!category,!and!content!SEO!meta!data!
and!URL!configurations.!
Review!301!mappings!&!URL!redirects.!!
Strategist!
Assessment!based!!
on!knowledge!and!
best!practices!
The!SiteGenesis!storefront!pages!are!built!as!
dictated!by!the!wireframes!and!based!on!
ecommerce!best!practices!in!usability,!
merchandising,!and!technical!architecture.!
Assessment!based!
on!Wireframes,!
FSD,!Architecture,!
Data!Flow!diagram,!
Storefront! Does!the!
storefront!global!
navigation!meet!
DW!best!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!138!
!
!
Section)
Checkpoint)
Criteria)
practices?!
The!proposed!ecommerce!processes!and!usee
and!TSD.!
cases!are!aligned!with!those!best!practices!in!
order!to!drive!revenue!and!lower!
implementation!efforts.!
Reference:))))))))
https://xchange.demandware.com/thread/8674!
Storefront! Does!the!
storefront!
header!and!
footer!meet!DW!
best!practices?!
Assessment)
Source)
Storefront! Does!the!
storefront!home!
page!meet!DW!
best!practices?!
Storefront! Do!the!
storefront!
category!landing!
&!grid!!pages!
meet!DW!best!
practices?!
Storefront! Do!the!
storefront!
product!detail!
page!and!
QuickView!
feature!meet!
DW!best!
practices?!
Storefront! Does!the!
storefront!
search!&!search!
results!(SSO)!
meet!DW!best!
practices?!
Storefront! Do!the!
storefront!
customer!profile!
management!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!139!
!
!
Section)
Checkpoint)
Criteria)
Assessment)
Source)
Image!Compression!score!needs!to!come!in!
above!80%.!!Need!to!review!any!pages!with!more!
image!requests!than!100!on!any!page.!!All!Global!
elements!with!multiple!images!(social!elements)!
Open!in!staging!
and!run!
performance!
testing!using!the!
pages!!meet!DW!
best!practices?!
Storefront! Do!any!other!
storefront!
content!pages!
(FAQ,!
Impressum,!etc.)!
meet!DW!best!
practices?!
Storefront! Does!the!
storefront!cart!
meet!DW!best!
practices?!
Storefront! Does!the!
storefront!
checkout!flow!
meet!DW!best!
practices?!
Storefront! Do!the!
storefront!
promotions!and!
marketing!
features!meet!
DW!best!
practices?!
Storefront! Do!any!
additional!
storefront!
features!meet!
DW!best!
practices?!
Storefront! Does!the!Home!
page!
performance!
meet!DW!best!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!140!
!
!
Section)
Checkpoint)
Criteria)
Assessment)
Source)
practices?!!
should!be!sprited.!!All!JS!should!be!pushed!to!
bottom!of!the!page.!!Red!Flag!any!pages!loading!
over!8e10!seconds!in!staging,!and!note!out!all!
other!issues!identified!in!feedback.!
Firefox!add!on!
Firebug!and!
perform!page!
speed!test.!!Check!
for!image!
compression,!
caching!issues,!
deferring!of!JS,!
redirect!chains,!
spriting,!and!other!
red!or!yellow!
callouts.!!Record!
score!(out!of!100)!
for!each!page!type!
to!review.!
Storefront! Does!the!
Category!and!
Grid!page!
performance!
meet!DW!best!
practices?!!
Storefront! Does!the!
Product!Detail!
Page!
performance!
meet!DW!best!
practices?!
Project!
Have!all!legacy!
Test!case!check!for!legacy!profile,!if!applicable.!
profiles!(e.g.!My! (Note:!Only!import!active!customers)!
Acct)!been!
loaded!and!
password!access!
confirmed?!
Strategist!has!
completed!
Assessment,!if!
applicable!
Project!
Are!all!legacy!
Test!case!checks!for!legacy!order,!if!
orders!available! applicable.(Note:!Only!import!orders!of!active!
in!order!history?! customers.)!
Strategist!has!
completed!
Assessment,!if!
applicable!
!
Applying!Solution!Strategy!Principles!in!Demandware! ©!Demandware,!Inc.!
July!2015!Page!141!
!
Download