Explicit Explicitly Open Living

tadalafil similares cialis achat kamagra vente cialis thailande cialis veritable generique viagra cialis duree d'action clomid en ligne cialis 10mg prix achat levitra cialis pharmacie comprar cialis 5 mg acheter viagra canada acheter viagra en pharmacie acheter cialis paris achat cialis suisse viagra sin receta acheter clomid sans ordonnance prix tadalafil kamagra acheter acheter cialis moins cher comprar viagra seguro finasteride en ligne generico viagra españa comprar viagra con seguridad acheter viagra montreal cialis en españa medicament cialis generique cialis 20mg comprar cialis farmacia tadalafil comprar viagra au quebec prix viagra 50 cialis comprar online lasix 40 mg comprar viagra paypal ordonnance cialis acheter cialis sur internet viagras pour femme cialis pas cher comprar levitra por internet achat cialis tarif viagra pharmacie farmacias viagra remboursement cialis cialis o viagra cual es mejor cialis moins cher acheter clomid compra cialis españa viagra generica viagra farmacias generique zithromax veritable viagra viagra livraison express viagra farmacia ahumada cialis 10mg comprar levitra 20 mg trouble erection cialis a vendre viagra achat viagra pharmacie ordonnance prix levitra 20mg cialis 5 prix viagra vente libre france strattera 10 mg viagra en pharmacie kamagra sobres acheter viagra en ligne forum propecia sur ordonnance medicament viagra levitra moins cher prix cialis en pharmacie comprar levitra acheter viagra pfizer propecia moins cher prescription propecia achat viagra femme viagra precios farmacia viagras genericos priligy andorre viagra generique pharmacie comprar cialis en españa viagra vente libre andorre acheter viagra en andorre viagra pharmacie andorre venta viagra ciprofloxacin 500mg vendo viagra viña del mar prix levitra pharmacie forum cialis generique kamagra en france levitra a vendre acheter viagra moins cher viagra necesita receta vrai viagra cialis vente libre tadalafilo levitra pas cher viagra le prix viagra generico comprar viagra generico funciona dysfonction erectile cialis tabletas viagra prix belgique precio viagra argentina acheter viagra cialis viagra pharmacie paris zithromax prix vente cialis en belgique commande viagra canada acheter sildenafil levitra en farmacias del ahorro cialis generique forum cialis precios viagra prix en france levitra bayer precio cialis comprar viagra se vende con receta amoxicilline médicament cialis generica tadalafil farmacias similares viagra cialis acheter commander cialis generic cialis 20mg belgique levitra pastilla comprar viagra cialis pilule viagra viagra remboursement secu generique sildenafil citrate cialis moins cher en pharmacie acheter cialis pas chere levitra medicament tadalafil pas cher citrate de sildenafil acheter clomid levitra sur le net cialis pas cher en france viagra vente libre viagra sans ordonnances achat clomid viagra achat france paxil achat vendo viagra santiago viagra sur internet precio cialis 10 mg viagra generique pas cher viagra inde cialis authentique levitra compra prix strattera acheter viagra en belgique precio levitra precio cialis 20 mg accutane prix comprar viagra farmacia achat viagra en france medicament impuissance viagra pour femme achat prix cialis 5mg viagra generico precio cialis levitra comparison viagra commande cialis prix viagra prix de vente levitra precio cialis vrai viagra ordonnance kamagra sabores acheter cipro viagra belgique cialis venta vente de viagra en belgique acheter kamagra france cialis diario precio commande cialis clomid 100mg kamagra foro comprar viagra sin receta barcelona procurer du levitra acheter cialis generique cialis 20mg achat tadalafil genericos cialis aus indien achat viagra internet prix viagra andorre achat viagra en suisse cialis belgique cialis ficha tecnica achat viagra suisse acheter cialis sur la net viagra prix tadalafil foro lasix médicament viagras en ligne acheter cialis viagra acheter paxil prix sildenafil acheter cialis 5 milligrams cialis generique france cialis generique achat prix cialis 10 mg achat vardenafil viagra venta a domicilio cialis au quebec viagra comprar priligy belgique levitra effet secondaire remede impuissance achat cialis en pharmacie pasteque viagra cialis mas barato azithromycin 250 mg achat cialis france viagra sur les femmes viagra temoignage achat cialis canada viagra generique canada viagra generique en pharmacie tarif cialis pharmacie tadalafil comprimidos viagra ou similaire viagra barcelona viagra a vendre viagra luxembourg acheter kamagra 100mg vente cialis generique cialis hypertension prix priligy cialis seguridad social vente de cialis sur internet viagra suisse commander viagra cialis precio farmacia cialis suisse acheter du viagra cialis presentacion y precio cialis generico en farmacias viagra generica en españa comprar viagra 24 horas viagra le moins cher forum cialis sur internet vardenafil generique viagra natural barcelona precio farmacia viagra cialis au meilleur prix precio viagra con receta levitra 20mg prix priligy prix sildenafil moins cher levitra ordonnance acheter viagra belgique acheter cialis en france viagra se necesita receta viagra livraison rapide viagra tous les jours achat pharmacie acheter clomid en france viagra achat forum acheter accutane en ligne propecia ordonnance pharmacie cialis viagra sur paris cialis en ligne forum viagra sur internet cialis commander viagra tarif kamagra barato viagra vente levitra 20mg generique viagra 50 mg viagra generique médicament baclofene irex baclofen médicament médicament ciproxine levitra sans prescription vente de cialis en belgique leivtra moins cher prix viagra cialis tadalafil generique cialis ca marche acheter isotretinoin cialis generique acheter viagra es venta libre viagra pas cher receta viagra impuissance erection vente viagra libre viagra generique forum vente cialis en ligne cialis combien ca coute prix viagra en pharmacie priligy achat kamagra en pharmacie cialis ordonnance tadalafil en argentina precios cialis prix clomid venta tadalafil cialis en pharmacie sans ordonnance tarif cialis cialis professionnel viagra espagne cialis de 10 mg receta viagra casera sildenafil femme acheter clomid sur internet viagra vente libre en pharmacie cialis par internet effet cialis sur femme cialis farmacias del ahorro viagra sin receta españa cialis pour femme kamagra oral jelly acheter viagra en ligne medicament cialis 20mg generique viagra prix kamagra precio viagra venta sin receta femme viagra mejor viagra o cialis médicaments cipralex achete viagra strattera achat cialis prix belgique cialis original livraison rapide effet viagra sur les femmes proscar prix cialis 5 mg prix ventajas cialis acheter tadalafil levitra farmacia acheter kamagra order viagra proscar 5mg vente cialis france prix viagra kamagra pas cher levitra en suisse achat viagra belgique acheter viagra quebec cialis paris viagra droga generica acheter clomifene cialis indicaciones cialis 20mg pas cher cialis farmacia ahumada viagra pour femme forum lioresal sans ordonnance levitra similar cialis generique en france cialis generique 10
7Feb/092

Migration to Bugzilla 3.2.x from custom defect tracking solution

Since I use Google and blog and forum posts frequently to help solve problems, I felt it only appropriate to contribute back to the interwebs some of the solutions I have developed to solve problems.  So, here are the details for migrating from a custom defect tracking system in MS Access to Bugzilla 3.2.x.  I will be installing this in a Windows environment, but I like to work in the simpler world of Linux and then just copy over the data to Windows (If you want to use Windows as your sandbox, set it up by following https://wiki.mozilla.org/Bugzilla:Win32Install).

Setup your sandbox
I first created a sandbox by downloading a Fedora 10 virtual appliance (http://www.thoughtpolice.co.uk/vmware/#fedora10).  I then setup the Bugzilla environment with a simple command (see https://wiki.mozilla.org/Bugzilla:Linux_Distro_Installation).

yum install bugzilla httpd mysql-server phpmyadmin perl-CPAN

Now, if you want to get all of the basic add-ons, grab them by first running: /usr/share/bugzilla/checksetup.pl

Follow the instructions there to make sure you have all of the addons configured and database setup properly (e.g. /usr/bin/perl install-module.pl --all).

Start your servers: /etc/init.d/httpd start; /etc/init.d/mysqld start

Congrats.  Go to your server and make sure things are looking good (e.g. http://localhost).

Configuration Settings

Go ahead and configure Bugzilla parameters.  You will need to enable aliases and bug moving (for importing).  The aliases are only going to be used since I want to know the old bug # from the previous system.

Since that doesn't install the latest version of Bugzilla, download the latest and overwrite the install /usr/share/bugzilla (latest stable release: http://www.bugzilla.org/download/#stable).  After downloading, run a command like:
tar xzvf bugzilla-3.2.2.tar.gz
/bin/cp -arf bugzilla-3.2.2./* /usr/share/bugzilla/

I'm going to wait on the actual upgrade of the DB until after the migration since the new version of Bugzilla has additional security features and I'm not sure if I'll end up breaking some references between tables based on my import.  But, I wanted to have the latest version of importxml.pl since that has some updates for importing bugs.

Export the data to XML following the Bugzilla DTD

I exported from MS Access using the attached code.  Remember, you will need to install the MS DAO into your references (Tools >> References) when in the module editor.  Of course, you'll have to modify your queries to produce the proper data for your custom system, but this should get well on your way.

Bugzilla XML export from MS Access utilizing VBScript: bugzilla-xml-export-from-ms-access-utilizing-vbscript.

Getting the data imported

Now, here is the tedious part.  You need to first have a bunch of data setup within Bugzilla so that the migration can go smoothly.  Otherwise, you'll end up with a bunch of bugs in there that have no useful project, version, status, priority, severity, owner, etc.  You need to get all of this data and setup Bugzilla.  I recommend that you run some SELECT DISTINCT statements on your main data output query from MS Access to determine the other data you need to setup prior to import.

From those SELECT DISNTINCT statements, you can fill out this spreadsheet that I put together to manage the queries required to get the rest of the data setup.

Bugzilla setup SQL statements: Bugzilla Migration SQL.xls

Run the SQL statements using phpMyAdmin (http://localhost/phpMyAdmin).

Since, I don't like Bugzilla's severities, overwrite their severity table with the values I like (Bugzilla SQL status table overwrite).

You'll need to define a default owner, product, component, etc.  Be sure do that the in administration parameters.

Before attempting to import into Bugzilla, I suggest that you take a DB snapshot so that when things don't go well, you can easily get back to this initial state, add the missing data, and re-try the import.  Go to phpMyAdmin and do an 'Export."  Make sure that you 'disable foreign key checks' and include the 'drop table' statements.

Now attempt to import the XML file by using a command similar to the one below:

/usr/share/bugzilla/importxml.pl -v ~/bugzilla_migration.xml > ~/bugzilla_migration.log

Now check the ~/ bugzilla_migration.log for errors.  Look out for times when it says that it can't locate the product, version, component, QAContact, status, priority, severity, etc.  Ignore errors with #PCDATA in them.

If you have errors to deal with, work through them by first restoring the bugs DB in phpMyAdmin.  Then add the proper lines into the Bugzilla excel spreadsheet and use the commands to add the missing values Bugzilla needed.  Re-import the file using the same commend.  Repeat this process each time until you only see #PCDATA errors in the file.

Congrats, you now have the data in Bugzilla.  Now, we'll need to do some cleanup.

update longdescs set thetext = replace(thetext ,'at http://10.31.217.134/bugzilla/show_bug.cgi?','in Legacy System with ');
update bugs_fulltext set comments = replace(comments,'at http://10.31.217.134/bugzilla/show_bug.cgi?','in Legacy System with ');
update bugs_fulltext set comments_noprivate = replace(comments_noprivate,'at http://10.31.217.134/bugzilla/show_bug.cgi?','in Legacy System with ');
update longdescs set thetext = replace(thetext ,'Unknown bug field "#PCDATA" encountered while moving bug\n   <#PCDATA></#PCDATA>\n','');
update bugs_fulltext set comments = replace(comments,'Unknown bug field "#PCDATA" encountered while moving bug\n   <#PCDATA></#PCDATA>\n','');
update bugs_fulltext set comments_noprivate = replace(comments_noprivate,'Unknown bug field "#PCDATA" encountered while moving bug\n   <#PCDATA></#PCDATA>\n','');
update longdescs as ut set thetext = replace(thetext ,'This bug was previously known as _bug_', CONCAT('This bug was known as bug ',IFNULL((select alias from bugs where bug_id = ut.bug_id),''), '.\nThis bug was #'));
update bugs_fulltext as ut set comments = replace(comments, 'This bug was previously known as _bug_', CONCAT('This bug was known as bug ',IFNULL((select alias from bugs where bug_id = ut.bug_id),''), '.\nThis bug was #'));
update bugs_fulltext  as ut set comments_noprivate = replace(comments_noprivate, 'This bug was previously known as _bug_', CONCAT('This bug was known as bug ',IFNULL((select alias from bugs where bug_id = ut.bug_id),''), '.\nThis bug was #'));

Final Bugzilla Setup

We need to do the final DB upgrade to Bugzilla 3.2.2.  So, run the following command: /usr/share/bugzilla/checksetup.pl

Now, log into Bugzilla and make sure that everything is looking good.  You probably want to run the Sanity Check and finish setting up all of the parameters.  Finally, you probably want to disable bug aliases and bug moving (unless you need them for another reason)

Custom fields in Bugzilla

There is one final thing that is very useful for my project.  It is custom multiple select fields.  I'm not sure why the Bugzilla team hasn't incorporated these fields into the search filter, so we'll have to tweak some of the Bugzilla code.

I've based the two attached files on this posting: http://www.nabble.com/Adding-Custom-Field-drop-downs-to-Advanced-Search-Page-td16304546.html#a19165732.

Files: Bugzilla modified query.cgi, Bugzilla modified formhtml.tmpl

If you are using Bugzilla 3.2.2, you can probably just overwrite the files with what I have here.  Please see the above for where to put the files.

After doing this, you'll need to re-compile your templates by executing checksetup.pl again.  Now, you'll be able to report and search by your custom fields multiple select fields.

/usr/share/bugzilla/checksetup.Bugzilla SQL status table overwritepl

Congrats, I hope this was helpful.  Now you'll need to finish customizing Bugzilla.

Share and Enjoy:
  • Facebook
  • email
  • LinkedIn
  • Digg
  • del.icio.us
  • Google Bookmarks
  • MySpace
  • TwitThis
  • StumbleUpon
  • Tumblr
  • Sphinn
  • Mixx
Comments (2) Trackbacks (0)
  1. Instead of overwriting the files in /usr/share/bugzilla/, you should remove the RPM (rpm -e bugzilla) and then install Bugzilla in /var/www/html/

    As far as everything else goes, I’m glad you posted your experiences! :-)

    -Max

  2. You are absolutely right: It is the experiences and what we learn from them.


Leave a comment


No trackbacks yet.