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
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid list
Nur Khoiri
 
Apostila teclado-completa-libre
Apostila teclado-completa-libreApostila teclado-completa-libre
Apostila teclado-completa-libre
Luan Cezar
 

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
 
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
 
1 teste 5ano1
1 teste 5ano11 teste 5ano1
1 teste 5ano1
 
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
 
Ermittlung und Visualisierung von Einsatzgebieten der Polizei, Feuerwehr ode...
Ermittlung und Visualisierung von Einsatzgebieten der Polizei, Feuerwehr ode...Ermittlung und Visualisierung von Einsatzgebieten der Polizei, Feuerwehr ode...
Ermittlung und Visualisierung von Einsatzgebieten der Polizei, Feuerwehr ode...
 
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
 
คู่มือส่วนการจัดการระบบSmss
คู่มือส่วนการจัดการระบบSmssคู่มือส่วนการจัดการระบบSmss
คู่มือส่วนการจัดการระบบSmss
 
002207866
002207866002207866
002207866
 
Curso de teclado(piano)
Curso de teclado(piano)Curso de teclado(piano)
Curso de teclado(piano)
 
Apostila teclado-completa-libre
Apostila teclado-completa-libreApostila teclado-completa-libre
Apostila teclado-completa-libre
 

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

Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
David Celestin
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Hung Le
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
ZurliaSoop
 
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)

Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
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
 
Using AI to boost productivity for developers
Using AI to boost productivity for developersUsing AI to boost productivity for developers
Using AI to boost productivity for developers
 
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait Cityin kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
 
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptxBEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
BEAUTIFUL PLACES TO VISIT IN LESOTHO.pptx
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
 
Ready Set Go Children Sermon about Mark 16:15-20
Ready Set Go Children Sermon about Mark 16:15-20Ready Set Go Children Sermon about Mark 16:15-20
Ready Set Go Children Sermon about Mark 16:15-20
 
History of Morena Moshoeshoe birth death
History of Morena Moshoeshoe birth deathHistory of Morena Moshoeshoe birth death
History of Morena Moshoeshoe birth death
 
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINESBIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.
 
ECOLOGY OF FISHES.pptx full presentation
ECOLOGY OF FISHES.pptx full presentationECOLOGY OF FISHES.pptx full presentation
ECOLOGY OF FISHES.pptx full presentation
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORNLITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
LITTLE ABOUT LESOTHO FROM THE TIME MOSHOESHOE THE FIRST WAS BORN
 
"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR
 
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
 
Call Girls Near The Byke Suraj Plaza Mumbai »¡¡ 07506202331¡¡« R.K. Mumbai
Call Girls Near The Byke Suraj Plaza Mumbai »¡¡ 07506202331¡¡« R.K. MumbaiCall Girls Near The Byke Suraj Plaza Mumbai »¡¡ 07506202331¡¡« R.K. Mumbai
Call Girls Near The Byke Suraj Plaza Mumbai »¡¡ 07506202331¡¡« R.K. Mumbai
 
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
 

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+- . )//$*)