Setting up a Development Environment » History » Version 22
Max Milbers, 05/11/2011 07:20 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 | 22 | Max Milbers | Now there are three 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 | 1 | Rick Glunt | |
56 | 22 | Max Milbers | My preferred method is at the end! But it needs manual executing of sql (provided though). So when you want to avoid phpmyadmin, try one of the first two ways. |
57 | |||
58 | or use this steps |
||
59 | # Transfer Joomla files in a directory (example: directory called Joomla) |
||
60 | # Install Joomla to create the database |
||
61 | # Install VM with the installer to install VM tables in the database [[Create virtuemart installer]]. |
||
62 | # Download also the all-in-one payment plugin installer at http://dev.virtuemart.net/projects/virtuemart/files |
||
63 | # Checkout VM in an empty directory (You need to call that directory virtuemart to fit the name from SVN directory structure)), |
||
64 | # Transfer Joomla files in the directory called virtuemart |
||
65 | # change Joomla configuration file with the database name given on step 2, and give the correct tmp path. |
||
66 | |||
67 | Advantage: you can use the virtuemart installers |
||
68 | Disadvantage: you need to handle two different directory in your http directory and edit the configuration file |
||
69 | |||
70 | or use this: |
||
71 | This method 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). |
||
72 | 10 | Max Milbers | # This means download or create the installer of virtuemart and install it in joomla [[Create virtuemart installer]]. |
73 | 22 | Max Milbers | # Download also the all-in-one payment plugin installer at http://dev.virtuemart.net/projects/virtuemart/files |
74 | 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 |
75 | * administrator/components/com_virtuemart |
||
76 | 11 | Max Milbers | * components/com_virtuemart |
77 | 6 | Max Milbers | * plugins/vmpayment |
78 | 1 | Rick Glunt | and to prevent warnings the language files named en-GB.com_virtuemart.ini in |
79 | * administrator\language |
||
80 | * language |
||
81 | # AFTER that configure the SVN, directly into your joomla base directory. |
||
82 | 22 | Max Milbers | |
83 | Advantage: you can use the virtuemart installers |
||
84 | Disadvantage: you need to delete the right files |
||
85 | |||
86 | |||
87 | and here my preferred method |
||
88 | # Open your IDE and make a project (call it for exampel vm2) |
||
89 | # Set httpd directory to the parent directory (workspace) and best with subdomain like shop.localhost/vm2 |
||
90 | # Checkout the svn |
||
91 | # copy joomla files into workspace/vm2 (of course just merge the directories, when it is asking. There must be a merge, but no override of files) |
||
92 | # Use the right sql to inform joomla that virtuemart exists. |
||
93 | |||
94 | 5 | Max Milbers | |
95 | 6 | Max Milbers | h3. Use the right sql to inform joomla that virtuemart exists. |
96 | |||
97 | # Just make a checkout directly into your joomla base directory. |
||
98 | 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. |
99 | |||
100 | 21 | Max Milbers | This is for virtuemart: |
101 | 1 | Rick Glunt | with joomla 1.5 |
102 | 21 | Max Milbers | <pre> |
103 | 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 |
104 | (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); |
||
105 | 21 | Max Milbers | </pre> |
106 | 19 | Max Milbers | |
107 | 1 | Rick Glunt | with joomla 1.6 |
108 | 21 | Max Milbers | <pre> |
109 | 1 | Rick Glunt | 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 |
110 | 21 | Max Milbers | (10007, '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); |
111 | </pre> |
||
112 | |||
113 | and |
||
114 | <pre> |
||
115 | INSERT INTO `jos_menu` (`id`, `menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `ordering`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES |
||
116 | (465, 'main', 'VirtueMart', 'virtuemart', '', 'virtuemart', 'index.php?option=com_virtuemart', 'component', 0, 1, 1, 10007, 0, 0, '0000-00-00 00:00:00', 0, 1, '../components/com_virtuemart/assets/images/vmgeneral/menu_icon.png', 0, '', 277, 278, 0, '', 1); |
||
117 | </pre> |
||
118 | 1 | Rick Glunt | |
119 | 7 | Max Milbers | For information on adding the plugins, please refer to [[Plugin system]]. |
120 | 17 | Max Milbers | |
121 | 18 | Max Milbers | For information on adding the modules, please refer to [[Modules system]]. |