bringing flexibility to a web portal using magnolia

40
Bringing Flexibility to Web Portal Using Magnolia 1 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd. Kunal Shah , Lakshmikala Lingamaneni Date: 02.20.2014

Upload: magnolia-cms

Post on 08-May-2015

242 views

Category:

Technology


0 download

DESCRIPTION

This presentation was given at Amplify Miami 2014 by Kunal Shah, Java Developer at Excentus Corporation, and Lakshmi Lingamaneni, Java Developer at Excentus Corporation. How about a web portal that you can change drastically without any deployment? In this talk we are going to explain how we utilized Blossom, Magnolia Data nodes and other Magnolia modules to bring flexibility to fuelrewards.com. We will go over how we implemented Partial Page Rendering with Magnolia for a fast and consumer friendly experience. We'll demonstrate how we introduced custom filter in Magnolia's filter chain and extended default Magnolia classes to achieve our unique business needs.

TRANSCRIPT

Page 1: Bringing Flexibility to a Web Portal Using Magnolia

DD.MM.YYYY at Venue/Customer First Last, Role

Bringing Flexibility to Web Portal Using Magnolia

1 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Kunal Shah , Lakshmikala Lingamaneni Date: 02.20.2014

Page 2: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom With Magnolia Pages

§  Partial Page Rendering

§  On The Fly Changes To Web Portal Without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

2

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 3: Bringing Flexibility to a Web Portal Using Magnolia

§  Excentus Corporation is the leading provider of loyalty marketing programs that utilize cents-per-gallon fuel savings as the ultimate consumer reward

§  The Fuel Rewards Network™ program is our free, nationwide consumer loyalty program�that allows members to earn�Fuel Rewards® savings for everyday purchases so they never have to pay full price for fuel

§  Members can earn rewards by shopping at participating grocery stores, dining out at thousands of restaurants nationwide, shopping online at over 700 brand name merchants, using a MasterCard and various other ways

§  Members can redeem Fuel Rewards savings at over 10,000 Shell fuel stations across the country

§  We have a Consumer Portal where members can register for free, link/order loyalty cards, see transactions, shop online, view offers, find locations §  We used Magnolia to design our Consumer Portal 3

Who We Are and What We Do

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 4: Bringing Flexibility to a Web Portal Using Magnolia

§  https://www.youtube.com/watch?v=GSvWXBd0HqQ

4

Lets watch a Quick Introduction Video

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 5: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom with Magnolia Pages

§  Partial Page Rendering

§  On the Fly Changes to Web Portal without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

5

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 6: Bringing Flexibility to a Web Portal Using Magnolia

§  Templates for Different Layouts

§  Reusing Components across Templates & Pages

§  Serving Different Content on Same Page Based on User State

§  Replacing Actual Dynamic Component with Static Html

§  Component Dialogs and Advantages

6

Integrating Blossom with Pages & Components

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 7: Bringing Flexibility to a Web Portal Using Magnolia

7

Templates for Different Layouts

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 8: Bringing Flexibility to a Web Portal Using Magnolia

8 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Reusing Components

Page 9: Bringing Flexibility to a Web Portal Using Magnolia

9 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Serving Different Content on Same Page Based on User State [Logged In / Logged Out]

Page 10: Bringing Flexibility to a Web Portal Using Magnolia

10 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Replacing Actual Dynamic Component with Static HTML

Page 11: Bringing Flexibility to a Web Portal Using Magnolia

11

Component Dialogs and Advantages

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 12: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom with Magnolia Pages

§  Partial Page Rendering

§  On the Fly Changes to Web Portal without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

12

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 13: Bringing Flexibility to a Web Portal Using Magnolia

13

Partial Page Rendering

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

§  Issues §  Multi form submits §  Submitting content from Pop Up

§  Solutions §  Using Servlet §  Using Blossom Controller

Page 14: Bringing Flexibility to a Web Portal Using Magnolia

§  Servlet class §  Mapping in CMS §  AJAX Call §  Disadvantage of Servlet

§  Xml Export §  Spring Validations

14

PPR Using Servlet

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 15: Bringing Flexibility to a Web Portal Using Magnolia

§  Configuration Changes §  Dispatcher servlet(dispatcher-servlet.xml) §  Web.xml §  Bypass in repository

15

PPR Using Controller

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 16: Bringing Flexibility to a Web Portal Using Magnolia

§  Web.xml

16

Configuration Changes

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

§  Dispatcher-servlet.xml

§  Bypass

Page 17: Bringing Flexibility to a Web Portal Using Magnolia

§  JSP §  Controller

17

PPR Example Using Controller

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 18: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom with Magnolia Pages

§  Partial Page Rendering

§  On the Fly Changes to Web Portal without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

18

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 19: Bringing Flexibility to a Web Portal Using Magnolia

§  “Look & Feel” And “SEO” Changes using page properties

§  Use of Data Modules

§  Data modules for dynamic configuration changes

§  Data modules for dynamic content changes

§  Java implementation of page property and Data module

19

On the Fly Changes to Web Portal without Deployment

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 20: Bringing Flexibility to a Web Portal Using Magnolia

20

“Look & Feel” and “SEO” Changes

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

§  Marketing CSS allows changes to look and feel on the fly

§  Meta Keyword

§  Meta Description

§  Third Party Tracking

Page 21: Bringing Flexibility to a Web Portal Using Magnolia

§  For Configuration Changes

•  Website Profile •  Website Settings •  Participant node

§  For Content Changes

•  Temp Password email •  Terms & Cond.

21

Configuration & Content Changes Using Data Module

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 22: Bringing Flexibility to a Web Portal Using Magnolia

22

Java Implementation of Page Property and Data Module

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 23: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom with Magnolia Pages

§  Partial Page Rendering

§  On the Fly Changes to Web Portal without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

23

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 24: Bringing Flexibility to a Web Portal Using Magnolia

24

Use of Custom Filters for Case Insensitive Page Names

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

§  Custom Virtual Uri filter allow us to achieve business need of having page names case insensitive

§  As all request pass through such filter we were able to prevent Cross site scripting attacks using this filter

Page 25: Bringing Flexibility to a Web Portal Using Magnolia

25

Leveraging Custom Filter to Prevent XSS Attack

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 26: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom with Magnolia Pages

§  Partial Page Rendering

§  On The Fly Changes to Web Portal Without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

26

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 27: Bringing Flexibility to a Web Portal Using Magnolia

§  Issue : No Magnolia Context Available

§  Configuration changes §  Web.xml §  Custom filter class §  bypass

27

REST Services

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 28: Bringing Flexibility to a Web Portal Using Magnolia

§  Filter Configuration

§  Bypass Config

28

Web.xml Configuration Changes

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 29: Bringing Flexibility to a Web Portal Using Magnolia

§  Custom Filter Class

§  Servlet configuration

29

Configuration Changes

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 30: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom With Magnolia Pages

§  Partial Page Rendering

§  On The Fly Changes To Web Portal Without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

30

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 31: Bringing Flexibility to a Web Portal Using Magnolia

§  Public Box Configuration & Subscription

§  Author Box Subscription

31

Using Observation Module to Resolve Image Propagation Problem

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 32: Bringing Flexibility to a Web Portal Using Magnolia

32

Observation Module [Public Box Configuration & Subscription]

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 33: Bringing Flexibility to a Web Portal Using Magnolia

33

Observation Module [Author Box Subscription]

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 34: Bringing Flexibility to a Web Portal Using Magnolia

§  About FRN and Excentus

§  Integrating Blossom With Magnolia Pages

§  Partial Page Rendering

§  On The Fly Changes To Web Portal Without Deployment

§  Achieve Case Insensitive Page Names Using Magnolia Filter Chain

§  REST Services

§  Propagating Avatars Across Public Boxes Using Observation Module

§  Authentication and Authorization Using Workflow

34

Topics

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 35: Bringing Flexibility to a Web Portal Using Magnolia

§  Two Activation flows •  Marketing Dept. •  Technical Dept.

§  Marketing Dept. has two level hierarchy Editor à Publisher §  Technical Dept. Has three level of hierarchy Editor à

Reviewer à Publisher

35

Bringing Authentication and Authorization to Magnolia Changes Through WorkFlow

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 36: Bringing Flexibility to a Web Portal Using Magnolia

36

Work Flow xml Script

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 37: Bringing Flexibility to a Web Portal Using Magnolia

37

Workflow Configuration

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

§  Website Tree Configuration

§  DataTree Configuration

Page 38: Bringing Flexibility to a Web Portal Using Magnolia

38

Workflow Configuration

Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Page 39: Bringing Flexibility to a Web Portal Using Magnolia

39 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.

Questions ??

Page 40: Bringing Flexibility to a Web Portal Using Magnolia

Join Today!

1.  Join for free at www.fuelrewards.com using these FRN cards with 15 cents/gal reward balance 2. Shop and earn rewards – they’ll add up fast, and there’s no limit on how much you can earn and redeem 3. Redeem your rewards at Shell – you’ll save every time you fill up