
Hi Dan,
DKing@carms.ca 03.08.2007 16:43 >>> Hi list,
I have a question that I hope I can have some recommendations for. I have recently implemented OTRS where I am working and have found it to be a great package for dealing with clients. My boss wants some modifications to the software to suit their business needs. Most of these modifications I have the ability to make in sysconfig but some I do have to modify the source code. I could potentially commit these to the repository but I am sure almost all of them would not be used and just change the layout of tickets and such and I don't know the system or perl quite well enough to make them adaptable in sysconfig, atleast yet but hopefully in the future I will be able to change this.
My problem is that to take advantage of the updates released by OTRS requires rewriting the code everytime I overwrite the older > files with newly released files. I was curious if anyone has any suggestions in logging the files I have changed and such so I can easily alter the newly released files to the customizations my boss wants.
The best way would be to setup your own version control. Then you can merge the official updates into your own codebase. Otherwise, if you are using linux or another unix like OS you can use a poor man's version control. Here's how its done... You can install the source to a different directory than where you run it from. Try keeping the version number in the directory name as it helps to keep things clear. Recreate the directory structure from the original source in a directory where you want to run OTRS from. (running copy) Make a symlink to every file in the source directory, in your running copy. Whenever you change a file, remove the symlink from the running copy, and copy the modified file into its place. That means make a copy of the original and modify that, do not modify the original. This way when you update the OTRS source to a new version, you just need to merge the new code into the files which you changed. You can then use "find -type f -print" to find the ones you modified yourself. Use "diff" to create patches to your modified files, and "patch" to reinsert them into a copy of the newer version. I would suggest creating the patches using diff before putting your modified version live. This way you have a double check as to which files you changed, using find and your patches. When you are done modifiing your version for an OTRS update, change the symlinks to the new source directory, and copy your newer modified versions in place to the running copy. If you make a script to update the symlinks, and a tarball of your modified versions which the script can also unpack, an update can be done quickly, even after hours without anyone having to be around... Also, if you give it some though you can use the same script for rolling back when you have unexpected problems. Gee, I hope all of that made some sense to you. If not, but it sounds interesting to you, you can feel free to contact me off list.
Thanks for the suggestions I really appreciates it.
No problem... Regards, Scott Scott Storck Information Technology --------------------------------------------------------------------- Topdeq Service GmbH Werner-von-Siemens-StraÃ*e 31 D-64319 Pfungstadt Phone +49 6157 159-444 Fax +49 6157 159-333 scott.storck@topdeq.com Geschäftsführer: Didier Nulens, Delphine Jean Sitz der Gesellschaft : Pfungstadt, HRB Darmstadt 7294 www.topdeq.biz www.takkt.com