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

Report of the Export Group on the methodology for the people below the povert...
Report of the Export Group on the methodology for the people below the povert...Report of the Export Group on the methodology for the people below the povert...
Report of the Export Group on the methodology for the people below the povert...People's Archive of Rural India
 
LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6umapst
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEvr1sap
 
Webinar: Online Fundraising
Webinar: Online FundraisingWebinar: Online Fundraising
Webinar: Online FundraisingifPeople
 
sertifikat bhs inggris
sertifikat bhs inggrissertifikat bhs inggris
sertifikat bhs inggrisAnitasari SE
 
Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...
Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...
Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...akasaka aoyama
 
"Internationalisation with PHP and Intl" source code
"Internationalisation with PHP and Intl" source code"Internationalisation with PHP and Intl" source code
"Internationalisation with PHP and Intl" source codeDaniel_Rhodes
 
Caballo de troya de descartes, de antonio hidalgo
Caballo de troya de descartes, de antonio hidalgoCaballo de troya de descartes, de antonio hidalgo
Caballo de troya de descartes, de antonio hidalgoAntonio Hidalgo
 
Image Processing on Delta Lake
Image Processing on Delta LakeImage Processing on Delta Lake
Image Processing on Delta LakeDatabricks
 
Findes der millioner i velfærdsteknologi?
Findes der millioner i velfærdsteknologi?Findes der millioner i velfærdsteknologi?
Findes der millioner i velfærdsteknologi?Lakeside A/S
 
Cysts of the jaw 10
Cysts of the jaw 10Cysts of the jaw 10
Cysts of the jaw 10Hai Trieu
 

What's hot (18)

Anna bhaaryato
Anna bhaaryatoAnna bhaaryato
Anna bhaaryato
 
Report of the Export Group on the methodology for the people below the povert...
Report of the Export Group on the methodology for the people below the povert...Report of the Export Group on the methodology for the people below the povert...
Report of the Export Group on the methodology for the people below the povert...
 
LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6
 
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...
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLE
 
Recetas cocina-cubana
Recetas cocina-cubanaRecetas cocina-cubana
Recetas cocina-cubana
 
Webinar: Online Fundraising
Webinar: Online FundraisingWebinar: Online Fundraising
Webinar: Online Fundraising
 
sertifikat bhs inggris
sertifikat bhs inggrissertifikat bhs inggris
sertifikat bhs inggris
 
Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...
Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...
Alternative Asset Markets - Ilija Murisic - UBS Global Warming Index, UBS Gre...
 
"Internationalisation with PHP and Intl" source code
"Internationalisation with PHP and Intl" source code"Internationalisation with PHP and Intl" source code
"Internationalisation with PHP and Intl" source code
 
Caballo de troya de descartes, de antonio hidalgo
Caballo de troya de descartes, de antonio hidalgoCaballo de troya de descartes, de antonio hidalgo
Caballo de troya de descartes, de antonio hidalgo
 
Image Processing on Delta Lake
Image Processing on Delta LakeImage Processing on Delta Lake
Image Processing on Delta Lake
 
Findes der millioner i velfærdsteknologi?
Findes der millioner i velfærdsteknologi?Findes der millioner i velfærdsteknologi?
Findes der millioner i velfærdsteknologi?
 
CAR Emails 6.7.02 (b)
CAR Emails 6.7.02 (b)CAR Emails 6.7.02 (b)
CAR Emails 6.7.02 (b)
 
Uwp Constitution 1998 Edition
Uwp Constitution 1998 EditionUwp Constitution 1998 Edition
Uwp Constitution 1998 Edition
 
Rate3
Rate3Rate3
Rate3
 
Rate4
Rate4Rate4
Rate4
 
Cysts of the jaw 10
Cysts of the jaw 10Cysts of the jaw 10
Cysts of the jaw 10
 

Viewers also liked

React - the origins, the present and the future
React - the origins, the present and the futureReact - the origins, the present and the future
React - the origins, the present and the futureAlexey Shpakov
 
Driving Traffic to your Website with Paid Advertising - AMA UHD Conference
Driving Traffic to your Website with Paid Advertising - AMA UHD ConferenceDriving Traffic to your Website with Paid Advertising - AMA UHD Conference
Driving Traffic to your Website with Paid Advertising - AMA UHD ConferenceSchipul - The Web Marketing Company
 
Social Media Strategy - Presented to the Louisiana Food Processor's Conference
Social Media Strategy - Presented to the Louisiana Food Processor's ConferenceSocial Media Strategy - Presented to the Louisiana Food Processor's Conference
Social Media Strategy - Presented to the Louisiana Food Processor's ConferenceSchipul - The Web Marketing Company
 
TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...
TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...
TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...Schipul - The Web Marketing Company
 

Viewers also liked (7)

React - the origins, the present and the future
React - the origins, the present and the futureReact - the origins, the present and the future
React - the origins, the present and the future
 
Hands On Drupal: Funny Name, Serious CMS
Hands On Drupal: Funny Name, Serious CMSHands On Drupal: Funny Name, Serious CMS
Hands On Drupal: Funny Name, Serious CMS
 
Driving Traffic to your Website with Paid Advertising - AMA UHD Conference
Driving Traffic to your Website with Paid Advertising - AMA UHD ConferenceDriving Traffic to your Website with Paid Advertising - AMA UHD Conference
Driving Traffic to your Website with Paid Advertising - AMA UHD Conference
 
TACCM 2013 DIY Email Marketing
TACCM 2013 DIY Email MarketingTACCM 2013 DIY Email Marketing
TACCM 2013 DIY Email Marketing
 
Trends in Communication Technology for Associations | ACCE 2013
Trends in Communication Technology for Associations | ACCE 2013Trends in Communication Technology for Associations | ACCE 2013
Trends in Communication Technology for Associations | ACCE 2013
 
Social Media Strategy - Presented to the Louisiana Food Processor's Conference
Social Media Strategy - Presented to the Louisiana Food Processor's ConferenceSocial Media Strategy - Presented to the Louisiana Food Processor's Conference
Social Media Strategy - Presented to the Louisiana Food Processor's Conference
 
TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...
TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...
TACCM 2013 Web Marketing Tool Kit - Texas Association of Community College Ma...
 

Similar to Building custom sections in Umbraco

DUUG meetup Colours - Typescript
DUUG meetup Colours - TypescriptDUUG meetup Colours - Typescript
DUUG meetup Colours - TypescriptColours B.V.
 
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 collingeInsight Retail Group Ltd
 
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 2010Tim Minshall
 
Feedback gulele &shuro meda 2009
Feedback gulele &shuro meda 2009Feedback gulele &shuro meda 2009
Feedback gulele &shuro meda 2009berhanu taye
 
Preliminary DBA Thesis - Basic Social Math
Preliminary DBA Thesis - Basic Social MathPreliminary DBA Thesis - Basic Social Math
Preliminary DBA Thesis - Basic Social MathJared Lee Hanson
 
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...Pascal Neis
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid listNur Khoiri
 
java-introduction.pdf
java-introduction.pdfjava-introduction.pdf
java-introduction.pdfDngTin307322
 
คู่มือส่วนการจัดการระบบSmss
คู่มือส่วนการจัดการระบบSmssคู่มือส่วนการจัดการระบบSmss
คู่มือส่วนการจัดการระบบSmssIct Sahathat Suksa
 
How to Create Your Strategic Plan
How to Create Your Strategic PlanHow to Create Your Strategic Plan
How to Create Your Strategic PlanPJ McDermott
 

Similar to Building custom sections in Umbraco (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.
 
FULLTEXT01.pdf
FULLTEXT01.pdfFULLTEXT01.pdf
FULLTEXT01.pdf
 
Program For Parsing2
Program For Parsing2Program For Parsing2
Program For Parsing2
 
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
 
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
 
How to Create Your Strategic Plan
How to Create Your Strategic PlanHow to Create Your Strategic Plan
How to Create Your Strategic Plan
 
002207866
002207866002207866
002207866
 
T&H Credentials_May 23 (2).pdf
T&H Credentials_May 23 (2).pdfT&H Credentials_May 23 (2).pdf
T&H Credentials_May 23 (2).pdf
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Building custom sections in Umbraco

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