38
Portlets | Advanced Your Guides: Rahul Agrawal, Anthony Alcala

Portlets | Advanced - HubSpot

Embed Size (px)

Citation preview

Portlets|Advanced

YourGuides:RahulAgrawal,AnthonyAlcala

Introductions

LetRegobeyourguide.

2

• Take5Minutes

• TurntoaPersonNearYou

• IntroduceYourself

• Multi-DimensionalPortlets• Syntax• Howtocreateasampleportlet

• DrilldownPortlets• Syntax• Howtocreateasampledrilldownportlet

• CommonPortletIssues• RegoXchange References• Questions

LetRegobeyourguide.

3

Agenda

Multi-DimensionalPortlets

LetRegobeyourguide.

4

TheGoal!

LetRegobeyourguide.

5

Multi-DimensionalPortlets

Let’sbegin!

WearegoingtobuildaPortletthatdisplaysETCbyTasksovertime(timescaled)

• WhatisMulti-dimensional?

LetRegobeyourguide.

6

Multi-DimensionalPortlets

Dimen

sion1

Dimension2

1Dimension

• NSQLSyntax

SingleDimensionSELECT@SELECT:DIM:USER_DEF:IMPLIED: ASSIGNMENT:A.PRID:ID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED: ASSIGNMENT:INVI.ID:PROJECT_ID@

AddingSecondDimensionSELECT@SELECT:DIM:USER_DEF:IMPLIED:ASSIGNMENT:A.PRID:ID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:ASSIGNMENT:INVI.ID:PROJECT_ID@,@SELECT:DIM:USER_DEF:IMPLIED:TIMEPERIOD:ETC.SLICE_DATE:SLICE_DATE_ID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:TIMEPERIOD:TO_CHAR(ETC.SLICE_DATE,'YYYY-MM-DD'):SLICE_DATE@,@SELECT:METRIC:USER_DEF:IMPLIED:ETC.SLICE:ETC@

• DimensionColumn• DimensionProperty

LetRegobeyourguide.

7

Multi-DimensionalPortlets:Syntax

DimensionName

DIM2 DIM2 DIM2

DIM1 METRIC METRIC

DIM1 METRIC METRIC

DIM1 METRIC

DIM1 METRIC METRIC

Y-Axis

X-Axis

DIM1=ASSIGNMENTDIM2=TIMEPERIOD(timescaled)METRIC=ETC

• Multi-DimensionalQuery

LetRegobeyourguide.

8

Multi-DimensionalPortlets:Query

1st Dimension(Y-Axis)

2nd Dimension(X-Axis)

• CreateQuery

LetRegobeyourguide.

9

Multi-DimensionalPortlets:Query

Enter“QueryName”and“QueryID”Click“SaveandContinue”ClickNewAdministration->Queries

• CreateQuery

LetRegobeyourguide.

10

Multi-DimensionalPortlets:Query

RemovethedefaultqueryandPasteyour

query.ClickSaveandContinue

• CreatePortlet

LetRegobeyourguide.

11

Multi-DimensionalPortlets:Portlet

Administration->Portlets

EnterPortletNameandIDBrowseforNSQLQuery

ClickNextClickNewGridPortlet

• CreatePortlet1)SelectDimensionfortheYAxis

2)ClickFinishandOpen

LetRegobeyourguide.

12

Multi-DimensionalPortlets:Portlet

3)ClickonLayout

TheselectedfieldswillappearonY-Axis

SelectMetric(s)

X-Axiscolumngrouping

Selectthefieldtobedisplayedasheader

• CreatePortletSelectthecolumnstouseforsorting

LetRegobeyourguide.

13

Multi-DimensionalPortlets:Portlet

AlwayssortonDatefirst

Useslice_date_id,NOT

slice_date(label)

• CreatePortlet

LetRegobeyourguide.

14

Multi-DimensionalPortlets:Portlet

ClickonFilterLayoutandselectfilters

UpdateLabel

ClickonFields

ClickonFilterfieldsandupdatelabels

• CreatePortlet

LetRegobeyourguide.

15

Multi-DimensionalPortlets:Portlet

Portletisnowreadybutdon’tforgettoaddtoapage.

• CreatePortlet

LetRegobeyourguide.

16

Multi-DimensionalPortlets:Output

FinalOutput

• Limitations• RowLimitGovernor– 50,000rows

• 10rowsofprojectswith12monthsofdata=120rows

• SortingLimitationsSortontheDatefirst

LetRegobeyourguide.

17

Multi-DimensionalPortlets:Limitation

• CommonErrorsSeen• DuplicateDimensionalData

LetRegobeyourguide.

18

Multi-DimensionalPortlets:CommonErrors

• ERROR

• NullDimensionalKey

Possiblecauses:• AfieldlistedintheSELECTorWHEREclausedoesnotspecifythetablename.Becausethefieldnameappearsinmultipletables,thetablenamemustprecedethefieldname.

• Acommaafterthelast@SELECTstatement.• AcommaafterthelasttablelistedintheFROMclause.• Incorrecttablename

DrilldownPortlets

LetRegobeyourguide.

19

• GeneralPerception– Complex!!

• TwoPortlets• Linking• XMLConstruct• PortletPage(OneorTwo)• Filtering• Confusion??

LetRegobeyourguide.

20

DrilldownPortlets

• WhatisDrilldownPortlets?

• Navigatingtoportletsthatshoweddetailedinformationbyclickingonalink withinanotherportlet

• Examples–

• PieChartlinkingtoagridportletthatshowsthedetails

• Gridportletshowingsummarizeddatalinkedtoagridthatshowsthedetailedinfo

LetRegobeyourguide.

21

DrilldownPortlets

• HighLevelImplementationSteps:• CreatePortletPagewithlinkparameter(s)

• CreateQueryforSummaryPortletwithlinktothePortletPage

• CreatePortletbasedonSummaryQuery

• CreateQueryfordetailPortletthatutilizestheparameter(s)fromtheportletpage

• CreatePortletbasedonDetailQuery

• PlaceDetailPortletonthePortletPagecreatedabove

• AddSummaryPortlettoaportletpage

LetRegobeyourguide.

22

DrilldownPortlets

• CreatePortletPagewithalinkparameter

LetRegobeyourguide.

23

DrilldownPortlets:PortletPage-LinkParameter

1.CreateanewPortletPage3.CreateaLinkParameter

(makesuretheIDisalllowercase)2.ChecktheLinkableboxand

ClickSaveandContinue

• CreateQueryforsummaryPortletwithlinktothePortletPage• InputQueryNameandID• PasteNSQLQuery

LetRegobeyourguide.

24

DrilldownPortlets:SourcePortletQuery

• ClickonLinkingTabandClickNew

• Select“SampleDrillDownPage”

• MaptheProjectInternalIDtoprjid fromtheNSQL

LetRegobeyourguide.

25

DrilldownPortlets:SourcePortletQuery

• CreateSummaryPortlet• ProvidePortletNameandID• BrowseforDataProvider

LetRegobeyourguide.

26

DrilldownPortlets:SourcePortlet

ClickonListColumns->Layout

ConfiguretheLayout UpdatetheLabels

Clickon“ProjectName”propertiesicon

LetRegobeyourguide.

27

DrilldownPortlets:SourcePortlet

• SelecttheLinkthatwecreated.Link=ProjectDetailsDrillLink

Select“TeamCount”inDisableLinkattributeThiswillhelpdisablethelinkifthereareNOTeammembersintheproject.

SaveAndReturn

• CreateQueryforDetailPortlet

LetRegobeyourguide.

28

DrilldownPortlets:DestinationPortletQuery

Paste theNSQL

QueryName:ProjectDetailsQuery-drilldown

QueryID:regou_destination_qry

XPATH(XMLParameter)Construct

LetRegobeyourguide.

29

DrilldownPortlets:DestinationPortletNSQL

SELECT@SELECT:DIM:USER_DEF:IMPLIED:RES:srm.id:RESID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RES:srm.full_name:Resource_Name@

FROM PRTEAMPTJOIN SRM_RESOURCESSRMONSRM.ID=PT.PRRESOURCEIDWHERE 1=1

AND(@WHERE:PARAM:XML:STRING:/data/prjid/@value@ISNULLOR@WHERE:PARAM:XML:STRING:/data/prjid/@value@=PT.PRPROJECTID)

AND@FILTER@

Enablesaportlettoretrieveaname-valuepairfromtheXMLpageURLtoauser-definedportlet

Format:@WHERE:PARAM:XML:STRING:/data/prjid/@value@Casesensitive(BestPractice– alllowercaseIDs)

Thisconstructcanonlybeusedonaspecificportletinstancetype,nottheGeneral portletinstancetype.

ThisconstructexpectstheinternalIDvaluetocomefromtheURLthatisdisplayingthepagethatcontainstheportlet

• CreateDetailPortlet

• InputPortletNameandID• BrowseforQuery• ClickNext• ClickFinishandOpen• GotoColumnLayout• UpdatetheLayout• UpdateColumnSorting• UpdateFieldLabel

LetRegobeyourguide.

30

DrilldownPortlets:DestinationPortlet

• Finalpiece- PlacingthetwoPortletsonthePortletPage(s)

• Itrequiresatleast ONEportletpage.

• ThedetailportletMUSTbeplacedonthepagethatwascreatedpreviously.

• TheSummaryPortletcanbeplacedonthesamepageORtoanotherpage.

• AddtheportletpagethatcontainstheSummaryPortletasanewlinkon

theMenuusingMenuManager

LetRegobeyourguide.

31

DrilldownPortlets:PortletPage(s)

• CASE#1:Placingboththeportletonthesameportletpage.

• GoBacktoPortletPage->LinkParameter

LetRegobeyourguide.

32

DrilldownPortlets:PortletPage(s)

Ifthedrilldownportletpageisaddedtothemenu,thentheparametervaluewilldefaulttotheParameterSource

AddthebelowANDconditiontoDetailQuery

AND@WHERE:PARAM:XML:STRING:/data/prjid/@value@!='APT_CUST_5142570'

• ClicktheMenulinkagain.

LetRegobeyourguide.

33

DrilldownPortlets:PortletPage(s)

ClickonProjectName

ResourceNamesappearhere

• CASE#2:PlacingtheSummaryportletondifferentportletpage.

LetRegobeyourguide.

34

DrilldownPortlets:PortletPage(s)

TheadditionalANDconditionisoptional.

AND@WHERE:PARAM:XML:STRING:/data/prjid/@value@!='APT_CUST_5142570

Optional

AddthetestPageaslinktoMenu

LetRegobeyourguide.

35

DrilldownPortlets:PortletPage(s)

ClickonProjectName ResourceNames

appearhere

• RegoXchange hassomeEXCELLENTportletsoutthere!!!• TakeAdvantage,LearnJ

• AllocationCompliancePieChartDrilldown• ProjectChangeRequestcountw/Drilldown• ProjectCountbyStagew/Drilldown• ProjectsbyStatusIndicator- Piew/Drilldown• MilestoneTaskDependency• Actuals/ETC/AllocationsperResource• CapacityGraph• Manymany more!!!!!!

LetRegobeyourguide.

36

RegoXchange PortletReferences

LetRegobeyourguide.

Questions?

InstructionsforPMIcredits• Accessyouraccountatpmi.org• ClickonCertification• ClickonMaintainMyCertification• ScrolldowntoReportPDU’s• ClickonCourseTraining(orotherappropriatecategory)• Enter Rego Consulting• EnterActivity- EnterNameofCourse• Enter Description• EnterDateStarted• Enter DateCompleted• ProvideContactPersonNameofPersontoContact• ProvideContactE-MailE-MailofPersontoContact• EnterNumberofPDU’sClaimed(1PDUpercoursehour)• ClickontheIagreethisclaimisaccuratebox• ClickSubmitbutton

LetRegobeyourguide.

38

ThankYouForAttendingregoUniversity

Phone888.813.0444

[email protected]

Websitewww.regouniversity.com

Letusknowhowwecanimprove!Don’tforgettofillouttheclasssurvey.