views:

378

answers:

3

I'm working on a Flash project right now and I am having to force a designer into using our Source Control repository (SVN) to help manage and track the project. It's been a bit of an uphill battle to fully get him to embrace the benefits of source control, but it's coming along.

I haven't had to use source control for a Flash project before other than on projects where I was the only person working on it. I'm starting to discover there are some addition workflow pieces you need to implement around it so you don't have a nightmare fighting binary files.

Since I'm mostly working on the code, I've place all the ActionScript files into external files so I can work on them while the designer works on the FLA file with all the graphics. This seems to be working out alright, but when I need to change instance names and the like, I have to make sure I communicate well so we don't run into any issues.

I was wondering how other people handle Flash in source control and how they manage the workflow so a developer and designer can be working on the project at the same time.

Thanks.

+1  A: 

Hi Ryan,

You pretty much have the solution there. Communication is a very important part of version control systems and with binary files you need to be a lot more mindful of it. Unfortunately a lot of people just assume the software is the end all solution and team communication goes out the window.

I have made the mistake of evangelizing SVN to a client with a very large Flash codebase. I don't know if they will ever let me into that building again. Where I failed was that I was unable to change the culture of the organization so that there was more communication between people working on a project and as a result there was more yelling about who conflicted the .fla's.

Maybe adopt a daily scrum meeting ( some call it stand up ). Every morning have a five minute meeting and mention what you will be working that day and which files you may touch. If there is any probability that there will be conflicts be sure to communicate throughout the day while you work. This way no one is in the dark as to why svn is saying there is a conflict on a fla file.

I hope this helps.

Talesh
+1  A: 

I agree that separating your actionscript code is the best way to go, but for binary assets you may want to use locking if you run into too much friction.

Locking also has the benefit that it makes more sense to people who aren't developers, of course they have to understand the associated risks, so communication is, as always, very important.

Si
Locking doesnt work. If you lock a fla, I can still make tons of edits, then I am screwed. Either I wait for you to unlock then redo all my changes or try to force something and break things for you. Proper communication is the only solution.
Talesh
A lock is a strong indication, i.e. a form of communication, that a file is in use and should not be modified, that's the main reason for locking in Subversion. If someone can't understand that concept, then they're probably going to have a harder time resolving merge conflicts on an unlocked file.
Si
by the way, you shouldn't have to "redo all my changes", as locked files can be made read-only by non-lock holders (see svn:needs-lock). And if you are forced to break locks then that's also a sign of communication failure.
Si
The implementation of locking helps yes, but given what Ryan said, he is working with a stubborn designer not a developer. They tend to not update and start making changes to a fla. Read-only doesn't help there.
Talesh
+1  A: 

This isnt so much an answer as a follow up. I am a developer working on a web app that uses aLOT of Flash files, I too keep AS code in separate files (as far as possible). There are PHP files also and some javascript, libraries, graphics etc.

I have really just been creating a trunk/branch system on my local drive to avoid breaking older versions and allow me to safely experiment with features etc. This gets busy quickly however.

I have been advised to use GIT for source control and can see the benefits of this for larger organisations with more developers, as it is I am a sole developer so really just want a good solution for backup and keeping track of changes I have made. Ive never used GIT before and it seems to have a steep learning curve... so I looked at Adobe Version Cue, much simpler to set up.

Has anyone got experience using version cue? Is it easy to revert to previous versions? My main problem with SVN (which Ive used when working in a team of developers) is that it doesn't suit Flash as you have pointed out.

undefined