How do you handle Crestron software updates with multiple programmers
Company is growing, we now have a few Crestron programmers (I used to be the only one), and I'm running into what I think is an issue. Basically going behind each other and not being on the same release of software, sometimes it creates issues other times it fixes issues. How do other teams of programmers handle keeping everyone on the same version of software or is this something I shouldn't worry about. My brain is telling me not to update unless there is a reason (new feature, new devices, etc), if the version of software I'm running works, don't fix it.
Posted Feb 20, 2019, 3:55 PM UTC
We've found that Crestron software versions are less of an issue than individual programmers reliably backing up their client files to a central repository. It's especially bad if the operation is often in "fire" mode where everyone is running around trying to get things done last second. Things end up disorganized, people forget to back up or check file versions before modifying code- it can be a real headache.
I know this will get laughed at, but we have programmers all over the world and have found Dropbox working well for us. A couple of us have direct Dropbox access and the rest use a corporate FTP interface to get access.
A little discipline, like always changing the rev of code and VTP files goes a long way, long with filling in info in the program header.
Also, make sure everyone works with a path which shows their user name, so if something does go wrong with the process, a simple PROGCOM command will point at the likely culprit.
Honestly, I've tried GIT and a couple of other option and none seem to blend very well with Crestron. Incremental backups just aren't very relevant. Make sure all source is included in S# projects (easy setting) and back up the COMPILED.ZIP and you should be good.
The biggest problem for use is the skipped/reverted rev issue, where you need to make new rev (different display etc.) and then walk it back, causing confusion if good notes don't exist.
God knows what people do that actually try to use Studio. May God have mercy on their souls.
[deleted]
Discipline, central file location, Rev #s, initials in the project path, program header notes- all these things are key to keeping sanity (somewhat) intact. Also I really don't like the new tiny program header window. They ought to open it back up...
We used a couple repository solutions where I work over the years, and found them to be complete overkill.
It always comes down to discipline. Tools are helpful, but they will never fix the human element.
Luckily for us, all of our full time programmers get to learn and train in the service department. They get exposure to a wide range of gear and they understand the importance of file structure and backing up systems. We've been selling Crestron for 20 years but in those 20 years there have been numerous programmers come and go with the company, not all of them have been good about back ups. Service is a great training tool!!
This is why I just use dropbox for all my files, especially Crestron projects. It's automatic and you don't have to worry about it. I do have to pause it while working so just remember to reenable it every once in awhile. I'll also manually backup to a separate SSD HDD once in awhile for good measure.
For multiple programmers you'd just use dropbox for teams, and anytime someone opens a program to make a change they do a save as with a new version number, maybe even add their initials to the end so it's obvious who worked on it last. Now that SIMPl automatically creates local project databases and complete zip files on compile missing drivers or different versions of drivers aren't really a problem anymore.