Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-23 Thread Perry Taylor
Thanks to everyone for some very interesting points.  I am particularly 
intrigued by Stuart's handling of dictionaries using triggers.  One particular 
challenge I may face is one particular hashed file (not a dictionary) which 
contains 2 1/2 million records that are under source control today.  Copying 
them out to a directory might pose some problems with inode consumption.

Perry

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Boydell, Stuart
Sent: Friday, August 19, 2011 11:10 PM
To: U2 Users List
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

Hi Perry,
I use Perforce (P4) - similar (but different). Not sure what best practice is 
for TFS repositories is but with P4 and other Source Control (SC) systems 
something like the following should work.

//function/branch/path/item

1. Starting with a functional area - a project or a defined set of artefacts 
which make a up a particular system (eg Payroll)
2. branch - this is usually MAIN (eg the current, main or head version) - we 
occasionally have different branch versions for Australia  NZ or for a release 
branch. A commercial software developer would probably keep their major 
releases in different branches.
3. path - you should probably just start at the account directory. So if your 
complete path to the payroll account was: /usr/uvaccs/dev/perry/payroll/.. you 
would start at the *../payroll/..* level of the path and ignore the stuff 
before it. 
Not sure how TFS maps to the workspace, but I guess that you are able to give 
it a relative path like most SC systems.
4. The item under control.

So you might end up with //Payroll/MAIN/PAYROLL/PAY.BP/PRINT.PAYSLIPS

Also, not sure how TFS handles case sensitivity - this would be an issue if it 
regards Payslip  PAYSLIP as the same item.

As far as hashed item go: convert everything you need to control to type 19 
directory files (except dictionaries - see below). 
Why? Because you should only need to do this in dev. For all other environments 
the items should only be copied in (deployed) from a release file - so will be 
able to be plonked into hashed files by UV copy.

If you can't convert them for some reason (like you have binary in them?!), 
you'll probably need to put a trigger onto your hashed files to manage the 
controlled items.

Dictionaries - have to be hashed because otherwise I-types won't compile or 
work. So, I have a trigger for the dictionary that writes out the item to a 
type 19 file under source control. It truncates the I-type attributes after 
about att 10 so you don't get the binary in the repository. It also manages 
which SB+ items get put in and out of SC.
If the item is not checked out from SC for edit before you try to edit the 
dictionary, the trigger will rollback the copy and gracefully tell you that you 
need to check out the item before editing it. On save it updates the type 19 
copy after which it needs to be checked in.
In my case I have 1 file set up for all the dictionary items. I use an assigned 
key and a lookup file to manage them. The thinking behind it was to reduce the 
number of folders to manage in SC. In practice it probably doesn't matter, if 
you have lots of dictionary folders or one folder with lots of items as we do.

Release strategy. I use a program, but we also looked at make and the 
Perforce equivalent. These are nice because they can check dependencies - 
however, it was overkill for us so I just have a program that copies everything 
from a 'drop' location into the target system and compiles and runs any setup 
programs.

Hope that helps,
Stuart

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Saturday, 20 August 2011 00:57
To: U2-Users List
Subject: [U2] [UV] Microsoft Team Foundation Server for Source Control

Has anyone had any experience using Microsoft's Team Foundation Server for 
source control with UniVerse on a Linux server?  I have the command line client 
functional and talking to the TFS server.  I know I'll have to write some kind 
of interlude to manage those items in hashed files to get them out into the 
file system where they will be visible to the TFS client and to do the reverse 
upon checkout.  What I'm looking for are some ideas for organizing in the TFS 
repository.  Also, we're looking for a one-button deployment solution to be 
able to deploy our Windows/.NET software to the respective Windows servers 
along with the UniVerse software to the UniVerse server(s), run processes to 
create/delete files, index, etc. and compile and catalog BASIC programs.  I 
know I'll probably have to build this thing to make this happen as I 
seriously doubt there is anything available off the shelf capable of doing 
this.  Anyone been down this path?

Thanks.
Perry Taylor
Zirmed, Inc.


CONFIDENTIALITY NOTICE: This e-mail message

Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-23 Thread Boydell, Stuart
What source are you keeping that has 2.5 million records

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Wednesday, 24 August 2011 01:39
To: U2 Users List
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

Thanks to everyone for some very interesting points.  I am particularly 
intrigued by Stuart's handling of dictionaries using triggers.  One particular 
challenge I may face is one particular hashed file (not a dictionary) which 
contains 2 1/2 million records that are under source control today.  Copying 
them out to a directory might pose some problems with inode consumption.

Perry


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-23 Thread Perry Taylor
Not source but code lists which are updated at different intervals.  Some 
examples: ZIP, CPT, ICD9, etc.


- Original Message -
From: Boydell, Stuart [mailto:stuart.boyd...@spotless.com.au]
Sent: Tuesday, August 23, 2011 07:49 PM
To: U2 Users List u2-users@listserver.u2ug.org
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

What source are you keeping that has 2.5 million records

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Wednesday, 24 August 2011 01:39
To: U2 Users List
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

Thanks to everyone for some very interesting points.  I am particularly 
intrigued by Stuart's handling of dictionaries using triggers.  One particular 
challenge I may face is one particular hashed file (not a dictionary) which 
contains 2 1/2 million records that are under source control today.  Copying 
them out to a directory might pose some problems with inode consumption.

Perry


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

CONFIDENTIALITY NOTICE: This e-mail message, including any 
attachments, is for the sole use of the intended recipient(s) 
and may contain confidential and privileged information.  Any
unauthorized review, use, disclosure or distribution is 
prohibited. ZirMed, Inc. has strict policies regarding the 
content of e-mail communications, specifically Protected Health 
Information, any communications containing such material will 
be returned to the originating party with such advisement 
noted. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the 
original message.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-23 Thread Boydell, Stuart
Hi Perry,
I'd strongly suggest normal backup would be a better strategy for those items.

Source Control is really designed for those things that you use to build a 
system. Code, parameters, schema (file  dictionary) generation scripts, etc.  
The data for that system would typically *not* be kept in source control 
(unless you're feeling masochistic ;).

Just in case you haven't seen this: http://tfsguide.codeplex.com/ has 
guidelines for what you want to do and which is TFS specific.

Also, from what I just read, TFS is not case sensitive which will be an issue 
if you ever have 2 items under control with differently cased equivalent names. 
Payroll.Rpt  PAYROLL.RPT

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Wednesday, 24 August 2011 10:50
To: 'u2-users@listserver.u2ug.org'
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

Not source but code lists which are updated at different intervals.  Some 
examples: ZIP, CPT, ICD9, etc.


- Original Message -
From: Boydell, Stuart [mailto:stuart.boyd...@spotless.com.au]
Sent: Tuesday, August 23, 2011 07:49 PM
To: U2 Users List u2-users@listserver.u2ug.org
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

What source are you keeping that has 2.5 million records

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Wednesday, 24 August 2011 01:39
To: U2 Users List
Subject: Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

Thanks to everyone for some very interesting points.  I am particularly 
intrigued by Stuart's handling of dictionaries using triggers.  One particular 
challenge I may face is one particular hashed file (not a dictionary) which 
contains 2 1/2 million records that are under source control today.  Copying 
them out to a directory might pose some problems with inode consumption.

Perry


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and may contain confidential and 
privileged information.  Any unauthorized review, use, disclosure or 
distribution is prohibited. ZirMed, Inc. has strict policies regarding the 
content of e-mail communications, specifically Protected Health Information, 
any communications containing such material will be returned to the originating 
party with such advisement noted. If you are not the intended recipient, please 
contact the sender by reply e-mail and destroy all copies of the original 
message.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-19 Thread Doug Averch
Source code control using TFS is not easily done. Microsoft created a
command line client and a plugin for Eclipse.  See
http://www.microsoft.com/download/en/details.aspx?displaylang=enid=4240.
 However you want to accomplish this, you must create a script to copy the
files to a local directory from TFS version control since it does not
understand Universe file system.

[ad]
We have a client that has accomplished this using our Eclipse plug-in
editor, called XLr8Editor.  With the TFS plugin from Microsoft, this allowed
them to copy the data files and dictionary files locally.  From their local
drive they can use another Eclipse plugin, called XLr8Installer.  That
plugin creates the files, copies the dictionaries, creates the indexes,
copies the data, compiles the programs and catalogs the programs.
 Installations come out perfect every time and take just minutes versus the
days we use to take to do it by hand with the copy command.
[/ad]


Regards,
Doug
www.u2logic.com
The Eclipse plugin experts for U2
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-19 Thread Wols Lists
On 19/08/11 22:57, Doug Averch wrote:
 Source code control using TFS is not easily done. Microsoft created a
 command line client and a plugin for Eclipse.  See
 http://www.microsoft.com/download/en/details.aspx?displaylang=enid=4240.
  However you want to accomplish this, you must create a script to copy the
 files to a local directory from TFS version control since it does not
 understand Universe file system.
 
To which I would add - is TFS similar to sourcesafe, ie a centralised
version control system? Having used sourcesafe, it's a ***ing nuisance
if more than one programmer wants/needs to work on the same code at the
same time.

Look at using a DVCS such as git in addition to / instead of it. Even if
you use TFS as your main source control, if programmers use git as their
local source control they can write and test their work without needing
to check out the central code. Then when they're ready, sync their local
tree to the centre, checkout, one last QA run of their changes, checkin,
and off they go again. That way, the central repository is only ever
checked out for short intervals, and even if several programmers are
working on the same code, they aren't trampling over each other's code.

Cheers,
Wol
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] Microsoft Team Foundation Server for Source Control

2011-08-19 Thread Boydell, Stuart
Hi Perry,
I use Perforce (P4) - similar (but different). Not sure what best practice is 
for TFS repositories is but with P4 and other Source Control (SC) systems 
something like the following should work.

//function/branch/path/item

1. Starting with a functional area - a project or a defined set of artefacts 
which make a up a particular system (eg Payroll)
2. branch - this is usually MAIN (eg the current, main or head version) - we 
occasionally have different branch versions for Australia  NZ or for a release 
branch. A commercial software developer would probably keep their major 
releases in different branches.
3. path - you should probably just start at the account directory. So if your 
complete path to the payroll account was: /usr/uvaccs/dev/perry/payroll/.. you 
would start at the *../payroll/..* level of the path and ignore the stuff 
before it. 
Not sure how TFS maps to the workspace, but I guess that you are able to give 
it a relative path like most SC systems.
4. The item under control.

So you might end up with //Payroll/MAIN/PAYROLL/PAY.BP/PRINT.PAYSLIPS

Also, not sure how TFS handles case sensitivity - this would be an issue if it 
regards Payslip  PAYSLIP as the same item.

As far as hashed item go: convert everything you need to control to type 19 
directory files (except dictionaries - see below). 
Why? Because you should only need to do this in dev. For all other environments 
the items should only be copied in (deployed) from a release file - so will be 
able to be plonked into hashed files by UV copy.

If you can't convert them for some reason (like you have binary in them?!), 
you'll probably need to put a trigger onto your hashed files to manage the 
controlled items.

Dictionaries - have to be hashed because otherwise I-types won't compile or 
work. So, I have a trigger for the dictionary that writes out the item to a 
type 19 file under source control. It truncates the I-type attributes after 
about att 10 so you don't get the binary in the repository. It also manages 
which SB+ items get put in and out of SC.
If the item is not checked out from SC for edit before you try to edit the 
dictionary, the trigger will rollback the copy and gracefully tell you that you 
need to check out the item before editing it. On save it updates the type 19 
copy after which it needs to be checked in.
In my case I have 1 file set up for all the dictionary items. I use an assigned 
key and a lookup file to manage them. The thinking behind it was to reduce the 
number of folders to manage in SC. In practice it probably doesn't matter, if 
you have lots of dictionary folders or one folder with lots of items as we do.

Release strategy. I use a program, but we also looked at make and the 
Perforce equivalent. These are nice because they can check dependencies - 
however, it was overkill for us so I just have a program that copies everything 
from a 'drop' location into the target system and compiles and runs any setup 
programs.

Hope that helps,
Stuart

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Saturday, 20 August 2011 00:57
To: U2-Users List
Subject: [U2] [UV] Microsoft Team Foundation Server for Source Control

Has anyone had any experience using Microsoft's Team Foundation Server for 
source control with UniVerse on a Linux server?  I have the command line client 
functional and talking to the TFS server.  I know I'll have to write some kind 
of interlude to manage those items in hashed files to get them out into the 
file system where they will be visible to the TFS client and to do the reverse 
upon checkout.  What I'm looking for are some ideas for organizing in the TFS 
repository.  Also, we're looking for a one-button deployment solution to be 
able to deploy our Windows/.NET software to the respective Windows servers 
along with the UniVerse software to the UniVerse server(s), run processes to 
create/delete files, index, etc. and compile and catalog BASIC programs.  I 
know I'll probably have to build this thing to make this happen as I 
seriously doubt there is anything available off the shelf capable of doing 
this.  Anyone been down this path?

Thanks.
Perry Taylor
Zirmed, Inc.


CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and may contain confidential and 
privileged information.  Any unauthorized review, use, disclosure or 
distribution is prohibited. ZirMed, Inc. has strict policies regarding the 
content of e-mail communications, specifically Protected Health Information, 
any communications containing such material will be returned to the originating 
party with such advisement noted. If you are not the intended recipient, please 
contact the sender by reply e-mail and destroy all copies of the original 
message.
___
U2-Users mailing list