Creating sustainable solutions is always daunting, whether you are a single developer or working as a member in a large team. Every type of project requires a specific approach, there are no silver bullets. Still, there are some considerations you should make with every new SharePoint development project to ensure proper developer workflow and the delivery of maintainable solutions. In this session we will look at several tools and topics around SharePoint 2013, the different solution types and Application Lifecycle Management and how you can use them to enhance your development projects.
Het creëren van duurzame oplossingen is altijd een uitdaging. Of u nu alleen werkt of onderdeel bent van een groot ontwikkelteam. Elk type project vereist een specifieke aanpak, er zijn geen ‘silver bullets’. Toch zijn er een aantal overwegingen die u moet maken bij ieder SharePoint ontwikkelingsproject om voor een goede developer workflow en de levering van onderhoudbare oplossingen te zorgen. Yuri Burger heeft een artikel geschreven waarin gekeken wordt naar verschillende tools en onderwerpen rondom SharePoint 2013, de verschillende soorten oplossingen en Application Lifecycle Management en hoe u dit kunt gebruiken om uw projecten te verbeteren.
5. “Het IT landschap verandert snel.
Als we het nu goed doen, zijn we
op de toekomst voorbereid.”
“Mijn ontwikkelaars kiezen allemaal
voor een eigen aanpak. Ik heb het
gevoel de controle te verliezen.”
“Microsoft kiest voor Apps, maar wij
zijn er met ons product nog
helemaal niet klaar voor!”
9. Duurzaam VS
Houdbaar
Houdbaarheid is de eigenschap veranderingen te
weerstaan.
Duurzaamheid is de eigenschap veranderingen te
omarmen door vernieuwing, onderhoud en
verbeteringen.
13. Solution Types in detail
• On Premise Intranet
• Timer Jobs, Application Pages, Service Apps
Full Trust
• Deprecated, but supported in SP2013
• Intranet artefacts e.g.
Sandbox
• No server side SharePoint code
• Isolation (App Web, Hosted)
App
15. Full Trust Solutions
• Solution Framework geïntroduceerd in WSS v3
(MOSS 2007)
• Ontworpen voor on-premise (Intranet) deployments
• Niet bedoeld voor hosted en/ of multi tenant
scenario's
• Vandaag: kan een blokkade vormen voor een klant
om naar de cloud te gaan
16. Sandbox Solutions
• Sandbox geïntroduceerd in SharePoint 2010
• Geen Full Trust meer (Full Trust proxies waren
beschikbaar voor on-premise)
• Ontworpen voor hosted en/ of multi tenant scenario's
• Vandaag: deprecated. Maar nog beschikbaar on-
premise en in SharePoint Online (alle abonnementen)
17. Apps
• Geïntroduceerd in SharePoint 2013
• Geen Full Trust meer (alweer)
• Focus op SharePoint Online en Office 365
• Vandaag: v1.0. Niet perfect en mensen zoeken naar
workarounds voor veelvoorkomende scenario's.
18. App deployment opties
•Client side code (HTML, CSS, JavaScript)
•SharePoint Workflow (via JSOM)
•Data opgeslagen in SharePoint Lists of via REST
SharePoint
Hosted
•Windows Azure / IIS + ASP.Net / anders
•Client Object Model, REST
•Data opgeslagen in SQL Azure / anders
Provider Hosted
•SharePoint Online + Windows Azure (Lite)
•Client Object Model, REST
•Data opgeslagen in SQL Azure
Auto Hosted
19. Beschikbaarheid online
Developer features O365 Small
Business
O365 Midsize
Business
O365 Enterprise E*
O365 Education A*
O365 Government G*
App Deployment: Autohosted Apps Yes Yes Yes
App Deployment: Cloud-Hosted Apps Yes Yes Yes
App Deployment: SharePoint-Hosted
Apps Yes Yes Yes
Full-Trust Solutions No No No
REST API Yes Yes Yes
Sandboxed Solutions Yes Yes Yes
21. Solution Type vragen
•Ondersteunen we SharePoint Online?
•Compatibel met het App Model?
•Anonymous/ list access?
•Gaat het alleen om artifacts?
22. Solution Type vragen (cont.)
•HTML, CSS, JS en SharePoint lijsten? Of externe
data d.m.v. REST?
•Custom workflow, scheduled tasks (bijv.Timer
Jobs), remote/app event receivers?
•Verkoop via de Microsoft Store?
29. Mobiel gebruik internet
(Bron: ComScore 2013)
Belgie
Frankrijk
Nederland
Duitsland
Spanje
Noorwegen
Zwitserland
Rusland
Ierland
UK
Sum of PC
Sum of Mobiel
Sum of Tablet
Sum of Anders
24%
5,2%
91,9%
30. Responsive Design
•20+ bekende schermformaten (view ports)
•Mobiel internet loopt in op Desktop gebruik
•Responsive UI design maakt Device Dependent
User Experience mogelijk vanaf 1 HTML
codebase
31. HTML Frameworks
• Bieden een gebruiksklaar Responsive Web (HTML)
Framework
• Gebaseerd op een grid systeem met kolommen en
rijen
• CSS voor de positionering
• Voorgebakken CSS classes en media queries voor
veelvoorkomende scenario’s
• Documentatie en voorbeelden
34. Demo: stappen
1.Maak een kopie van oslo.html master page
2.Voeg het Amazium framework toe
3.Voeg een een referentie toe voor Amazium
CSS
4.Herstel wat kapot gaat door de Amazium
CSS reset
36. Waarom Dynamic HTML?
• HTML en applicatie logica ontkoppeld
• Responsive user interfaces
• Onderhoudbare code
37. JS Frameworks
• Declarative bindings
• Dependency tracking
• Ondersteuning voor het gebruik van design
patterns (MV* style programming)
• Unit Testing
38.
39. Demo: Dynamic HTML
• Simpele SharePoint App: toon afbeeldingen uit een
lijst (Picture Library)
• Twee versie’s: 1 zonder “Dynamic HTML” en 1 versie
gebaseerd op KnockOutJS
• Dezelfde functionaliteit, dezelfde structuur, hetzelfde
“resultaat”
• Maar met een andere aanpak!
43. Twee versies
Versie 1
• HTML direct gekoppeld
vanuit de app logica
• Geen gebruik van design
patterns
Versie 2
• HTML “databound” met
KnockOut JS
• Gebaseerd op MVVM
44. Demo: stappen
1. Voeg KnockOut JS toe aan je solution (Install-
Package KnockOutJS)
2. Voeg script referentie toe voor KnockOut
3. Setup HTML structuur (your View)
4. Maak het View Model
5. Activeer de KnockOut binding
48. Application Lifecycle
Management
Application Lifecycle Management (ALM) is a continuous
process of managing the life of an application through
governance, development and maintenance. ALM is the
marriage of business management to software
engineering made possible by tools that facilitate and
integrate requirements management, architecture, coding,
testing, tracking, and release management.
50. SharePoint 2013 App Model
•SharePoint/ Office Apps zijn gemaakt voor
Continuous Improvement:
• Continue feedback door Store Feedback en Ratings
• Focus op kwaliteit
• Hoge update frequency
53. Team Foundation Server
Visual Studio Online Basic and Pro
• Microsoft’s Cloud Offering voor TFS
• Free <= 5 users or paid subscription (Pro)
Team Foundation Server Express
• On Premise
• Free <= 5 users
Team Foundation Server
• On Premise of hosted (3rd party)
• Licensing: Server + CAL
54. Take away
Start Stop Continue
Duurzaam ontwikkelen Full Trust Solutions TFS voor versiebeheer
SharePoint Apps Sandbox Solutions Mobiele oplossingen
Dynamic HTML Houdbare oplossingen Quality Management
Frameworks Device Specifieke MP Trends
Feedback management Object Model JS voor next gen apps
55. About Delta-N
Microsoft Partner
Delta-N BV Volg ons:
Laan van Waalhaven 450 Twitter: https://twitter.com/DeltaNBV
2497 GR Den Haag Facebook: www.facebook.com/pages/Delta-N-BV
085 – 487 52 00 Blogs: www.delta-n.nl/blogs-medewerkers
info@delta-n.nl Linkedin: www.linkedin.com/company/delta-n
www.delta-n.nl Slideshare: www.slideshare.net/deltanbv