[Vtigercrm-developers] vtigercrm-developers Digest, Vol 80, Issue 17

Adam Heinz amh at metricwise.net
Wed Sep 19 06:35:33 PDT 2012


Welcome to my world!  I inherited a heavily customized vtiger 5.0.4
installation two years ago, but have managed to merge in 5.2.1 and
more recently 5.3.0 (still in testing).  There are two main parts to
getting this working: merging the code and migrating the database.

For migrating the database, I've pasted the script [1] I used for the
5.0.4-5.2.1 transition at the end of the email.  You'll also need to
comment out the part of migration that unpacks zip files [2].

Merging is a bit hairier.  Basically, you need to apply the difference
between the two vtigercrm branches against your customized branch.
Standard three-way merge.  5.0.4-5.2.1 took me five days, but
5.2.1-5.3.0 only one day.  An important gotcha to note is that due to
the unusual file layout in the pkg subfolder, you'll have to do
additional three way merges to flatten out the file hierarchy into its
final deployed state, assuming you're using optional modules.

After performing both of these halves, we did a full test regression,
consuming 1-2 weeks of QA personnel each time.  If I can give one
painfully learned piece of advice after two years of this situation,
it's to use vtlib to write your own modules from scratch, and avoid
editing core modules whenever possible.  Use event handlers when
possible to change behavior of core classes.

On Wed, Sep 19, 2012 at 6:47 AM, Riccardo Franconi
<r.franconi at e-xtrategy.net> wrote:
> Hi Alan,
>
> we working on 5.2.1 which hasn't this feature .. and probably we cant't
> upgrade the system to 5.4 ... we have strongly customized the GUI and some
> core modules ..
>
> other solution ???
>
> Anyway, thank you very much ..
>
> Ric.

[1]
<?php
set_time_limit(0);
require_once('include/database/PearDatabase.php');
require_once('include/install/language/en_us.lang.php');
require_once('include/install/resources/utils.php');
require_once('include/utils/utils.php');
require_once('vtlib/Vtiger/Package.php');
require_once('vtigerversion.php');
$migrate = array(
	'old_version' => '504',
	'root_directory' => '.',
	'selected_optional_modules' =>
'Assets:ModComments:RecycleBin:Tooltip:Webforms',
	'source_directory' => '.',
);
Migration_Utils::migrate($migrate);

[2]

Index: PackageImport.php
===================================================================
--- PackageImport.php	(vtlib/Vtiger/PackageImport.php)	(revision 3181)
+++ PackageImport.php	(vtlib/Vtiger/PackageImport.php)	(revision 3181)
@@ -346,7 +346,7 @@
 					}
 				}
 			} else {
-				$module = $this->initImport($zipfile, $overwrite);
+//				$module = $this->initImport($zipfile, $overwrite);
 				// Call module import function
 				$this->import_Module();


More information about the vtigercrm-developers mailing list