Need a release manager

The Great Apple

Big Cheese
Joined
Mar 24, 2002
Messages
3,361
Location
Oxford, England
Doing some admin...

Basically, what we need is somebody who is prepared to combine source code for different mod, as well as maintain the current versions of the source-code and mod files both on SourceForge and on CFC. They'll probably also have to do the announcing new for versions of the mod as well as any beta/alpha releases we do.

Anybody up for it?
 
Belizan said:
You'll probably want to set up a CVS or subversion server, as well, for source control, versioning and team management. Alternatively, we could try to set up something on Source Forge (which I've only personally worked with in passing :/ ).
What are they? Never come accross the tems before.

Okies - SpoiledFruit, do you want to make a post with the current source code & dll (ie. nothing at the moment) in this forum and I'll talk to TF about stickying it.
 
Which terms? CVS and Subversion are both source control utilities. As is Source Forge, and to a lesser extent Source Safe.

The primary purpose of a source control utility is to allow programmers working on the same project to track and adjudicate who is working on which files at any given time. All the ones I've mentioned above also allow for the tracking of versions (called versioning), and allow you to "roll-back" to previous versions of each file as necessary. Beyond that, the features of the above diverge. Source Forge is a GNU-like open source kinda project management website where folks can gather and use their services to coordinate non-profit projects. They use CVS, as I recall, but also add ftp service for distributing releases, forums, membership tracking and the like.
 
I had a glimps on the SF CVS. Although I did some management functions on SF in the past, I never touched the CVS. My impression is that it is a bit bulky. Does anybody else has some experiences with it?

Anyway, I would like to do a proposal to start a discussion about how we can manage our sources and releases :

1.) Source managment:
a.) we use SF for release versions only. So everybody can DL the officially released version there.

b.) we use SpoliedFruits 2k3 Server for the versions in-work. Only project members have access there. Because each check-out locks the file for others, the check-out times should be reduced to a minimum.

c.) each programmer of the team will have his local copy of the SDK (of course). There we do our changes. After we finished our package, we synchronize the results with the version at SpoiledFruits server, file by file.


2.) Release management:
a.) if possible, everybody should annouce the changes he would like to do and what time he "thinks" he need for it. A very rough estimation is more than enough. Then he synchronizes his local SDk with the one from SpoiledFruits server and start wotking on it. When he finished his implementation and testing (!!!) he looks for the files he changed, checks them out from Spoiledfruits server, merges the versions and checks them in again. As already mentioned, this should be quick operation.

b.) from time to time we should decide to make a release. That means, the current version will be closed for implementation and will go into a test phase. We need that test phase, because there may be conflicts between some packages.

c.) After internal test phase is fnished, we do an official release (beta or alpha) which is put on Source Forge for public download.

d.) The new release is then base for the next loop starting again at point a.


In general this is more or less the typical release cycle of a software :
- specification phase,
- implementation phase,
- test phase,
- release


Because I don't think that we need a big specifcation phase at the moment we should reduce to the a simple anouncement of what somebody wants to do. But this information is of use to get a feeling about the next release date.
The test phase could also be split into a internal test and an public test (beta relaese), but this is something to be discussed.

As stated above, this is something to start a discussion, so let me hear your comments please.
 
12monkeys said:
I had a glimps on the SF CVS. Although I did some management functions on SF in the past, I never touched the CVS. My impression is that it is a bit bulky. Does anybody else has some experiences with it?

I've used SVN in the past:

http://subversion.tigris.org/

http://en.wikipedia.org/wiki/Subversion_(software)

Once I got the hang of it, I thought it was really rather good. But then again, since it's the only versioning system I've used, I don't have anything to compare it with.
 
All sounds good!
12monkeys said:
2.) Release management:
a.) if possible, everybody should annouce the changes he would like to do and what time he "thinks" he need for it. A very rough estimation is more than enough. Then he synchronizes his local SDk with the one from SpoiledFruits server and start wotking on it. When he finished his implementation and testing (!!!) he looks for the files he changed, checks them out from Spoiledfruits server, merges the versions and checks them in again. As already mentioned, this should be quick operation.
Can I suggest that the announcements be made in the forum, with specific threads for each specific set of changes, and that people remember to update the "Mods in Progress" with whatever they happen to be doing at the time, along with the ETA.
 
I dont realy see why we should be keeping source in 2 different places, I am not familiar with running a project off SF but I see projects their all the time that have stable releases and unstable development version coexisting. Whats the advantage to using Spoiled Fruits server for development rather then SF?
 
May we have some contact point or proxy/agent for Firaxis?
We have lots of question and some request to ask to Firaxis developer.
It would be best if at least one Firaxis developer with source code access periodically visit here and answer our question and relay our opinions to Firaxis. Or alternatively as second best, one person here in our group who did beta-test SDK, act as such proxy for us and do similar work by contacting Firaxis people.
We need documentaion other than source code. Especially for API's documentaion for part of code that was not included in this SDK release. Python API doc string is far from enough and very uninformative. I am not asking full formal/internal documents but at least quick cheat-sheet level of under-documented un-explained API calls without source code. There must be at least minimal documentaion, however rough and informal it may be.

My opnion on SVN/CVS:
I prefer SVN. I had some more experince with it. But CVS will be OK to me, too.
SVN has more features but it is less widely used and has less variety of user-level tools are avilable than CVS.
 
SimCutie said:
May we have some contact point or proxy/agent for Firaxis?
I very much doubt many of them will have much time to spare given Warlords is only a few months away. It's also not the sort of thing that they do in general.
 
Impaler[WrG] said:
I dont realy see why we should be keeping source in 2 different places, I am not familiar with running a project off SF but I see projects their all the time that have stable releases and unstable development version coexisting. Whats the advantage to using Spoiled Fruits server for development rather then SF?

The main reasons to have two locations is, that we should reduce SF downloads/uploads to a minimum, because the performance and stability is very poor (at least from here). I expect it to be better at SpoliedFruits server, but this is just a guess (or wish ;)). Also; I'm not sure about the CVS at sourceforge, but this is just a feeling.
On the other hand I don't want to save everything on SpoiledFruits server, because if the "tree" factor (this is the factor which plays a role, when SpoiledFruit has a car accident and hits a tree). Then everything is lost for us. Having the major releases at SF, would safe at least the major releases for everybody.

As I said, everything is just a suggestions. I do only know Visual Source Safe, so I don't have anything to compare. I'm quite sure we could live with SVN and CVS, so its nothing critical.
 
Just for your info:

Server 2003 Computer -
Pentium 4 3.60GHz
2GB RAM
Primary 10GB HD (For OS Only)
Secondary 80GB (Data Backup) and 200GB HD (Program and File Storage Drive)
DVD Burner (for hard copies in case of computer virus or bad HD)

Network:
1.5Mbps Upload
200Mbps Download
2 Firewalls (External Firmware and Internal Software)
Static IP

I was thinking of making the source code lockable so that someone can reserve that file like a library book. This way no one can suddenly add changes to the source file while someone may still be in the process of adding new code. You could still download files, but new uploads would only be allowed by the person who reserved the file. Once the file is free, another developer could upload the new file version, add the new code he/she was working on, test it and upload it with a new file version.

I would make sure that the submitted files use the latest version (excluding changes, obviously) and I would make sure that no one has a file reserved for an excessively long amount of time (24-48hrs). If longer time is needed, users would just PM me before reserving the file.

Every person involved in the project will have a username and password assigned to them, all you would need to do is PM me.

Right now I am just reformating and reinstalling Server 2003 (had a buch of test crud - Clusters, POP3, AD, Etc) so it should be back up this weekend when I get time.
 
SpoiledFruit said:
Just for your info:

Server 2003 Computer -
Pentium 4 3.60GHz
2GB RAM
Primary 10GB HD (For OS Only)
Secondary 80GB (Data Backup) and 200GB HD (Program and File Storage Drive)
DVD Burner (for hard copies in case of computer virus or bad HD)

Network:
1.5Mbps Upload
200Mbps Download
2 Firewalls (External Firmware and Internal Software)
Static IP

I was thinking of making the source code lockable so that someone can reserve that file like a library book. This way no one can suddenly add changes to the source file while someone may still be in the process of adding new code. You could still download files, but new uploads would only be allowed by the person who reserved the file. Once the file is free, another developer could upload the new file version, add the new code he/she was working on, test it and upload it with a new file version.

I would make sure that the submitted files use the latest version (excluding changes, obviously) and I would make sure that no one has a file reserved for an excessively long amount of time (24-48hrs). If longer time is needed, users would just PM me before reserving the file.

Every person involved in the project will have a username and password assigned to them, all you would need to do is PM me.

Right now I am just reformating and reinstalling Server 2003 (had a buch of test crud - Clusters, POP3, AD, Etc) so it should be back up this weekend when I get time.

What software version tool do you plan to use?
 
The Great Apple said:
I very much doubt many of them will have much time to spare given Warlords is only a few months away. It's also not the sort of thing that they do in general.
Firaxis invested much time and effort to make the Civ4 user modable game, If it was not designed to be user-moddable from the beginning, they would have saved quite a much time and effort ( and money too) in developing it.
So success of modding community is important to them, too, to justify the investment already put to it.
To let a developer visit here regularly like once a week and answer some question in forum or having technical chatting for a while from time to time (once a month ?), or having some e-mail or mailing list discussion for techical Q/A would not take too much time and effort for them.
But its benefit would be enormous. A problem which will take a few hour or even few days for us to solve can be answered and solved in few minutes with their help. We can do Civ4 modding much better even with their minimal help.
For them, it will be their oppotunity to express their opinion and have influence on this project.
Most of all, psychological feeling that we have some "last resort" and being supported by Firaxis will encourge whole modding community very much.

Why not try to establish such a precious oppotunity? It would not cost us a penny even if we are refused. I think that it is at least worth a try.
I am not English native speaker as you may see from my writing. So I would be last person fit for this job.
But if anybody here does not volunteer to try it, I will. Any one interested in it?
 
EDIT: Damn, I deleted the last version of this post. Now to try and remember what was in it...

You're right - we have nothing to lost by asking.

On a different note, when do people think we should aim for for a first release date? It would seem that pretty much everything has been set up, or is about to be set up, and personally I'd quite like to see something released which will help us to gain momentum. Can I suggest May 17th (3 weeks time) as this date? It seems this will be long enough so that we will have time to make some fairly large changes, while near enough to prevent us losing momentum. I also like Wednesdays.

Also, I was wondering what people thought about making this forum public after the first release. It seems to me it would bring more publicity, and more people, to the mod. Neither of these things can be bad can they?
 
Shouldn't be a problem for me. My server will be up by then and my options tab addition should be done as well.

Everyone who adds a new function call should put this in there code:
Code:
if (bCppEnabled == true)
{new function}
else
{old function}

This way the new options tab will work.
 
Back
Top Bottom