Presentation is loading. Please wait.

Presentation is loading. Please wait.

Directions EMEA Community for Dynamics NAV partners.

Similar presentations


Presentation on theme: "Directions EMEA Community for Dynamics NAV partners."— Presentation transcript:

1 Directions EMEA Community for Dynamics NAV partners

2 Source Code Management for Dynamics NAV in 4 Examples Soren Klemmensen, Kamil Sacek, Luc van Vugt & Eric Wauters

3 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. Introduction

4 4 Shades of Gray Soren Klemmensen (CA) Kamil Sacek (CZ) Luc van Vugt (NL) Eric Wauters (BE)

5 Agenda Why Source Code Management (SCM)? How SCM? 4 Shades of Gray (4 examples)

6 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. Why SCM?

7 Requirement Code change Author Change Flow History Why was change done? What does change contain? Who did change? Where did change 'go'? What changes have been applied?

8 Why SCM? - Benefits Secured code History at hand Code Review code improvement TFS/GIT used by many lots of built-in and plug-in tooling API

9 How SCM? 4 Shades of Gray

10 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Luc van Vugt

11 Keep It Simple Team Foundation Server holds all source, the truth including requirements Manual ex-/import of.txt objects from/to databases

12 Environment & Tools End User #1 School Book Reseller in The Netherlands DTAP setup Development, Test, Acceptance, Production Branch & Merge Strategy to propagate approved code changes Team Foundation Server 2012 Visual Studio 2012/2013/2015 NAV 2009 R2

13 Environment - Developer Developer Database Team Foundation Server Workspace Managed by Visual Studio Update Workspace Update/Sync Database with Workspace Update Workspace Check in Code Local or Virtual Machine Developer Isolation

14 Test Database Environment - Test Team Foundation Server Workspace Managed by Visual Studio Update Workspace Update/Sync Database with Workspace Update Workspace Check in Code Local or Virtual Machine

15 Acceptance Database Environment - Acceptance Team Foundation Server Workspace Managed by Visual Studio Update/Sync Database with Workspace Update Workspace Local or Virtual Machine

16 Production Database Environment - Production Team Foundation Server Workspace Managed by Visual Studio Update Workspace Local or Virtual Machine Build Database.fob

17 DTAP with Multiple Developers/Projects RELEASE 2.2 (PRODUCTION RELEASE 2.1 (PRODUCTION) MAIN (ACCEPTANCE) Branch DEV 1 RI Branch TEST (BETA) Branch DEV 2 RI FI RI Hotfix FI

18 DTAP with Multiple Developers/Projects RELEASE 2.2 (PRODUCTION RELEASE 2.1 (PRODUCTION) MAIN (ACCEPTANCE) Branch DEV 1 RI Branch TEST (BETA) Branch DEV 2 RI FI RI Hotfix FI + - Releases Release2.1 (Production) + Release2.2 (Production) + - - Dev Test (Beta) Source Dev-1 Main (Acceptance) Source Dev-2 $$ + + + -

19 DTAP with Multiple Developers/Projects + - Releases Release2.1 (Production) + Release2.2 (Production) + - - Dev Test (Beta) Source Dev-1 Main (Acceptance) Source Dev-2 $$ + + + -

20 My Benefits Release per changeset possible 1 changeset per requirement Rollback per changeset Developer isolation DTAP at hand

21 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Eric Wauters

22 Keep It Simple Team Foundation Server holds all: Source Source versions (object versions) ReVision is going to manage text import and export (in background) Minimum change in DEV Experience, with the power of Source Code Management.

23 Environment & Tools Microsoft Dynamics NAV iFacto ReVision Team Foundation Server Mantis

24 Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server DEV Database iFacto ReVision Dynamics NAV Classic Client DEV Database DEV Database DEV Database Check Out/In Objects Rollback DB Build Mgt Compare / Edit / Compile Object History … Environment - DEV Mantis Link Changesets to Issues in Mantis

25 Check Out Press Ctrl+Alt+O

26 Check In Press Ctrl+Alt+I

27 Object History Press Ctrl+Alt+H

28 Object History / Compare Select 2 changesets and right mouse click / Compare

29 Object History / Compare

30 Mantis Changesets become automagically visible in Mantis Example: http://issuetracker.ifacto.be/view.php?id=14824

31

32

33 Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server DEV Database iFacto ReVision Dynamics NAV Classic Client DEV Database DEV Database DEV Database Check Out/In Objects Rollback DB Build Mgt Compare / Edit / Compile Object History … Environment - DEV Mantis Link Changesets to Issues in Mantis

34 Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server iFacto ReVision Dynamics NAV Classic Client Environment - Build Mantis Build Server Compile all objects Fetch changes Report to developer

35 Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server iFacto ReVision Dynamics NAV Classic Client Environment - Test Mantis Build Server Test Server Run all tests Fetch changes Report to developer

36 My Benefits History REALLY at hand (in the DEV Client) Not necessary to maintain multiple isolated environments No need to merge on every check-in Possible to enforce the methodology Central Development DB Object Table Triggers – you need to check out before development Managed by ReVision

37 Handicaps No Branches In our environment, our Branches are different databases with its own repository. ReVision makes it easy for us to compare these different databases. Though, there is no defined relationship between any of the “branches” Not possible to work with more then one developer on 1 object at the same time Which has got a big advantage as well: not necessary to merge on every check in Mantis We should move to workitems

38 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Kamil Sacek

39 Keep It Simple GIT holds all source, the truth Most things ‘on click’ Automatization through TFS Build

40 Environment & Tools GIT + GITExtension Home-brewed Version Control in NAV NAVERTICA Helpdesk PowerShell TFS 2013/2015 NAV 2013/2015/2016

41 How it works? Central development Isolated development Local GIT repository Developer Database Update repo & Commit Update/Sync Database with repo Pull Push Developer Isolation GIT server repository (TFS, GITHub …) Build Check-in (Update repo) Central Development Database Build Database (tests) Test/Build results Build (Update DB)

42 Demo GITExtensions + PowerShell

43 My Benefits Easy to use system Flexible system Both development isolation and centralized development Release per commit possible Easy rollback

44 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Soren Klemmensen

45 Keep It Simple All developers use their own workspace PowerShell Scripts to export and put individual objects into their own workspace Check-in is manual Scripts to build new application Import and compiling a new version can be automated with the VS Build Engine

46 Environment & Tools Custom and Vertical development Visual Studio Online Visual Studio 2013/2015 NAV 2009 R2, 2013, 2013 R2, 2015 & 2016 PowerShell (and vb script for old versions)

47 Environment - Developer Developer Database Visual Studio Online Workspace Managed by Visual Studio Update Workspace Update/Sync Database with Workspace Update Workspace Check in Code Local or Virtual Machine Developer Isolation Code Review

48 Environment - Build Developer Database Visual Studio Online Workspace Managed by Visual Studio Update/Sync Database with Workspace Update Workspace Local or Virtual Machine Developer Isolation Clean Standard DB Build FOB

49 My Benefits ChangeSet with multiple objects Strong tools to improve the Dev team Developer isolation No dependencies on NAV databases The Source Code is the ONLY TRUTH Branching and merging Works for all development (not just NAV)

50 My Benefits Nothing in NAV. Generic.

51 Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Benefits and Handicaps

52 Benefits and Handicaps

53 www.directionsemea.com Join Us !


Download ppt "Directions EMEA Community for Dynamics NAV partners."

Similar presentations


Ads by Google