SlideShare a Scribd company logo
1 of 28
Download to read offline
BUILDING CUSTOM 
SECTIONS IN UMBRACO 
THE DIFFERENCES BETWEEN V6 AND V7 
4F1 F* ./ )*-#.F¥F´2* ut
WHY USE CUSTOM SECTIONS 
0./*(F. /$*).F- F$ 'F2# )F4*0F2)/F4*0-F $/*-.F/*F()  
¨ 3/ -)'©F/F$)F/# F(-*F )
TECHNOLOGY 
# F($)F$!! - ) F$)F0$'$)F0./*(F. /$*).F /2  )FyF) 
zF$.F/# F/ #)*'*4
TECHNOLOGY 
UMBRACO 6 AND EARLIER 
‡F !*-(. 
‡F
 
)0'-
FF‡F +$
TECHNOLOGY 
UMBRACO 7 
)0'-
FF‡F +$ 
‡F
 
‡F !*-(. 
 /$*).F0$'F!*-F1yF.#*0'F2*-F$)F1zF2$/#F.*( F($)*-F	 
/2 $)‡
CREATING A CUSTOM SECTION 
- /$)FF0./*(F. /$*)F$.F'(*./F$ )/$'F$)FyFFz 
- / FF'.. 
	(+' ( )/Fumbraco.interfaces.IApplication 
 *-/ F2$/# 
umbraco.businesslogic.ApplicationAttribute 
[Application(duug-customers, Customers, icon-people, 15)] 
public class Section: IApplication 
{ 
}
CREATING A CUSTOM TREE 
F/-  F+-*1$ .FF)1$/$*)F!*-F4*0-F¨ 3/ -)'©F/ 
# F.*0- F*!F/# F/F)F F)4/#$) 
F. /$*)F)F#1 F(0'/$+' F/-  .
CREATING A CUSTOM TREE 
IN UMBRACO 6 
- / FF'.. 
	)# -$/F!-*(Fumbraco.cms.presentation.Trees.BaseTree 
 *-/ F'..F2$/#Fumbraco.businesslogic.TreeAttribute
CREATING A CUSTOM TREE 
IN UMBRACO 6 
[Tree(duugcustomers, duugcustomerstree, Customers)] 
public class CustomerTree : BaseTree { 
public CustomerTree(string application) 
: base(application) 
{ 
} 
public override void RenderJS(ref StringBuilder Javascript) 
{ 
// render javascript for tree 
} 
public override void Render(ref XmlTree tree) 
{ 
// render tree items 
} 
protected override void CreateRootNode(ref XmlTreeNode rootNode) 
{ 
// create root node of tree 
} 
}
CREATING A CUSTOM TREE 
IN UMBRACO 7 
- / FF'..F¨'..F)( F.0!!$3 F2$/#F*)/-*'' -© 
	)# -$/F!-*(FUmbraco.Web.Trees.TreeController 
 *-/ F'..F2$/#Fumbraco.businesslogic.TreeAttribute 
 *-/ F'..F2$/# 
Umbraco.Web.Mvc.PluginControllerAttribute
CREATING A CUSTOM TREE 
IN UMBRACO 7 
[Tree(duug-customers, duug-customers-tree, Customers)] 
[PluginController(DUUG)] 
public class CustomerTreeController : TreeController { 
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings) 
{ 
} 
protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings) 
{ 
} 
}
TALK IS CHEAP. SHOW 
ME THE CODE.
$)0.F*-1'.
EDITING YOUR DATA 
*2F/#/F2 F#1 F- / F*0-F/-  F2 F2)/F/# F $/*-.F/*F F'  
/*F $/F/# F/ 
	)F(-*FyF2 F2$''F- / FF !*-(F+  
	)F(-*FzF2 F2$''F- / FF)0'-F1$ 2F¨+'$)F#/('Fá 
)0'-F*)/-*'' -©
EDITING YOUR DATA 
IN UMBRACO 6 
 /F/# F/$*)F*!F4*0-F/-  F)* F¨%.F!0)/$*)© 
	)F ) -
F( /#*F4*0F)  F- / F/# F!0)/$*) 
- / F4*0-F $/F2 !*-( 
. Fumbraco.uicontrolsF¨/1$ 2ˆF+) .ˆF+-*+ -/4+) '.© 
/*F  +F'**F)F!  'F*!F/# F ) 
'$/ F$)+0/F2$/#F‡F1'$/$*)F*)/-*'.
EDITING YOUR DATA 
IN UMBRACO 7 
 /F/# F-*0/ F!*-F4*0-F/-  F)* F¨$!F)   © 
- / F4*0-F $/*-F1$ 2 
- / F4*0-F $/*-F)0'-F*)/-*'' - 
- / ¥0+/ F+ F()$! ./ 
. F$- /$1 .F/*F  +F'**F)F!  'F*!F/# F ) 
¨0(ž+) ˆF0(ž/ˆ‡‡‡© 
'$/ F$)+0/F2$/#F)0'-F$- /$1 .
EDITING YOUR DATA 
IN UMBRACO 7 : ANGULAR EDITOR ROUTES 
# F($)F)0'-F-*0/ F/*F'*F $/*-.F$. 
/:section/:tree/:method/:id 
(-*F2$''F'*F$)F/# F1$ 2F!*-F/#$.F-*0/ F. F*) 
*)1 )/$*). 
$ 2.F2$''F F'* F!-*(‰ 
/App_Plugins/{mypackage}/BackOffice/{treetype}/{method}.html 
 1 '*+ -.F)F.+ $!4FF0./*(FRoutePathF!*-F)4F/-  F)*  
2#$#F2$''F0. F0(-*F/*F-*0/ F/*F/#/F.+ $!$F'*/$*)‡
EDITING YOUR DATA 
IN UMBRACO 7 : PACKAGE MANIFEST 
# F+ ‡()$! ./F$.FF%.*)F!$' F/#/F/ ''.F(-*F2#/F'$ )/ 
.$ F- .*0- .F/*F'*F2# )F/# F0./*(F/-  F$.F'*  
{ 
javascript : [ 
'~/App_Plugins/DUUG/scripts/customer.edit.controller.js', 
'~/App_Plugins/DUUG/scripts/customer.create.controller.js', 
'~/App_Plugins/DUUG/scripts/customer.delete.controller.js', 
'~/App_Plugins/DUUG/scripts/customer.resource.js' 
] 
}
REUSING EXISTING EDITORS 
	)F(-*FyF4*0F)F#$ 1 F/#$.F$)F. 1 -'F24.ˆF0/ 
''F!  'F'$ FF# 
	)F(-*FzF4*0F)F0. F/# Fumb-editorF$- /$1
TALK IS CHEAP. SHOW 
ME THE CODE.
$)0.F*-1'.
CREATING MENUS  DIALOGS 

 )0F$/ (.F++ -F$)F/# F*)/ 3/F( )0F*!F4*0-F/-   
)*  
#F)* F/4+ F)F#1 FF$!! - )/F*)/ 3/F( )0 
'$$)F*)FF( )0F$/ (F)F*+ )FF$'*
CREATING MENUS  DIALOGS 
IN UMBRACO 6 
F4*0-F( )0F$/ (F/*F4*0-F/-  )*  
customerNode.Menu.Add(ActionDelete.Instance); 
 !0'/F/$*).F)F F!*0)F$) 
umbraco.BusinessLogic.ActionsF)( .+  
0./*(F/$*).F)F F- / F4F$(+' ( )/$) 
umbraco.interfaces.IAction
CREATING MENUS  DIALOGS 
IN UMBRACO 6 
- / FF0. -F*)/-*'F!*-F4*0-F- / F$'* 
- / FF'..F/#/F$(+' ( )/. 
umbraco.interfaces.ITaskReturnUrl 
 $./ -F4*0-F$'*.FF/..F$) 
/umbraco/config/create/ui.xml 
nodetype alias=duugcustomerstree 
headerCustomer/header 
usercontrol/../App_Plugins/duugV6/CustomerCreateDialog.ascx/usercontrol 
tasks 
create assembly=Duug.CustomSectionV6.Core type=CustomerSection.CustomerTasks 
/create/tasks 
/nodetype
CREATING MENUS  DIALOGS 
IN UMBRACO 7 
F4*0-F( )0F$/ (F/*F4*0-F/-  )* F$)F/# FGetMenuForNode 
( /#* 
# F'$.F*!F4*0-F( )0F)* F2$''F'.*F F/# F)0'-F-*0/  
/$*) 
- / FF1$ 2F)F)0'-F*)/-*'' -F!*-F/# F$'* 
$'*.F2$''F F'* F!-*( 
/App_Plugins/{mypackage}/BackOffice/{treetype}/{action}.html
TALK IS CHEAP. SHOW 
ME THE CODE.
$)0.F*-1'.
WRAP UP 
(-*FzF0. .F*)1 )/$*).F*1 -F* ¥*)!$

More Related Content

What's hot

Webinar: Online Fundraising
Webinar: Online FundraisingWebinar: Online Fundraising
Webinar: Online Fundraising
ifPeople
 
Design thinking ideate - KAbbott
Design thinking ideate - KAbbottDesign thinking ideate - KAbbott
Design thinking ideate - KAbbott
kimbothyslice
 
หนึ่งใจให้ธรรมะ
หนึ่งใจให้ธรรมะหนึ่งใจให้ธรรมะ
หนึ่งใจให้ธรรมะ
Tongsamut vorasan
 

What's hot (11)

Algoritmo divisao
Algoritmo divisaoAlgoritmo divisao
Algoritmo divisao
 
Seasion7
Seasion7Seasion7
Seasion7
 
Somerville, Ma Arts at the Armory building inaccessible- state complaint Mar...
Somerville, Ma Arts at the Armory building inaccessible-  state complaint Mar...Somerville, Ma Arts at the Armory building inaccessible-  state complaint Mar...
Somerville, Ma Arts at the Armory building inaccessible- state complaint Mar...
 
Webinar: Online Fundraising
Webinar: Online FundraisingWebinar: Online Fundraising
Webinar: Online Fundraising
 
clase visual basic
clase visual basicclase visual basic
clase visual basic
 
Design thinking ideate - KAbbott
Design thinking ideate - KAbbottDesign thinking ideate - KAbbott
Design thinking ideate - KAbbott
 
Anna bhaaryato
Anna bhaaryatoAnna bhaaryato
Anna bhaaryato
 
RACC -Comparativa Bicis Publicas full_v120625_def
RACC -Comparativa Bicis Publicas full_v120625_defRACC -Comparativa Bicis Publicas full_v120625_def
RACC -Comparativa Bicis Publicas full_v120625_def
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLE
 
หนึ่งใจให้ธรรมะ
หนึ่งใจให้ธรรมะหนึ่งใจให้ธรรมะ
หนึ่งใจให้ธรรมะ
 
Using MySQL in a web-scale environment
Using MySQL in a web-scale environmentUsing MySQL in a web-scale environment
Using MySQL in a web-scale environment
 

Similar to DUUG meetup Colours - Custom sections v6 vs v7

Diy retailing a glimpse of the future - steve collinge
Diy retailing   a glimpse of the future - steve collingeDiy retailing   a glimpse of the future - steve collinge
Diy retailing a glimpse of the future - steve collinge
Insight Retail Group Ltd
 
Atraer mujeres-modernas-vic-mystic-pdf
Atraer mujeres-modernas-vic-mystic-pdfAtraer mujeres-modernas-vic-mystic-pdf
Atraer mujeres-modernas-vic-mystic-pdf
MARIO RAMIREZ
 
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សាពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
Vantha Kago
 
Preliminary DBA Thesis - Basic Social Math
Preliminary DBA Thesis - Basic Social MathPreliminary DBA Thesis - Basic Social Math
Preliminary DBA Thesis - Basic Social Math
Jared Lee Hanson
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid list
Nur Khoiri
 

Similar to DUUG meetup Colours - Custom sections v6 vs v7 (20)

DUUG meetup Colours - Typescript
DUUG meetup Colours - TypescriptDUUG meetup Colours - Typescript
DUUG meetup Colours - Typescript
 
pdf-road-map.pptx
pdf-road-map.pptxpdf-road-map.pptx
pdf-road-map.pptx
 
Diy retailing a glimpse of the future - steve collinge
Diy retailing   a glimpse of the future - steve collingeDiy retailing   a glimpse of the future - steve collinge
Diy retailing a glimpse of the future - steve collinge
 
Tim Minshall Presentation For Nagano Techno Foundation 2010
Tim Minshall Presentation For Nagano Techno Foundation 2010Tim Minshall Presentation For Nagano Techno Foundation 2010
Tim Minshall Presentation For Nagano Techno Foundation 2010
 
Feedback gulele &shuro meda 2009
Feedback gulele &shuro meda 2009Feedback gulele &shuro meda 2009
Feedback gulele &shuro meda 2009
 
System programs in C language.
System programs in C language.System programs in C language.
System programs in C language.
 
Atraer mujeres-modernas-vic-mystic-pdf
Atraer mujeres-modernas-vic-mystic-pdfAtraer mujeres-modernas-vic-mystic-pdf
Atraer mujeres-modernas-vic-mystic-pdf
 
FULLTEXT01.pdf
FULLTEXT01.pdfFULLTEXT01.pdf
FULLTEXT01.pdf
 
South East Edmonton Industrial Leasing Opportunities 3000- 6000 Square Feet
South East Edmonton Industrial Leasing Opportunities 3000- 6000 Square FeetSouth East Edmonton Industrial Leasing Opportunities 3000- 6000 Square Feet
South East Edmonton Industrial Leasing Opportunities 3000- 6000 Square Feet
 
Program For Parsing2
Program For Parsing2Program For Parsing2
Program For Parsing2
 
BladeCenter Foundation For Cloud Models
BladeCenter Foundation For Cloud ModelsBladeCenter Foundation For Cloud Models
BladeCenter Foundation For Cloud Models
 
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សាពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
 
1 teste 5ano1
1 teste 5ano11 teste 5ano1
1 teste 5ano1
 
Preliminary DBA Thesis - Basic Social Math
Preliminary DBA Thesis - Basic Social MathPreliminary DBA Thesis - Basic Social Math
Preliminary DBA Thesis - Basic Social Math
 
Vampiro -a_mascara_-_compendi
Vampiro  -a_mascara_-_compendiVampiro  -a_mascara_-_compendi
Vampiro -a_mascara_-_compendi
 
The CV you'll have to compile
The CV you'll have to compileThe CV you'll have to compile
The CV you'll have to compile
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid list
 
Java
JavaJava
Java
 
java-introduction.pdf
java-introduction.pdfjava-introduction.pdf
java-introduction.pdf
 
How to Create Your Strategic Plan
How to Create Your Strategic PlanHow to Create Your Strategic Plan
How to Create Your Strategic Plan
 

More from Colours B.V.

SUGNL Colours - Otap & content delivery
SUGNL Colours - Otap & content deliverySUGNL Colours - Otap & content delivery
SUGNL Colours - Otap & content delivery
Colours B.V.
 
SUGNL Colours - Dms developer vs marketeer
SUGNL Colours - Dms developer vs marketeerSUGNL Colours - Dms developer vs marketeer
SUGNL Colours - Dms developer vs marketeer
Colours B.V.
 
SUGNL Colours - Git & branching
SUGNL Colours - Git & branchingSUGNL Colours - Git & branching
SUGNL Colours - Git & branching
Colours B.V.
 
Van een op een, naar veel - Seminar Web, apps, email
Van een op een, naar veel - Seminar Web, apps, emailVan een op een, naar veel - Seminar Web, apps, email
Van een op een, naar veel - Seminar Web, apps, email
Colours B.V.
 
Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?
Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?
Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?
Colours B.V.
 
Ideale ontwikkelaanpak - Seminar Web, apps, email
Ideale ontwikkelaanpak - Seminar Web, apps, emailIdeale ontwikkelaanpak - Seminar Web, apps, email
Ideale ontwikkelaanpak - Seminar Web, apps, email
Colours B.V.
 
Multichannel - Seminar Web, apps,email
Multichannel - Seminar Web, apps,emailMultichannel - Seminar Web, apps,email
Multichannel - Seminar Web, apps,email
Colours B.V.
 

More from Colours B.V. (19)

How-To Sessies: Customer Journeys
How-To Sessies: Customer JourneysHow-To Sessies: Customer Journeys
How-To Sessies: Customer Journeys
 
Webinar - Predicting visitor behavior
Webinar - Predicting visitor behaviorWebinar - Predicting visitor behavior
Webinar - Predicting visitor behavior
 
SUGNL Colours - Otap & content delivery
SUGNL Colours - Otap & content deliverySUGNL Colours - Otap & content delivery
SUGNL Colours - Otap & content delivery
 
SUGNL Colours - Dms developer vs marketeer
SUGNL Colours - Dms developer vs marketeerSUGNL Colours - Dms developer vs marketeer
SUGNL Colours - Dms developer vs marketeer
 
SUGNL Colours - Git & branching
SUGNL Colours - Git & branchingSUGNL Colours - Git & branching
SUGNL Colours - Git & branching
 
Online trends | Gebruikerservaring (Whatsup 12/9/13)
Online trends | Gebruikerservaring (Whatsup 12/9/13)Online trends | Gebruikerservaring (Whatsup 12/9/13)
Online trends | Gebruikerservaring (Whatsup 12/9/13)
 
Van een op een, naar veel - Seminar Web, apps, email
Van een op een, naar veel - Seminar Web, apps, emailVan een op een, naar veel - Seminar Web, apps, email
Van een op een, naar veel - Seminar Web, apps, email
 
Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?
Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?
Klantcase Eneco- Seminar Web, apps, email, hoe nu verder?
 
Ideale ontwikkelaanpak - Seminar Web, apps, email
Ideale ontwikkelaanpak - Seminar Web, apps, emailIdeale ontwikkelaanpak - Seminar Web, apps, email
Ideale ontwikkelaanpak - Seminar Web, apps, email
 
Multichannel - Seminar Web, apps,email
Multichannel - Seminar Web, apps,emailMultichannel - Seminar Web, apps,email
Multichannel - Seminar Web, apps,email
 
Case euromaster - colours voor Dutch Interactive Awards
Case euromaster - colours voor Dutch Interactive AwardsCase euromaster - colours voor Dutch Interactive Awards
Case euromaster - colours voor Dutch Interactive Awards
 
Wat is drupal? - Drupal seminar 20 mei 2010, Colours
Wat is drupal? - Drupal seminar 20 mei 2010, ColoursWat is drupal? - Drupal seminar 20 mei 2010, Colours
Wat is drupal? - Drupal seminar 20 mei 2010, Colours
 
Drupal in 5 vragen - Drupal seminar 20 mei 2010, Colours
Drupal in 5 vragen - Drupal seminar 20 mei 2010, ColoursDrupal in 5 vragen - Drupal seminar 20 mei 2010, Colours
Drupal in 5 vragen - Drupal seminar 20 mei 2010, Colours
 
Drupal & ISES, Drupal seminar 20 mei 2010, Colours
Drupal & ISES, Drupal seminar 20 mei 2010, ColoursDrupal & ISES, Drupal seminar 20 mei 2010, Colours
Drupal & ISES, Drupal seminar 20 mei 2010, Colours
 
Charlotte van dael DDMA Ilounge 9maart2010
Charlotte van dael DDMA Ilounge 9maart2010Charlotte van dael DDMA Ilounge 9maart2010
Charlotte van dael DDMA Ilounge 9maart2010
 
Hyves @ #Socialsucces 2 december 2009
Hyves @ #Socialsucces 2 december 2009Hyves @ #Socialsucces 2 december 2009
Hyves @ #Socialsucces 2 december 2009
 
Usability - Seminar Steeds Betere Website 24 nov 2009
Usability - Seminar Steeds Betere Website 24 nov 2009Usability - Seminar Steeds Betere Website 24 nov 2009
Usability - Seminar Steeds Betere Website 24 nov 2009
 
Verder Magazine van LECTRIC Groep
Verder Magazine van LECTRIC GroepVerder Magazine van LECTRIC Groep
Verder Magazine van LECTRIC Groep
 
Colours Bureaupresentatie
Colours BureaupresentatieColours Bureaupresentatie
Colours Bureaupresentatie
 

Recently uploaded

Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 

Recently uploaded (20)

Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 

DUUG meetup Colours - Custom sections v6 vs v7

  • 1. BUILDING CUSTOM SECTIONS IN UMBRACO THE DIFFERENCES BETWEEN V6 AND V7 4F1 F* ./ )*-#.F¥F´2* ut
  • 2. WHY USE CUSTOM SECTIONS 0./*(F. /$*).F- F$ 'F2# )F4*0F2)/F4*0-F $/*-.F/*F() ¨ 3/ -)'©F/F$)F/# F(-*F )
  • 3. TECHNOLOGY # F($)F$!! - ) F$)F0$'$)F0./*(F. /$*).F /2 )FyF) zF$.F/# F/ #)*'*4
  • 4. TECHNOLOGY UMBRACO 6 AND EARLIER ‡F !*-(. ‡F )0'- FF‡F +$
  • 5. TECHNOLOGY UMBRACO 7 )0'- FF‡F +$ ‡F ‡F !*-(. /$*).F0$'F!*-F1yF.#*0'F2*-F$)F1zF2$/#F.*( F($)*-F /2 $)‡
  • 6. CREATING A CUSTOM SECTION - /$)FF0./*(F. /$*)F$.F'(*./F$ )/$'F$)FyFFz - / FF'.. (+' ( )/Fumbraco.interfaces.IApplication *-/ F2$/# umbraco.businesslogic.ApplicationAttribute [Application(duug-customers, Customers, icon-people, 15)] public class Section: IApplication { }
  • 7. CREATING A CUSTOM TREE F/- F+-*1$ .FF)1$/$*)F!*-F4*0-F¨ 3/ -)'©F/ # F.*0- F*!F/# F/F)F F)4/#$) F. /$*)F)F#1 F(0'/$+' F/- .
  • 8. CREATING A CUSTOM TREE IN UMBRACO 6 - / FF'.. )# -$/F!-*(Fumbraco.cms.presentation.Trees.BaseTree *-/ F'..F2$/#Fumbraco.businesslogic.TreeAttribute
  • 9. CREATING A CUSTOM TREE IN UMBRACO 6 [Tree(duugcustomers, duugcustomerstree, Customers)] public class CustomerTree : BaseTree { public CustomerTree(string application) : base(application) { } public override void RenderJS(ref StringBuilder Javascript) { // render javascript for tree } public override void Render(ref XmlTree tree) { // render tree items } protected override void CreateRootNode(ref XmlTreeNode rootNode) { // create root node of tree } }
  • 10. CREATING A CUSTOM TREE IN UMBRACO 7 - / FF'..F¨'..F)( F.0!!$3 F2$/#F*)/-*'' -© )# -$/F!-*(FUmbraco.Web.Trees.TreeController *-/ F'..F2$/#Fumbraco.businesslogic.TreeAttribute *-/ F'..F2$/# Umbraco.Web.Mvc.PluginControllerAttribute
  • 11. CREATING A CUSTOM TREE IN UMBRACO 7 [Tree(duug-customers, duug-customers-tree, Customers)] [PluginController(DUUG)] public class CustomerTreeController : TreeController { protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings) { } protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings) { } }
  • 12. TALK IS CHEAP. SHOW ME THE CODE.
  • 14. EDITING YOUR DATA *2F/#/F2 F#1 F- / F*0-F/- F2 F2)/F/# F $/*-.F/*F F' /*F $/F/# F/ )F(-*FyF2 F2$''F- / FF !*-(F+ )F(-*FzF2 F2$''F- / FF)0'-F1$ 2F¨+'$)F#/('Fá )0'-F*)/-*'' -©
  • 15. EDITING YOUR DATA IN UMBRACO 6 /F/# F/$*)F*!F4*0-F/- F)* F¨%.F!0)/$*)© )F ) - F( /#*F4*0F) F- / F/# F!0)/$*) - / F4*0-F $/F2 !*-( . Fumbraco.uicontrolsF¨/1$ 2ˆF+) .ˆF+-*+ -/4+) '.© /*F +F'**F)F! 'F*!F/# F ) '$/ F$)+0/F2$/#F‡F1'$/$*)F*)/-*'.
  • 16. EDITING YOUR DATA IN UMBRACO 7 /F/# F-*0/ F!*-F4*0-F/- F)* F¨$!F) © - / F4*0-F $/*-F1$ 2 - / F4*0-F $/*-F)0'-F*)/-*'' - - / ¥0+/ F+ F()$! ./ . F$- /$1 .F/*F +F'**F)F! 'F*!F/# F ) ¨0(ž+) ˆF0(ž/ˆ‡‡‡© '$/ F$)+0/F2$/#F)0'-F$- /$1 .
  • 17. EDITING YOUR DATA IN UMBRACO 7 : ANGULAR EDITOR ROUTES # F($)F)0'-F-*0/ F/*F'*F $/*-.F$. /:section/:tree/:method/:id (-*F2$''F'*F$)F/# F1$ 2F!*-F/#$.F-*0/ F. F*) *)1 )/$*). $ 2.F2$''F F'* F!-*(‰ /App_Plugins/{mypackage}/BackOffice/{treetype}/{method}.html 1 '*+ -.F)F.+ $!4FF0./*(FRoutePathF!*-F)4F/- F)* 2#$#F2$''F0. F0(-*F/*F-*0/ F/*F/#/F.+ $!$F'*/$*)‡
  • 18. EDITING YOUR DATA IN UMBRACO 7 : PACKAGE MANIFEST # F+ ‡()$! ./F$.FF%.*)F!$' F/#/F/ ''.F(-*F2#/F'$ )/ .$ F- .*0- .F/*F'*F2# )F/# F0./*(F/- F$.F'* { javascript : [ '~/App_Plugins/DUUG/scripts/customer.edit.controller.js', '~/App_Plugins/DUUG/scripts/customer.create.controller.js', '~/App_Plugins/DUUG/scripts/customer.delete.controller.js', '~/App_Plugins/DUUG/scripts/customer.resource.js' ] }
  • 19. REUSING EXISTING EDITORS )F(-*FyF4*0F)F#$ 1 F/#$.F$)F. 1 -'F24.ˆF0/ ''F! 'F'$ FF# )F(-*FzF4*0F)F0. F/# Fumb-editorF$- /$1
  • 20. TALK IS CHEAP. SHOW ME THE CODE.
  • 22. CREATING MENUS DIALOGS )0F$/ (.F++ -F$)F/# F*)/ 3/F( )0F*!F4*0-F/- )* #F)* F/4+ F)F#1 FF$!! - )/F*)/ 3/F( )0 '$$)F*)FF( )0F$/ (F)F*+ )FF$'*
  • 23. CREATING MENUS DIALOGS IN UMBRACO 6 F4*0-F( )0F$/ (F/*F4*0-F/- )* customerNode.Menu.Add(ActionDelete.Instance); !0'/F/$*).F)F F!*0)F$) umbraco.BusinessLogic.ActionsF)( .+ 0./*(F/$*).F)F F- / F4F$(+' ( )/$) umbraco.interfaces.IAction
  • 24. CREATING MENUS DIALOGS IN UMBRACO 6 - / FF0. -F*)/-*'F!*-F4*0-F- / F$'* - / FF'..F/#/F$(+' ( )/. umbraco.interfaces.ITaskReturnUrl $./ -F4*0-F$'*.FF/..F$) /umbraco/config/create/ui.xml nodetype alias=duugcustomerstree headerCustomer/header usercontrol/../App_Plugins/duugV6/CustomerCreateDialog.ascx/usercontrol tasks create assembly=Duug.CustomSectionV6.Core type=CustomerSection.CustomerTasks /create/tasks /nodetype
  • 25. CREATING MENUS DIALOGS IN UMBRACO 7 F4*0-F( )0F$/ (F/*F4*0-F/- )* F$)F/# FGetMenuForNode ( /#* # F'$.F*!F4*0-F( )0F)* F2$''F'.*F F/# F)0'-F-*0/ /$*) - / FF1$ 2F)F)0'-F*)/-*'' -F!*-F/# F$'* $'*.F2$''F F'* F!-*( /App_Plugins/{mypackage}/BackOffice/{treetype}/{action}.html
  • 26. TALK IS CHEAP. SHOW ME THE CODE.
  • 28. WRAP UP (-*FzF0. .F*)1 )/$*).F*1 -F* ¥*)!$
  • 29. ..F )F* -*)/ )FF )F* -.F)F2*-F/* /# - .$ -F/*F- 0. F 3$./$)F*(+*) )/. *0F*)Þ/F) F/*F FF)0'-F 3+ -/
  • 31. USEFULL LINKS (-*F*0( )//$*) $(F 4.. ).F'* ) '( $F'* 1$F- ) 'Þ.F'* *0- F* F!*-F/#$.F+- . )//$*)