Toad World® Forums

Team Coding Integration with TFS - Code Control Groups


#1

Good Afternoon,

I apologize for the long post, but I have a few questions regarding Team Coding and integrating it into TFS and was hoping someone in the community would have some advice.

I’ll provide some background with the questions at the bottom, but basically, I have some confusion regarding Code Control Groups because we have multiple PL/SQL Devs working on multiple Projects in TFS, but against a common database.

Versions:
Using Toad 12.0 (Team Coding v7.0).
Integrating Source Control with Visual Studio 2012/Team Foundation Server

We currently use Harvest by Computer Associates as our source control software for a number of .Net Applications developed in Visual Studio with an Oracle back end.
The .Net code was integrated into Harvest, but the PL/SQL code was developed in TOAD and manually added to Harvest as flat files. The decision has been made to move to TFS and to attempt integrating the PL/SQL code into it as the .Net code is also integrated.

I am a PL/SQL developer only with no experience with Visual Studio or TFS and, as we make the transition, I am running into the following questions.

Note: Team Coding was successfully set up and I can check files into Team Coding and into TFS, just not quite the way I expect.

The hierarchy in TFS we are trying to achieve is the following:

Application A (This is the Team Project)
|
|____Development
|
|____Release October (Physical DB 1)
| |
| |___Project A .Net
| |
| |___Project A Oracle
| | |
| | |__Test_View_1.vw
| | |
| | |__Test_Package_1.pkb
| | |
| | |__Test_Package_2.pkb
| | |
| | |__Table_Change_1.ddl
| |
| |___Project B .Net
| |
| |___Project B Oracle
| |
| |__Test_View_2.vw
| |
| |__Test_Package_1.pkb
| |
| |__Test_Package_3.pkb
| |
| |__Table_Change_2.ddl
|
|
|____Release November (Physical DB 2)
|
|___Project C .Net
|
|___Project C Oracle
|
|__Test_View_3.vw
|
|__Test_Package_4.pkb

Our company updates their applications once per month, so we plan to start with 3 release projects for the application. On Month 4, we’ll rotate back and refresh Month 1, etc. The will each have a separate phyical database that developers will make code changes to. So, consider ‘Release October’ a single database. Each application can have multiple schemas, but for the sake of the questions, we’ll start with one.

Also, we will have six to eight PL/SQL developers making code changes for multiple TFS projects at the same time in the same schema. In development, we usually log on as the schema that owns the application objects and not with our personal user account.

I have read through all the documents online I could find and watched the Quest Youtube videos on Team Coding, but am confused on a few of the aspects.

Consider the following Assumptions:

A.) TFS has been set up by a TFS Admin such the the Release Database (‘Release October’) has been refreshed (baselined) and is ready to accept new projects from our project backlog.

B.) Developers are ready to begin creating and working new projects for the Monthly Release (‘Project A’, ‘Project B’, etc).

Questions
1.) Does Team Coding work such that PL/SQL developers will not have to work with TFS or should TFS be a black box? For example, will they have to manually create the ‘Project A’ in TFS or will Team Coding be able automate the creation of the project in TFS during Check In? It appears that the Dev will have to set up the project in TFS first and map to it in Team Coding, but wanted to confirm.

2.) Who will have the role of setting up the Code Control Groups. Is is normally done once at the start of ‘Release October’ by a Team Coding Admin for example or will each Devloper need Admin rights so that they can create a CCG for each project (‘Project A’, ‘Project B’)?
This was a point of confusion because it looks like the CCG has to be tied to a TFS Project so that when code is checked in, it will end up at the Project level and not the Release level. Since one PL/SQL developer doesn’t always know what project the other developer is ready to start, it would be difficult to have one person controlling the CCG’s.
If that is the case, it appears that each developer would need to create a new CCG as they start their individual project.

3.) Is it possible to have a single CCG set up for the Release and associated with the parent project (i.e. Release October), but have each delevelop map to the Project workspace via the Team Coding VCS Login screen? I’ve tried that, but each time I do a check in, it drops the Oracle object into the TFS directory set up in the Code Control Group (Release October), not ‘Project A’. Let me know if there is a description on how to set that up.

4.) If each developer has to create a separate CCG as they start a new project for the monthly release, can the same database object exist and be controlled in multiple CCG’s since multiple projects in a release may make changes to the same file?

5.) At the start of each Monthly Release and after we’ve refreshed the Release database with our Production database, it is advisable to Export the entire schema into a baseline project so that they show up as ‘controlled’ in the Team Coding Dashboard and have devs make changes from that. Or should developers just check out only the objects from Toad that need changes and not baseline the entire schema? Note: I don’t have details yet, but we’ll be promoting these versions in TFS to a Main branch and then to a Production branch before recycling any of the Monthly Release branches.

Thanks in advance for any advice you have since using Team Coding and Team Foundation Server is still new to me.

Most of the information I can find describe one developer using Team Coding and checking code into a single or shared project. It doesn’t really describe the roles of mulitple devs working on multiple projects in a VCS, but sharing the same physical database and how to create that type of setup in Toad and/or TFS.

Thanks Again,
Brian


#2

Hello Brian,

I want to acknowledge getting this. I am reading and will get back to you with a detailed response.

Stephen

From: ToadDev44035 [mailto:bounce-ToadDev44035@toadworld.com]

Sent: Friday, September 06, 2013 6:22 PM

To: toadoracle@toadworld.com

Subject: [Toad for Oracle - Discussion Forum] Team Coding Integration with TFS - Code Control Groups

Team Coding Integration with TFS - Code Control Groups

Thread created by ToadDev44035

Good Afternoon,

I apologize for the long post, but I have a few questions regarding Team Coding and integrating it into TFS and was hoping someone in the community would have some advice.

I’ll provide some background with the questions at the bottom, but basically, I have some confusion regarding Code Control Groups because we have multiple PL/SQL Devs working on multiple Projects
in TFS, but against a common database.

Versions:

Using Toad 12.0 (Team Coding v7.0).

Integrating Source Control with Visual Studio 2012/Team Foundation Server

We currently use Harvest by Computer Associates as our source control software for a number of .Net Applications developed in Visual Studio with an Oracle back end.

The .Net code was integrated into Harvest, but the PL/SQL code was developed in TOAD and manually added to Harvest as flat files. The decision has been made to move to TFS and to attempt integrating the PL/SQL code into it as the .Net code is also integrated.

I am a PL/SQL developer only with no experience with Visual Studio or TFS and, as we make the transition, I am running into the following questions.

Note: Team Coding was successfully set up and I can check files into Team Coding and into TFS, just not quite the way I expect.

The hierarchy in TFS we are trying to achieve is the following:

Application A (This is the Team Project)

|

|____Development

 |

 |____Release October            (Physical DB 1)

 |    |

 |    |___Project A .Net

 |    |

 |    |___Project A Oracle

 |    |   |

 |    |   |__Test_View_1.vw

 |    |   |

 |    |   |__Test_Package_1.pkb

 |    |   |

 |    |   |__Test_Package_2.pkb

 |    |   |

 |    |   |__Table_Change_1.ddl

 |    |

 |    |___Project B .Net

 |    |

 |    |___Project B Oracle

 |        |

 |        |__Test_View_2.vw

 |        |

 |        |__Test_Package_1.pkb

 |        |

 |        |__Test_Package_3.pkb

 |        |

 |        |__Table_Change_2.ddl

 |

 |

 |____Release November            (Physical DB 2)

      |

      |___Project C .Net

      |

      |___Project C Oracle

          |

          |__Test_View_3.vw

          |

          |__Test_Package_4.pkb

Our company updates their applications once per month, so we plan to start with 3 release projects for the application. On Month 4, we’ll rotate back and refresh Month 1, etc. The will each
have a separate phyical database that developers will make code changes to. So, consider ‘Release October’ a single database. Each application can have multiple schemas, but for the sake of the questions, we’ll start with one.

Also, we will have six to eight PL/SQL developers making code changes for multiple TFS projects at the same time in the same schema. In development, we usually log on as the schema that owns
the application objects and not with our personal user account.

I have read through all the documents online I could find and watched the Quest Youtube videos on Team Coding, but am confused on a few of the aspects.

Consider the following Assumptions:

A.) TFS has been set up by a TFS Admin such the the Release Database (‘Release October’) has been refreshed (baselined) and is ready to accept new projects from our project backlog.

B.) Developers are ready to begin creating and working new projects for the Monthly Release (‘Project A’, ‘Project B’, etc).

Questions

1.) Does Team Coding work such that PL/SQL developers will not have to work with TFS or should TFS be a black box? For example, will they have to manually create the ‘Project A’ in TFS or will Team Coding be able automate the creation of the project in TFS
during Check In? It appears that the Dev will have to set up the project in TFS first and map to it in Team Coding, but wanted to confirm.

2.) Who will have the role of setting up the Code Control Groups. Is is normally done once at the start of ‘Release October’ by a Team Coding Admin for example or will each Devloper need Admin
rights so that they can create a CCG for each project (‘Project A’, ‘Project B’)?

This was a point of confusion because it looks like the CCG has to be tied to a TFS Project so that when code is checked in, it will end up at the Project level and not the Release level.  Since one PL/SQL developer doesn't always know what project the

other developer is ready to start, it would be difficult to have one person controlling the CCG’s.

If that is the case, it appears that each developer would need to create a new CCG as they start their individual project.

3.) Is it possible to have a single CCG set up for the Release and associated with the parent project (i.e. Release October), but have each delevelop map to the Project workspace via the Team
Coding VCS Login screen? I’ve tried that, but each time I do a check in, it drops the Oracle object into the TFS directory set up in the Code Control Group (Release October), not ‘Project A’. Let me know if there is a description on how to set that up.

4.) If each developer has to create a separate CCG as they start a new project for the monthly release, can the same database object exist and be controlled in multiple CCG’s since multiple
projects in a release may make changes to the same file?

5.) At the start of each Monthly Release and after we’ve refreshed the Release database with our Production database, it is advisable to Export the entire schema into a baseline project so that
they show up as ‘controlled’ in the Team Coding Dashboard and have devs make changes from that. Or should developers just check out only the objects from Toad that need changes and not baseline the entire schema? Note: I don’t have details yet, but we’ll
be promoting these versions in TFS to a Main branch and then to a Production branch before recycling any of the Monthly Release branches.

Thanks in advance for any advice you have since using Team Coding and Team Foundation Server is still new to me.

Most of the information I can find describe one developer using Team Coding and checking code into a single or shared project. It doesn’t really describe the roles of mulitple devs working
on multiple projects in a VCS, but sharing the same physical database and how to create that type of setup in Toad and/or TFS.

Thanks Again,

Brian

To reply, please reply-all to this email.

Stop receiving emails on this subject.

Or
Unsubscribe from Toad for Oracle - General
notifications altogether.

Toad for Oracle - Discussion Forum

Flag
this post as spam/abuse.


#3

Stephen,

Thank you for looking into this. I really appreciate it. I was working with it again over the weekend and I may have figured a couple of the issues out, but I value your reply as an expert in the field and will wait for your response before adding my conclusions. I also still need to test the conclusions and have not been able to do so yet today.

Thanks,

Brian


#4

Hello Brian,

Thanks for the detailed description and questions. I will do my best to answer as much of your questions as possible. Please see my comments below, which I
feel only partially answer some of the questions you are asking. I am happy to answer any pointed questions as to how Toad handles a specific situation as it relates to your workflow.

I hope this helps.

Stephen

From: ToadDev44035 [mailto:bounce-ToadDev44035@toadworld.com]

Sent: Friday, September 06, 2013 6:22 PM

To: toadoracle@toadworld.com

Subject: [Toad for Oracle - Discussion Forum] Team Coding Integration with TFS - Code Control Groups

Team Coding Integration with TFS - Code Control Groups

Thread created by ToadDev44035

Good Afternoon,

I apologize for the long post, but I have a few questions regarding Team Coding and integrating it into TFS and was hoping someone in the community would have some advice.

I’ll provide some background with the questions at the bottom, but basically, I have some confusion regarding Code Control Groups because we have multiple PL/SQL Devs working on multiple Projects
in TFS, but against a common database.

Versions:

Using Toad 12.0 (Team Coding v7.0).

Integrating Source Control with Visual Studio 2012/Team Foundation Server

We currently use Harvest by Computer Associates as our source control software for a number of .Net Applications developed in Visual Studio with an Oracle back end.

The .Net code was integrated into Harvest, but the PL/SQL code was developed in TOAD and manually added to Harvest as flat files. The decision has been made to move to TFS and to attempt integrating the PL/SQL code into it as the .Net code is also integrated.

I am a PL/SQL developer only with no experience with Visual Studio or TFS and, as we make the transition, I am running into the following questions.

Note: Team Coding was successfully set up and I can check files into Team Coding and into TFS, just not quite the way I expect.

The hierarchy in TFS we are trying to achieve is the following:

Application A (This is the Team Project)

|

|____Development

 |

 |____Release October            (Physical DB 1)

 |    |

 |    |___Project A .Net

 |    |

 |    |___Project A Oracle

 |    |   |

 |    |   |__Test_View_1.vw

 |    |   |

 |    |   |__Test_Package_1.pkb

 |    |   |

 |    |   |__Test_Package_2.pkb

 |    |   |

 |    |   |__Table_Change_1.ddl

 |    |

 |    |___Project B .Net

 |    |

 |    |___Project B Oracle

 |        |

 |        |__Test_View_2.vw

 |        |

 |        |__Test_Package_1.pkb

 |        |

 |        |__Test_Package_3.pkb

 |        |

 |        |__Table_Change_2.ddl

 |

 |

 |____Release November            (Physical DB 2)

      |

      |___Project C .Net

      |

      |___Project C Oracle

          |

          |__Test_View_3.vw

          |

          |__Test_Package_4.pkb

Looks ok. You have a separate Team Coding installation on separate physical databases for each release cycle. Toad at present does not control Table objects directly in Team
Coding. You can still control the Table DDL as a source file. It looks like you may be treating everything as a Script, which is ok.

Our company updates their applications once per month, so we plan to start with 3 release projects for the application. On Month 4, we’ll rotate back and refresh Month 1, etc. The will each
have a separate phyical database that developers will make code changes to. So, consider ‘Release October’ a single database. Each application can have multiple schemas, but for the sake of the questions, we’ll start with one.

Also, we will have six to eight PL/SQL developers making code changes for multiple TFS projects at the same time in the same schema. In development, we usually log on as the schema that owns
the application objects and not with our personal user account.

This should work. If each user is logging in to TFS as his active directory user, but logging on to the database as the same Oracle user, Toad ‘locks’ other users from modifying
the object based on the TFS logon. An alternative approach might be for each user to log on as individual schema, and Mirror to the master schema.

I have read through all the documents online I could find and watched the Quest Youtube videos on Team Coding, but am confused on a few of the aspects.

Consider the following Assumptions:

A.) TFS has been set up by a TFS Admin such the the Release Database (‘Release October’) has been refreshed (baselined) and is ready to accept new projects from our project backlog.

B.) Developers are ready to begin creating and working new projects for the Monthly Release (‘Project A’, ‘Project B’, etc).

Questions

1.) Does Team Coding work such that PL/SQL developers will not have to work with TFS or should TFS be a black box? For example, will they have to manually create the ‘Project A’ in TFS or will Team Coding be able automate the creation of the project in TFS
during Check In? It appears that the Dev will have to set up the project in TFS first and map to it in Team Coding, but wanted to confirm.

The TFS Project needs to be created before they can be assigned to a Code Control Group. Toad does not create the projects, it simply works with whatever TFS structure you have
created. I would recommend that the developers have access to TFS, through Visual Studio Team Explorer . It is possible for objects to get checked out outside of Toad, and Team Explorer is the best way to view and reconcile multiple edits in TFS.

2.) Who will have the role of setting up the Code Control Groups. Is is normally done once at the start of ‘Release October’ by a Team Coding Admin for example or will each Devloper need Admin
rights so that they can create a CCG for each project (‘Project A’, ‘Project B’)?

This was a point of confusion because it looks like the CCG has to be tied to a TFS Project so that when code is checked in, it will end up at the Project level and not the Release level.  Since one PL/SQL developer doesn't always know what project the

other developer is ready to start, it would be difficult to have one person controlling the CCG’s.

If that is the case, it appears that each developer would need to create a new CCG as they start their individual project.

This sounds like more of an issue with your work flow. In my humble opinion, it is preferable for an administrator to create the Code Collections (CCG is deprecated since Toad
11.0 J ). Having all the developers set up their own Code Collections means that you have no internal
control on Team Coding.

3.) Is it possible to have a single CCG set up for the Release and associated with the parent project (i.e. Release October), but have each delevelop map to the Project workspace via the Team
Coding VCS Login screen? I’ve tried that, but each time I do a check in, it drops the Oracle object into the TFS directory set up in the Code Control Group (Release October), not ‘Project A’. Let me know if there is a description on how to set that up.

From what you describe, Team Coding is not designed to work this way. I am not sure if you have read the documentation for User Mirroring (User Mapping in earlier versions of
Team Coding), but this may meet your needs. In this scenario, users can mirror to a master schema, and modify objects in a sandbox schema. Check this blog posting

http://www.toadworld.com/products/toad-for-oracle/b/weblog/archive/2011/09/29/setting-up-a-mirrored-user-in-team-coding-version-7-0.aspx

4.) If each developer has to create a separate CCG as they start a new project for the monthly release, can the same database object exist and be controlled in multiple CCG’s since multiple
projects in a release may make changes to the same file?

I am not sure I understand exactly why each developer needs to create a separate Code Collection as they start a new project. Is this a limitation of your TFS, setup or something
you have created as a control?

As currently designed, you cannot control the same object in multiple Code Collections, residing in the same database. When Toad checks out an object (say from the Schema Browser),
Team coding needs to know specifically which Code Collection controls this object so that the source can be checked out of the correct VCS Project. If you mean, can the object be controlled in multiple Code Collections, that reside in different databases,
then the answer is yes.

5.) At the start of each Monthly Release and after we’ve refreshed the Release database with our Production database, it is advisable to Export the entire schema into a baseline project so that
they show up as ‘controlled’ in the Team Coding Dashboard and have devs make changes from that. Or should developers just check out only the objects from Toad that need changes and not baseline the entire schema? Note: I don’t have details yet, but we’ll
be promoting these versions in TFS to a Main branch and then to a Production branch before recycling any of the Monthly Release branches.

This sounds like a good practice, though probably not a requirement. Toad does not have concept of ‘baseline’ for a schema. While you do not need to a full ‘export’, if would
be a good way to ensure that controlled objects are synchronized with Team Coding. Code Collections have synchronize function to do precisely this. My personal preference, as a developer, would be to only check out objects that need changes, but from a control
perspective exporting the objects would be useful.

Thanks in advance for any advice you have since using Team Coding and Team Foundation Server is still new to me.

Most of the information I can find describe one developer using Team Coding and checking code into a single or shared project. It doesn’t really describe the roles of mulitple devs working
on multiple projects in a VCS, but sharing the same physical database and how to create that type of setup in Toad and/or TFS.

By definition, Team Coding , is designed so that multiple developers can work on a single shared project (not just one). In its simplest form you set up a Code Control Group
which defines the objects that are controlled. If Developer A checks out an object, Team Coding locks this object, so that Developer B knows it is checked out. Once changes are made, Developer A checks the object in and Developer B is free to check out the
object to make his changes. Adding ‘User Mirroring’ to the mix enables Developer A to check the object out and make changes in a development schema before changes are updated to the master schema.

Thanks Again,

Brian

To reply, please reply-all to this email.

Stop receiving emails
on this subject.

Or Unsubscribe from Toad for Oracle - General
notifications altogether.

Toad for Oracle - Discussion Forum

Flag
this post as spam/abuse.


#5

Thanks Stephen. I appreciate it.


#6

Stephen,

From your reply, you mentioned to see your comments below, but I didn’t see any. Do you know if they were located elsewhere or if they just needed pasted into the post?

Thanks,

Brian


#7

Morning Brian,
On 12/09/13 01:24, ToadDev44035 wrote:

From your reply, you mentioned to see your comments below, but I didn’t
see any. Do you know if they were located elsewhere or if they just
needed pasted into the post?
In my email on this matter, from Stephen, I see his comments in a different colour of text beneath your text. For example, directly beneath your TFS Hierarchy diagram, Stephen has responded with:
“Looks ok. You have a separate Team Coding installation on separate physical databases for each release cycle. Toad at present does not control Table objects directly in Team Coding. You can still control the Table DDL as a source file. It looks like you may be treating everything as a Script, which is ok.”
There are also other responses from Stephen.
Are you not seeing this in your email?
– Cheers,
Norm. [TeamT]


#8

Norm thanks for pointing out the comments. Brian I am re-pasting my reply here, in case there is an still an issue with viewing the original post.

RE: Team Coding Integration with TFS - Code Control
Groups

Reply by Stephen Beausang

Hello Brian,

Thanks for the detailed description and questions. I will do my best to answer as much of your questions as possible. Please see my comments below, which I
feel only partially answer some of the questions you are asking. I am happy to answer any pointed questions as to how Toad handles a specific situation as it relates to your workflow.

I hope this helps.

Stephen

From: ToadDev44035 [mailto:bounce-ToadDev44035@toadworld.com]

Sent: Friday, September 06, 2013 6:22 PM

To: toadoracle@toadworld.com

Subject: [Toad for Oracle - Discussion Forum] Team Coding Integration with TFS - Code Control Groups

** Team
Coding Integration with TFS - Code Control Groups**

Thread created by ToadDev44035

Good Afternoon,

I apologize for the long post, but I have a few questions regarding Team Coding and integrating it into TFS and was hoping someone in the community would have some advice.

I’ll provide some background with the questions at the bottom, but basically, I have some confusion regarding Code Control Groups because we have multiple PL/SQL Devs working on multiple Projects
in TFS, but against a common database.

Versions:

Using Toad 12.0 (Team Coding v7.0).

Integrating Source Control with Visual Studio 2012/Team Foundation Server

We currently use Harvest by Computer Associates as our source control software for a number of .Net Applications developed in Visual Studio with an Oracle back end.

The .Net code was integrated into Harvest, but the PL/SQL code was developed in TOAD and manually added to Harvest as flat files. The decision has been made to move to TFS and to attempt integrating the PL/SQL code into it as the .Net code is also integrated.

I am a PL/SQL developer only with no experience with Visual Studio or TFS and, as we make the transition, I am running into the following questions.

Note: Team Coding was successfully set up and I can check files into Team Coding and into TFS, just not quite the way I expect.

The hierarchy in TFS we are trying to achieve is the following:

Application A (This is the Team Project)

|

|____Development

 |

 |____Release October            (Physical DB 1)

 |    |

 |    |___Project A .Net

 |    |

 |    |___Project A Oracle

 |    |   |

 |    |   |__Test_View_1.vw

 |    |   |

 |    |   |__Test_Package_1.pkb

 |    |   |

 |    |   |__Test_Package_2.pkb

 |    |   |

 |    |   |__Table_Change_1.ddl

 |    |

 |    |___Project B .Net

 |    |

 |    |___Project B Oracle

 |        |

 |        |__Test_View_2.vw

 |        |

 |        |__Test_Package_1.pkb

 |        |

 |        |__Test_Package_3.pkb

 |        |

 |        |__Table_Change_2.ddl

 |

 |

 |____Release November            (Physical DB 2)

      |

      |___Project C .Net

      |

      |___Project C Oracle

          |

          |__Test_View_3.vw

          |

          |__Test_Package_4.pkb

Looks ok. You have a separate Team Coding installation on separate physical databases for each release cycle. Toad at present does not control Table objects directly in Team
Coding. You can still control the Table DDL as a source file. It looks like you may be treating everything as a Script, which is ok.

Our company updates their applications once per month, so we plan to start with 3 release projects for the application. On Month 4, we’ll rotate back and refresh Month 1, etc. The will each
have a separate phyical database that developers will make code changes to. So, consider ‘Release October’ a single database. Each application can have multiple schemas, but for the sake of the questions, we’ll start with one.

Also, we will have six to eight PL/SQL developers making code changes for multiple TFS projects at the same time in the same schema. In development, we usually log on as the schema that owns
the application objects and not with our personal user account.

This should work. If each user is logging in to TFS as his active directory user, but logging on to the database as the same Oracle user, Toad ‘locks’ other users from modifying
the object based on the TFS logon. An alternative approach might be for each user to log on as individual schema, and Mirror to the master schema.

I have read through all the documents online I could find and watched the Quest Youtube videos on Team Coding, but am confused on a few of the aspects.

Consider the following Assumptions:

A.) TFS has been set up by a TFS Admin such the the Release Database (‘Release October’) has been refreshed (baselined) and is ready to accept new projects from our project backlog.

B.) Developers are ready to begin creating and working new projects for the Monthly Release (‘Project A’, ‘Project B’, etc).

Questions

1.) Does Team Coding work such that PL/SQL developers will not have to work with TFS or should TFS be a black box? For example, will they have to manually create the ‘Project A’ in TFS or will Team Coding be able automate the creation of the project in TFS
during Check In? It appears that the Dev will have to set up the project in TFS first and map to it in Team Coding, but wanted to confirm.

The TFS Project needs to be created before they can be assigned to a Code Control Group. Toad does not create the projects, it simply works with whatever TFS structure you have
created. I would recommend that the developers have access to TFS, through Visual Studio Team Explorer . It is possible for objects to get checked out outside of Toad, and Team Explorer is the best way to view and reconcile multiple edits in TFS.

2.) Who will have the role of setting up the Code Control Groups. Is is normally done once at the start of ‘Release October’ by a Team Coding Admin for example or will each Devloper need Admin
rights so that they can create a CCG for each project (‘Project A’, ‘Project B’)?

This was a point of confusion because it looks like the CCG has to be tied to a TFS Project so that when code is checked in, it will end up at the Project level and not the Release level.  Since one PL/SQL developer doesn't always know what project the

other developer is ready to start, it would be difficult to have one person controlling the CCG’s.

If that is the case, it appears that each developer would need to create a new CCG as they start their individual project.

This sounds like more of an issue with your work flow. In my humble opinion, it is preferable for an administrator to create the Code Collections (CCG is deprecated since Toad
11.0 J ). Having all the developers set up their own Code Collections means that you have no internal
control on Team Coding.

3.) Is it possible to have a single CCG set up for the Release and associated with the parent project (i.e. Release October), but have each delevelop map to the Project workspace via the Team
Coding VCS Login screen? I’ve tried that, but each time I do a check in, it drops the Oracle object into the TFS directory set up in the Code Control Group (Release October), not ‘Project A’. Let me know if there is a description on how to set that up.

From what you describe, Team Coding is not designed to work this way. I am not sure if you have read the documentation for User Mirroring (User Mapping in earlier versions of
Team Coding), but this may meet your needs. In this scenario, users can mirror to a master schema, and modify objects in a sandbox schema. Check this blog posting

http://gyk.r.mailjet.com/redirect/y9p7t8ztx74d4y7klnp2b1/www.toadworld.com/products/toad-for-oracle/b/weblog/archive/2011/09/29/setting-up-a-mirrored-user-in-team-coding-version-7-0.aspx

4.) If each developer has to create a separate CCG as they start a new project for the monthly release, can the same database object exist and be controlled in multiple CCG’s since multiple
projects in a release may make changes to the same file?

I am not sure I understand exactly why each developer needs to create a separate Code Collection as they start a new project. Is this a limitation of your TFS, setup or something
you have created as a control?

As currently designed, you cannot control the same object in multiple Code Collections, residing in the same database. When Toad checks out an object (say from the Schema Browser),
Team coding needs to know specifically which Code Collection controls this object so that the source can be checked out of the correct VCS Project. If you mean, can the object be controlled in multiple Code Collections, that reside in different databases,
then the answer is yes.

5.) At the start of each Monthly Release and after we’ve refreshed the Release database with our Production database, it is advisable to Export the entire schema into a baseline project so that
they show up as ‘controlled’ in the Team Coding Dashboard and have devs make changes from that. Or should developers just check out only the objects from Toad that need changes and not baseline the entire schema? Note: I don’t have details yet, but we’ll
be promoting these versions in TFS to a Main branch and then to a Production branch before recycling any of the Monthly Release branches.

This sounds like a good practice, though probably not a requirement. Toad does not have concept of ‘baseline’ for a schema. While you do not need to a full ‘export’, if would
be a good way to ensure that controlled objects are synchronized with Team Coding. Code Collections have synchronize function to do precisely this. My personal preference, as a developer, would be to only check out objects that need changes, but from a control
perspective exporting the objects would be useful.

Thanks in advance for any advice you have since using Team Coding and Team Foundation Server is still new to me.

Most of the information I can find describe one developer using Team Coding and checking code into a single or shared project. It doesn’t really describe the roles of mulitple devs working
on multiple projects in a VCS, but sharing the same physical database and how to create that type of setup in Toad and/or TFS.

By definition, Team Coding , is designed so that multiple developers can work on a single shared project (not just one). In its simplest form you set up a Code Control Group
which defines the objects that are controlled. If Developer A checks out an object, Team Coding locks this object, so that Developer B knows it is checked out. Once changes are made, Developer A checks the object in and Developer B is free to check out the
object to make his changes. Adding ‘User Mirroring’ to the mix enables Developer A to check the object out and make changes in a development schema before changes are updated to the master schema.

Thanks Again,

Brian

To reply, please reply-all to this email.

Stop
receiving emails
on this subject.

Or Unsubscribe
from Toad for Oracle - General
notifications altogether.

Toad for Oracle - Discussion Forum

Flag
this post as spam/abuse.

To reply, please reply-all to this email.

Stop receiving emails on this subject.

Or
Unsubscribe from Toad for Oracle - General
notifications altogether.

Toad for Oracle - Discussion Forum

Flag
this post as spam/abuse.

From: ToadDev44035 [mailto:bounce-ToadDev44035@toadworld.com]

Sent: Wednesday, September 11, 2013 8:24 PM

To: toadoracle@toadworld.com

Subject: RE: [Toad for Oracle - Discussion Forum] Team Coding Integration with TFS - Code Control Groups

RE: Team Coding Integration with TFS - Code Control
Groups

Reply by ToadDev44035

Stephen,

From your reply, you mentioned to see your comments below, but I didn’t see any. Do you know if they were located elsewhere or if they just needed pasted into the post?

Thanks,

Brian

To reply, please reply-all to this email.

Stop receiving emails on this subject.

Or
Unsubscribe from Toad for Oracle - General
notifications altogether.

Toad for Oracle - Discussion Forum

Flag
this post as spam/abuse.


#9

Hi Stephen,
On 12/09/13 13:31, Stephen Beausang wrote:

Norm thanks for pointing out the comments. Brian I am re-pasting my
reply here, in case there is an still an issue with viewing the original
post.
No worries. I also forwarded the original email, as I received it here, to Brian, in case it was useful. When it left here, it (still) had all your comments, in blue.
– Cheers,
Norm. [TeamT]