Delphi in the workgroup
Serge Dosyukov recently posted about the speed of the Delphi installer. While I agree that it's annoying to have to wait for the initial installation, I find that one of the largest failures in most development environments (including Delphi) is uniformity in a group setting.
For some reason, you can use products like subversion to manage your source code, but there is no product to standardize and manage your development environment. In our case, we have a handful of developers who all are working on different aspects of a large application (>1 million lines of code). We need to be able to manage the third-party add-ons and Delphi patches in a uniform way. The only method of doing this (to my knowledge) is to carefully install everything in the same paths and, usually, same order.
At one point I thought we could be clever and tried to install all add-ons to a networked drive for every workstation to minimize the amount of thrash we encounter when installing SP for the add-ons. Needless to say, that was a terrible idea. We encountered problems with locks being placed on the files which caused Delphi to either crash outright or to remove the packages that were causing the problem. It's a little disingenuous to say that it "removed the package". It prompted for the removal of the package. If we didn't, Delphi simply shut down.
I think the development environments should be modeled on a source control system. I don't mind the base install with the licensing restrictions, etc., etc. Once the base install is there though, I would like to be able to connect to a source repository that actually understands Delphi, it's add-on structures, and the registry entries needed to run, and be able to sync the changes up or down. That would let me take an add-on, install it on a test machine to make sure it works, sync it and then clone it down to the workstations. Better still, once the repository is built, let me roll back in time to something that is stable if we discover 3 months after a SP release that project XYZ just doesn't work with that SP.
If CodeGear got clever, they could setup an open API that would let the add-on vendors install to the repositories and deal with the licensing issues that everyone is concerned about. Sort of an Apple Store in an open and transparent fashion (gasp!). Obviously, you could actually set the repository system up to be a true retail presence and let the add-ons register and sell via the repository. I'm sure everyone who is using Share-It is paying a small fee anyway. Wouldn't it be a better idea to capture that fee AND make everyone's life easier at the same time?
How do you handle the group environment? The last time we looked at this problem in depth we were on D7. Is there a better way in D2007?
For some reason, you can use products like subversion to manage your source code, but there is no product to standardize and manage your development environment. In our case, we have a handful of developers who all are working on different aspects of a large application (>1 million lines of code). We need to be able to manage the third-party add-ons and Delphi patches in a uniform way. The only method of doing this (to my knowledge) is to carefully install everything in the same paths and, usually, same order.
At one point I thought we could be clever and tried to install all add-ons to a networked drive for every workstation to minimize the amount of thrash we encounter when installing SP for the add-ons. Needless to say, that was a terrible idea. We encountered problems with locks being placed on the files which caused Delphi to either crash outright or to remove the packages that were causing the problem. It's a little disingenuous to say that it "removed the package". It prompted for the removal of the package. If we didn't, Delphi simply shut down.
I think the development environments should be modeled on a source control system. I don't mind the base install with the licensing restrictions, etc., etc. Once the base install is there though, I would like to be able to connect to a source repository that actually understands Delphi, it's add-on structures, and the registry entries needed to run, and be able to sync the changes up or down. That would let me take an add-on, install it on a test machine to make sure it works, sync it and then clone it down to the workstations. Better still, once the repository is built, let me roll back in time to something that is stable if we discover 3 months after a SP release that project XYZ just doesn't work with that SP.
If CodeGear got clever, they could setup an open API that would let the add-on vendors install to the repositories and deal with the licensing issues that everyone is concerned about. Sort of an Apple Store in an open and transparent fashion (gasp!). Obviously, you could actually set the repository system up to be a true retail presence and let the add-ons register and sell via the repository. I'm sure everyone who is using Share-It is paying a small fee anyway. Wouldn't it be a better idea to capture that fee AND make everyone's life easier at the same time?
How do you handle the group environment? The last time we looked at this problem in depth we were on D7. Is there a better way in D2007?