SlideShare une entreprise Scribd logo
1  sur  39
How to Build Maintainable and
Testable Custom SharePoint
Components
#SPSBE24
Edin Kapić
April 26th, 2014
Thanks to our sponsors!
Gold
Silver
Beezy
Catalonian
SharePoint User Group
sug.cat
Ik vraag me af of
dit bier compatibel
is met SharePint
@ekapic
www.edinkapic.com
Edin Kapić
SharePoint code should be...
Deployment structure
Code structure
Source code management
Unit testing SharePoint
Agenda for today
Maintainable
Testable
Deployment structure
Monolithic WSP
Simpler Retraction of one WSP
removes shared libraries
from BIN/GAC
Only one version path
for components
Not granular enough
MySolution.wsp
Shared WSP + Feature WSPs
Functionality can be
separately versioned
and managed
Retracting one
functionality doesn’t
break shared libraries
More complex
Limited reusability
MySolution.Specific1.wsp
MySolution.Common.wsp
MySolution.Specific2.wsp
Shared WSP + Feature WSPs
Framework + Shared + Feature
WSPsCommon SharePoint
code can be versioned
separately
More control over code
reuse and management
over multiple solutions
Even more complex
MySolution1.Specific1.wsp
MySolution1.Common.wsp
MySolution1.Specific2.wsp
MyFramework.wsp
MySolution2.Specific1.wsp
MySolution2.Common.wsp
MySolution2.Specific2.wsp
Framework + Shared + Feature
WSPs
Custom services
Code structure
SharePoint project only
SharePoint + Library project
SharePoint + Multiple library projects
Multiple solutions
Demo: Simple to
Complex
Source code management
 •
Source code management
 •
“The Truth”
Developer 1
Developer 2
Developer 3
Developer 1
Developer 2
Build Server
Corporate
Repository
Branching
Single release branch
Two branches (dev + release)
Feature branches
Unit tests
Testing levels
Depends on abstractions
Separates concerns
Inversion of Control (IoC)
Dependency Injection (DI)
Repository pattern
Service Locator pattern
MVP/MVC
Testing-friendly code
Demo: Adding unit
testing
Testing strategies
coordinating code
concrete repositories
(the ones that hit SharePoint or a
database)
CUT
SharePoint “quirks” with unit testing
Maintainable, testable SharePoint
Dank jullie wel!
Merci beaucoup!
@ekapic
www.edinkapic.com

Contenu connexe

Tendances

WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and OptimizedWSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and OptimizedWSO2
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationKasun Indrasiri
 
Mura vs Wordpress
Mura vs WordpressMura vs Wordpress
Mura vs WordpressRonnie Duke
 
SparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilitySparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilityBatista Harahap
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform WSO2
 
Where are we going DNNCon Keynote
Where are we going   DNNCon KeynoteWhere are we going   DNNCon Keynote
Where are we going DNNCon KeynoteJoe Brinkman
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitBizTalk360
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Jose Luis Soria
 
Monyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap updateMonyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap updateVeer Abheek Singh Manhas
 
iOS Project modularisation
iOS Project modularisationiOS Project modularisation
iOS Project modularisationJianbin LIN
 
Em presentation victor herman
Em presentation victor hermanEm presentation victor herman
Em presentation victor hermanVictor Herman
 
Optimize for speed by Martyn Birch
Optimize for speed by Martyn BirchOptimize for speed by Martyn Birch
Optimize for speed by Martyn BirchFrosmo
 
Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14Voxeo Corp
 

Tendances (15)

WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and OptimizedWSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
Mura vs Wordpress
Mura vs WordpressMura vs Wordpress
Mura vs Wordpress
 
SparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilitySparxUp - Growth VS Scalability
SparxUp - Growth VS Scalability
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform
 
Where are we going DNNCon Keynote
Where are we going   DNNCon KeynoteWhere are we going   DNNCon Keynote
Where are we going DNNCon Keynote
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB Toolkit
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO
 
Monyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap updateMonyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap update
 
Cmsms
CmsmsCmsms
Cmsms
 
iOS Project modularisation
iOS Project modularisationiOS Project modularisation
iOS Project modularisation
 
Em presentation victor herman
Em presentation victor hermanEm presentation victor herman
Em presentation victor herman
 
Optimize for speed by Martyn Birch
Optimize for speed by Martyn BirchOptimize for speed by Martyn Birch
Optimize for speed by Martyn Birch
 
Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14
 
To SPA or not to SPA
To SPA or not to SPATo SPA or not to SPA
To SPA or not to SPA
 

En vedette

BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!Edin Kapic
 
Social Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World ExperiencesSocial Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World ExperiencesEdin Kapic
 
20 security
20 security20 security
20 securityabiy2004
 
[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitungd.velop international
 
[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitungd.velop international
 
[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...
[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...
[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...d.velop international
 
[ecspw2013] Session Executive 02: ecspand Vertragsmanagement
[ecspw2013] Session Executive 02: ecspand Vertragsmanagement[ecspw2013] Session Executive 02: ecspand Vertragsmanagement
[ecspw2013] Session Executive 02: ecspand Vertragsmanagementd.velop international
 
[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...
[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...
[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...d.velop international
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises DevelopmentEdin Kapic
 
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
[ecspw2013] Session Sales 02: ecspand Vertragsmanagementd.velop international
 

En vedette (10)

BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!BcnDevCon13 - No Designer? No Problem!
BcnDevCon13 - No Designer? No Problem!
 
Social Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World ExperiencesSocial Business Value Demystified: Real-World Experiences
Social Business Value Demystified: Real-World Experiences
 
20 security
20 security20 security
20 security
 
[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Executive 04: ecspand Eingangsrechnungsverarbeitung
 
[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung
[ecspw2013] Session Sales 04: ecspand Eingangsrechnungsverarbeitung
 
[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...
[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...
[ecspw2013] Session Executive 01: ecspand 3.0 - Vorgangsbearbeitung für den S...
 
[ecspw2013] Session Executive 02: ecspand Vertragsmanagement
[ecspw2013] Session Executive 02: ecspand Vertragsmanagement[ecspw2013] Session Executive 02: ecspand Vertragsmanagement
[ecspw2013] Session Executive 02: ecspand Vertragsmanagement
 
[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...
[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...
[ecspw2013] Session Sales 01: ecspand 3.0 - Vorgangsbearbeitung für den Share...
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
 
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
 

Similaire à Maintainable Testable SharePoint Components SPSBE 2014

Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost WSO2
 
Why Does Modular Middleware Matters
Why Does Modular Middleware MattersWhy Does Modular Middleware Matters
Why Does Modular Middleware MattersWSO2
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & DevelopmentJonathan Schultz
 
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...mfrancis
 
Building a Modular Server Platform with OSGi
Building a Modular Server Platform with OSGiBuilding a Modular Server Platform with OSGi
Building a Modular Server Platform with OSGiDileepa Jayakody
 
Building a server platform with os gi
Building a server platform with os giBuilding a server platform with os gi
Building a server platform with os giDileepa Jayakody
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareAlfresco Software
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010Phil Pursglove
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010IrishDev.com
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration Kasun Indrasiri
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytesPhil Pursglove
 
Dashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataDashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataInfluxData
 
SharePoint 2010: What's New For Developers
SharePoint 2010: What's New For DevelopersSharePoint 2010: What's New For Developers
SharePoint 2010: What's New For Developersimason Inc.
 
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...aOS Community
 
aOS Monaco - SPFx deployment
aOS Monaco - SPFx deploymentaOS Monaco - SPFx deployment
aOS Monaco - SPFx deploymentYannick Borghmans
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgePhil Pursglove
 
SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGEd Musters
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGEd Musters
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityGraham Charters
 

Similaire à Maintainable Testable SharePoint Components SPSBE 2014 (20)

Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
Why Does Modular Middleware Matters
Why Does Modular Middleware MattersWhy Does Modular Middleware Matters
Why Does Modular Middleware Matters
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & Development
 
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
Building a Modular Server Platform with OSGi - Harshana Eranga Martin, Dileep...
 
Building a Modular Server Platform with OSGi
Building a Modular Server Platform with OSGiBuilding a Modular Server Platform with OSGi
Building a Modular Server Platform with OSGi
 
Building a server platform with os gi
Building a server platform with os giBuilding a server platform with os gi
Building a server platform with os gi
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in Share
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
Dashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataDashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxData
 
SharePoint 2010: What's New For Developers
SharePoint 2010: What's New For DevelopersSharePoint 2010: What's New For Developers
SharePoint 2010: What's New For Developers
 
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
 
aOS Monaco - SPFx deployment
aOS Monaco - SPFx deploymentaOS Monaco - SPFx deployment
aOS Monaco - SPFx deployment
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
 
SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUG
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUG
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 

Plus de Edin Kapic

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentEdin Kapic
 
Extending Authentication and Authorization
Extending Authentication and AuthorizationExtending Authentication and Authorization
Extending Authentication and AuthorizationEdin Kapic
 
Rx la joya oculta de Net
Rx la joya oculta de NetRx la joya oculta de Net
Rx la joya oculta de NetEdin Kapic
 
ESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationEdin Kapic
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleEdin Kapic
 
Personal Branding for Developers
Personal Branding for DevelopersPersonal Branding for Developers
Personal Branding for DevelopersEdin Kapic
 
ESPC14 Social Business Value Demystified
ESPC14 Social Business Value DemystifiedESPC14 Social Business Value Demystified
ESPC14 Social Business Value DemystifiedEdin Kapic
 
MVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human BehaviourMVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human BehaviourEdin Kapic
 
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 AppSPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 AppEdin Kapic
 
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 App7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 AppEdin Kapic
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSEdin Kapic
 
BcnDevCon12 - CQRS explicado a mi compañero arquitecto
BcnDevCon12 - CQRS explicado a mi compañero arquitectoBcnDevCon12 - CQRS explicado a mi compañero arquitecto
BcnDevCon12 - CQRS explicado a mi compañero arquitectoEdin Kapic
 
Modelos de madurez de SharePoint
Modelos de madurez de SharePointModelos de madurez de SharePoint
Modelos de madurez de SharePointEdin Kapic
 
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)Edin Kapic
 
SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012Edin Kapic
 
JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#Edin Kapic
 
CatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePointCatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePointEdin Kapic
 
Universidad de La Habana - SharePoint, Listas y XSLT
Universidad de La Habana  - SharePoint, Listas y XSLTUniversidad de La Habana  - SharePoint, Listas y XSLT
Universidad de La Habana - SharePoint, Listas y XSLTEdin Kapic
 
SharePoint kao razvojna platforma za ASP.NET developere
SharePoint kao razvojna platforma za ASP.NET developereSharePoint kao razvojna platforma za ASP.NET developere
SharePoint kao razvojna platforma za ASP.NET developereEdin Kapic
 

Plus de Edin Kapic (19)

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises Development
 
Extending Authentication and Authorization
Extending Authentication and AuthorizationExtending Authentication and Authorization
Extending Authentication and Authorization
 
Rx la joya oculta de Net
Rx la joya oculta de NetRx la joya oculta de Net
Rx la joya oculta de Net
 
ESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and Authorization
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-Style
 
Personal Branding for Developers
Personal Branding for DevelopersPersonal Branding for Developers
Personal Branding for Developers
 
ESPC14 Social Business Value Demystified
ESPC14 Social Business Value DemystifiedESPC14 Social Business Value Demystified
ESPC14 Social Business Value Demystified
 
MVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human BehaviourMVP Open Day 2014 - Hacking Human Behaviour
MVP Open Day 2014 - Hacking Human Behaviour
 
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 AppSPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
 
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 App7 Key Things for Building a Highly-Scalable SharePoint 2013 App
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMS
 
BcnDevCon12 - CQRS explicado a mi compañero arquitecto
BcnDevCon12 - CQRS explicado a mi compañero arquitectoBcnDevCon12 - CQRS explicado a mi compañero arquitecto
BcnDevCon12 - CQRS explicado a mi compañero arquitecto
 
Modelos de madurez de SharePoint
Modelos de madurez de SharePointModelos de madurez de SharePoint
Modelos de madurez de SharePoint
 
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
 
SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012SUG.CAT First Monday Noviembre 2012
SUG.CAT First Monday Noviembre 2012
 
JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#JavaScript per a desenvolupadors de C#
JavaScript per a desenvolupadors de C#
 
CatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePointCatDotNet - Farmville para SharePoint
CatDotNet - Farmville para SharePoint
 
Universidad de La Habana - SharePoint, Listas y XSLT
Universidad de La Habana  - SharePoint, Listas y XSLTUniversidad de La Habana  - SharePoint, Listas y XSLT
Universidad de La Habana - SharePoint, Listas y XSLT
 
SharePoint kao razvojna platforma za ASP.NET developere
SharePoint kao razvojna platforma za ASP.NET developereSharePoint kao razvojna platforma za ASP.NET developere
SharePoint kao razvojna platforma za ASP.NET developere
 

Dernier

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Dernier (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Maintainable Testable SharePoint Components SPSBE 2014

Notes de l'éditeur

  1. Template may not be modified Twitter hashtag: #spsbe for all sessions
  2. How Beezybranchesaredone