keep your projects under control with gene xus server, roy hart & carlos canessa

30
Slide 1 – In this session, we are going to talk about GXserver. We are going to do a review of what it is & talk about what is new with Evolution 2. Carlos is going to do a demo. You need at least GeneXus X, & you can’t use it with GX 9.0. Whereas before you had to manually create xpz files and manually create a consolidated KB, all of that is automated now with GXserver. So, it is used for team management, change management, a more robust solution for version control than just straight GX & more. 1

Upload: genexus

Post on 03-Jul-2015

251 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 1 – In this session, we are going to talk about GXserver. We are going to do areview of what it is & talk about what is new with Evolution 2. Carlos is going to do areview of what it is & talk about what is new with Evolution 2. Carlos is going to do ademo. You need at least GeneXus X, & you can’t use it with GX 9.0. Whereas before youhad to manually create xpz files and manually create a consolidated KB, all of that isautomated now with GXserver. So, it is used for team management, changemanagement, a more robust solution for version control than just straight GX & more.

1

Page 2: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 2 – The biggest focus with the release of Evolution 2 is obviously the new smartdevices generator, generating HTML 5 & CSS3, but there are also updates to GXserver.devices generator, generating HTML 5 & CSS3, but there are also updates to GXserver.We use GXserver extensively in our office & cannot imagine not having it. It greatlysimplifies administration & saves a lot of time. We are going to talk about varioustypical scenarios encountered when doing software development to show that GXserveris really needed. Also, we have some promotional pricing only for those who attendedthe Conference & I’ll save that until the end. GeneXus USA also has a projectmanagement tool called XPM which is integrated with GXserver, but is has a differentfocus than GXserver. XPM is integrated with Microsoft Project, Microsoft Word & alsothe IDE. There is another session that talks about XPM & you ought to check that out aswell. We are going to talk about & demo GXserver here.

2

Page 3: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide3 – The first scenario to talk about isTeamwork. Although it is not always the case,the scenario most often is that software development involves teams, so you need athe scenario most often is that software development involves teams, so you need away to manage everyone working on a project. Before now, you had to do it manually.

3

Page 4: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 4 – There needs to be a separate repository that has everyone’s work. It is aSlide 4 – There needs to be a separate repository that has everyone’s work. It is acollection of all the changes, the commits, from each copy of work that is going onacross the entire team. George has is KB, Sally has her KB, & the central repository isGXserver’s KB. GXserver is totally integrated in the GX IDE. You don’t see the variousoptions until you are connected to GXserver. Before, you had to do all of this manually.Let’s talk about some basic operations using GXserver for team development.

4

Page 5: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 5 – We have to start somewhere, so the scenario is that George is going to publishan initial version of the KB to GXserver. You do this in GX with the option Send KB toan initial version of the KB to GXserver. You do this in GX with the option Send KB toServer. If you do not do it initially, you can do it later using the web console. Bothdevelopers need to be connected to GXserver. When you are connected to GXserver, GXgives you additional options in the IDE that you would not otherwise see. GXserver istotally integrated inside the IDE. When Sally is ready to start working on the project, shedoesn’t start from scratch. She needs to obtain the KB from the server. She selects theoption, New, Knowledge Base From Server.

Explain GXserver is installed locally.

In GXserver:Send Kb to Server

Talk about the check box “Work with lock model” leave unchecked for MergeMode, check marked to work in Mode

New Kb from Server.Show that we can create the KB from the server selecting any of the versions(good to mention here Parallel development)

5

Page 6: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 6 - From then on, each developer needs to be doing commits & updates. A commitSlide 6 - From then on, each developer needs to be doing commits & updates. A commitsends objects to GXserver & an update gets new objects from GXserver.

In GXserver:Commit & Update Merge Mode (We have to open KB’s )

Modify the customer transaction and add a Rule in one kb, COMMITModify the customer transaction in the second KB, add an attribute, try toCOMMIT, Gxserver replies saying that we have to Update before the COMMITbeause the transaction is newer in the server done in your KB. Update and showthe Merge, now the Transaction must have the RULE added by the otherdeveloper plus the new attribute. COMMIT.

Commit & Update LOCK Mode (We have to open KB’s )Open customer transaction and show that is READ ONLYRequest lock of the customer transaction, now it becomes available for editingIn the second KB try to Lock/Check-out the Customer transaction, show thatGxServer doesn’t allow it because it has already been taken by anotherdeveloper.In the first KB, Release the lock, explain that now the other developer will be ableto check-out / lock the object.

6

Page 7: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 7 – Here is a screen shot of the commits. I can see at a glance everything that hasSlide 7 – Here is a screen shot of the commits. I can see at a glance everything that haschanged which is very beneficial. I also have the option to see a comparison of whatexactly has changed. You select the objects that you want to publish. Adding commentsis actually mandatory. The commit is actually a block of objects. After I do my commit,other developers can get my changes by doing an Update from the server.

In GXserver:History

Go to team development and show the History tabShow that we can see each of the commits.

7

Page 8: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 8 – Merge: In most cases the merging of objects is automatically handled. Eachdeveloper works on their own with commits & updates going on. Here you can see thedeveloper works on their own with commits & updates going on. Here you can see theoption “Work With Locked Model” is not checked.

8

Page 9: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 9 – Lock: In some cases, it is necessary to lock individual objects. This is new inEvolution 2. When I first send the KB to the Server, I need to enable this option. It canbe done later, however, using the web console. If I right click an object, I have theoption to lock it.

9

Page 10: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 10 – History: There will probably be many times when you want to look at history.What all has changed, who did it & when? You may want to go back over multipleWhat all has changed, who did it & when? You may want to go back over multipleperiods of time & you can do it for the entire commit. You may want to look at whatwas changed for a particular version.

10

Page 11: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 11 – Web Console: There is a Web Console so that you don’t need GX to viewhistory & see what is going on. This can be used by managers who don’t have GeneXus.history & see what is going on. This can be used by managers who don’t have GeneXus.

11

Page 12: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 12 - Commits: Then in GeneXus, here is a screen shot of the commits made, whodid it, when it was done, and a list of everything that was modified.did it, when it was done, and a list of everything that was modified.

12

Page 13: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 13 – Show Differences: Here you can see the differences at the object level. SelectShow DifferencesShow Differences

13

Page 14: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 14 – Customer Transaction: Here you can see that for the Customer Transaction 2attributes were deleted.attributes were deleted.

14

Page 15: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 15 – You can revert the commit.Slide 15 – You can revert the commit.

15

Page 16: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 16 – Another important scenario is ensuring that backups are being done. WithGXserver it is easy to do backups.GXserver it is easy to do backups.

16

Page 17: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 17 – You have 1 location & repository to do backups. It is centralized. You canSlide 17 – You have 1 location & repository to do backups. It is centralized. You caneasily track the version that is the current production version or the version that wassent to the customer. You don’t have to rely on individuals doing their own backups &worrying about it. If you are using the SaaS hosted version, this is part of the service.

17

Page 18: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 18 – Freeze Scenario: Just like in real-life where you want to take snap-shots at apoint of time for documentation later, you can easily freeze a version of your app, if it ispoint of time for documentation later, you can easily freeze a version of your app, if it iscentralized with GXserver. So before you make massive changes or a big enhancement,you can freeze a version of your project.

In GXserver:

Freeze and Parallel developmentGo to the Web backend.Show the Versions tabCreate a freezeCreate new versionFor parallel development here we explain that you can have one team workingon fixing bugs on Version 1 and another team working in the main trunk that willbecome Version 2

18

Page 19: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 19 – Here is a screen shot of the various frozen versions.

19

Page 20: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 20 – Many times you have parallel development going on with multiple versionsSlide 20 – Many times you have parallel development going on with multiple versionsbeing worked on at the same time. Someone is working on the next release, someone isdoing fixes to the current production version. You could have customers who are ondifferent versions of your product & you need to track all of that.

20

Page 21: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 21- So, you need to create multiple branches for different versions of thedevelopment that is going on. You can easily do this with GXserver.development that is going on. You can easily do this with GXserver.

21

Page 22: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 22 – History tab: This again shows the history tab in the server with all theSlide 22 – History tab: This again shows the history tab in the server with all thecommits that have been done.

22

Page 23: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 23 – Bring Changes: This will get all the new changes that are needed for me.

23

Page 24: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 24 – Scenario 6 – Automation & Automatic Build. You know by now that the goalof GeneXus in general is to automate as much as possible and this also includesof GeneXus in general is to automate as much as possible and this also includesGXserver. Previous manual processes are now automated. Administration is now easierand much less time consuming. GXserver consolidates everything so that you can doautomatic builds.

24

Page 25: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 25 – Continuous Integration: You may have seen or heard about the termContinuous Integration in software engineering. If you look up Continuous Integration inthe Wiki, a central repository is pretty much mandatory. It also call for frequentupdates, “continuous integration involves integrating early and often”

25

Page 26: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 26 – CruiseControl.Net, MSBuild: CruiseControl.Net

26

Page 27: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 27 – There’s documentation to write a script for MSBuild. Artech has built a plug-infor CruiseControl.Net so that it recognizes GXserver.for CruiseControl.Net so that it recognizes GXserver.

27

Page 28: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 28 – Pricing info for those attending the Conference.

28

Page 29: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 29 – GeneXusServer Wrap-Up: Q&A Demo

29

Page 30: Keep your projects under control with gene xus server, roy hart & carlos canessa

Slide 30 – Even for projects where there is only one developer, it is recommendedthat you use GXserver. There is a good write-up about that & I can give you thethat you use GXserver. There is a good write-up about that & I can give you thelink.

30