Setting up a Development Environment » History » Version 20
Max Milbers, 04/24/2011 01:26 PM
1 | 1 | Rick Glunt | h1. Setting up a Development Environment |
---|---|---|---|
2 | |||
3 | h2. Introduction |
||
4 | |||
5 | If you start developing for the project or just with VirtueMart you may have already set up a development environment with an IDE and a SVN program. |
||
6 | |||
7 | If you haven't done so or if you want to know what to do better, you can follow the instructions given on this page. |
||
8 | |||
9 | The following programs are recommended for working with VirtueMart and synchronizing the working directory with the local SVN repository: |
||
10 | |||
11 | 16 | Max Milbers | * SmartSVN or TortoiseSVN http://tortoisesvn.net/downloads.html |
12 | * Eclipse for php or aptana (very good PHP IDE and free!) |
||
13 | 1 | Rick Glunt | |
14 | 12 | Max Milbers | Of course there are other programs that can do the same as the ones mentioned above, but remember: these are just recommendations. You need in everycase jdump installed. |
15 | 1 | Rick Glunt | |
16 | h2. Setup an IDE and SVN |
||
17 | |||
18 | If you want to join the project it is important that you have a similar environment like the other devs, so it makes it easier for everyone to help each other. |
||
19 | |||
20 | First setup up an IDE, I suggest you follow the explanations here: http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development |
||
21 | |||
22 | 15 | Oscar van Eijk | For development and testing we use JDump (http://extensions.joomla.org/extensions/miscellaneous/development/1509). In official releases (beta, RC and, of course, final), all dump() calls are removed or outcommented, but for SVN checkouts of development releases this extension is required. |
23 | 1 | Rick Glunt | |
24 | 6 | Max Milbers | h3. SVN-Basics: |
25 | 1 | Rick Glunt | |
26 | 6 | Max Milbers | For pure installation information look at the chapter "Installation of virtuemart into your IDE". The SVN folder structure is setup with 3 root folders; trunk, tags and branches. The trunk folder is used for curent active development. The tags folder is used for public releases. The branches folder can be used for code branches. |
27 | |||
28 | 1 | Rick Glunt | The structure found under these root folders mimic the structure in a typical Joomla installation, however, only contain the VirtueMart code. This gives us the ability to easily commit and checkout directly from a Joomla installation as described above. |
29 | |||
30 | There are 3 different folders for backend, frontend and modules |
||
31 | |||
32 | 17 | Max Milbers | * trunk/virtuemart/administrator/components/com_virtuemart ;pure vm |
33 | * trunk/virtuemart/administrator/language ;mixed |
||
34 | * trunk/virtuemart/components/com_virtuemart ; ;pure vm |
||
35 | * trunk/virtuemart/language ;mixed |
||
36 | * trunk/virtuemart/plugins ;mixed |
||
37 | * trunk/virtuemart/plugins/vmpayment ;pure vm |
||
38 | * trunk/virtuemart/modules/ ;mixed |
||
39 | 1 | Rick Glunt | |
40 | The /trunk is your joomla base root = jRoot. |
||
41 | |||
42 | 6 | Max Milbers | At best is if you have a joomla installation and make 1 checkout for back and frontend. Use for checkout on the joomla base root: |
43 | 1 | Rick Glunt | |
44 | 2 | Rick Glunt | svn co https://dev.virtuemart.net/svn/virtuemart/trunk/virtuemart |
45 | 1 | Rick Glunt | |
46 | After updating you should have the newest version of VirtueMart |
||
47 | |||
48 | If you want to check the mails you may want to use hamster as mailserver |
||
49 | |||
50 | 6 | Max Milbers | h2. Installation of virtuemart into your IDE |
51 | 1 | Rick Glunt | |
52 | 9 | Max Milbers | Now there are two ways. Be aware that the joomla installation should work. |
53 | 6 | Max Milbers | |
54 | h3. Use the virtuemart installer to set the right entries for using virtuemart. |
||
55 | |||
56 | This step just needs that you manually delete the virtuemart files after the installation to be able to perform the checkout (most svn clients dont overwrite existing files). |
||
57 | 1 | Rick Glunt | # This means download or create the installer of virtuemart and install it in joomla [[Create virtuemart installer]]. |
58 | 10 | Max Milbers | # Download also the all-in-one payment plugin installer at http://dev.virtuemart.net/redmine/issues/73 |
59 | 6 | Max Milbers | # Before you can checkout the svn you should delete the files that are installed by the vm installer. Just delete this directories |
60 | * administrator/components/com_virtuemart |
||
61 | * components/com_virtuemart |
||
62 | 11 | Max Milbers | * plugins/vmpayment |
63 | 6 | Max Milbers | and to prevent warnings the language files named en-GB.com_virtuemart.ini in |
64 | * administrator\language |
||
65 | * language |
||
66 | |||
67 | 5 | Max Milbers | # AFTER that configure the SVN, directly into your joomla base directory. |
68 | |||
69 | 6 | Max Milbers | h3. Use the right sql to inform joomla that virtuemart exists. |
70 | |||
71 | # Just make a checkout directly into your joomla base directory. |
||
72 | 1 | Rick Glunt | # Then execute the following sql commands with phpmyadmin. Be aware that these sql assume that you use the prefix jos for your tables. |
73 | |||
74 | 5 | Max Milbers | * This is for virtuemart: |
75 | 19 | Max Milbers | with joomla 1.5 |
76 | 1 | Rick Glunt | INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`, `admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`, `iscore`, `params`, `enabled`) VALUES |
77 | (NULL, 'VirtueMart', 'option=com_virtuemart', 0, 0, 'option=com_virtuemart', 'VirtueMart', 'com_virtuemart', 0, '../components/com_virtuemart/shop_image/ps_image/menu_icon.png', 0, '', 1); |
||
78 | 19 | Max Milbers | |
79 | with joomla 1.6 |
||
80 | INSERT INTO `jos_extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES |
||
81 | 20 | Max Milbers | (NULL, 'virtuemart', 'component', 'com_virtuemart', '', 0, 1, 0, 0, '{"legacy":true,"name":"VirtueMart","type":"component","creationDate":"May 2011","author":"The VirtueMart Development Team","copyright":"\\tCopyright (C) 2011 The Virtuemart Team. All rights reserved.","authorEmail":"soeren|at|virtuemart.net","authorUrl":"http:\\/\\/www.virtuemart.net","version":"2.0.0","description":"Online-Shop \\/ Complete E-Commerce system for Joomla 1.6","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); |
82 | 1 | Rick Glunt | |
83 | 7 | Max Milbers | For information on adding the plugins, please refer to [[Plugin system]]. |
84 | 17 | Max Milbers | |
85 | 18 | Max Milbers | For information on adding the modules, please refer to [[Modules system]]. |