Prasad,<br><br>Thank you for your reply.<br><br>I do understand your point. But another good practice of Vtiger is to use the vtlib to develop new modules. And with the current version of Vtlib if I name a custom module :<br>
<br>myprefix_mymodule<br><br>I will end up with tables like vtiger_myprefix_mymodule. IMHO this is not be a big problem. If myprefix is unique theses tables will never clash with others.<br><br>For example : "tsolucio" is a unique (and well known ;-) ) prefix. A table named vtiger_tsolucio_timesheet will never clash with a table from another provider or from Vtiger itself. Same thing for crmnow for exemple.<br>
<br>And I like the idea of having all the vtiger related tables in a database (being from custom modules or not) prefixed with "vtiger_". So you can make a clear difference with for example "jos_" tables.<br>
<br clear="all">David V.<br>
<br><br><div class="gmail_quote">2009/9/30 Prasad <span dir="ltr"><<a href="mailto:prasad@vtiger.com">prasad@vtiger.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Following are the revised conventions. (Let us improve it as we go along, so feel free to add)<div class="im"><br><br><span style="font-family: courier new,monospace;">* Please have a short-prefix for the module developed by you</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> - The short-prefix
could be a name of your company or reverse domain name like java
package. This helps in avoiding name-clashes over a long time.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> - Example: From <a href="http://mycompany.com/" target="_blank">mycompany.com</a>, the preferable module name would be: MyComModule</span><br style="font-family: courier new,monospace;">
</div><span style="font-family: courier new,monospace;">* Prefix your tables (with custom_yourmodule) related to modules as well. This is very important. <br> - Example: custom_mycompany_basetable.<br style="font-family: courier new,monospace;">
</span><div class="im"><span style="font-family: courier new,monospace;">* Avoid module or table names without the prefix. This might clash with standard modules/tables.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">* You can control the display name of module through translation.<br> - This helps in controlling suffixing with 's' or not accordingly.<br style="font-family: courier new,monospace;">
</span><br></div><div><div></div><div class="h5"><div><span class="gmail_quote">On 9/30/09, <b class="gmail_sendername">Prasad</b> <<a href="mailto:prasad@vtiger.com" target="_blank">prasad@vtiger.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi David,<span><br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">It would be vtiger_myprefix_mytable instead of only myprefix_mytable</blockquote>
</span><div><br>I would recommend, custom_myprefix_mytable, just to make sure vtiger_tablename can always be considered as a standard/core tables.<br><br>Regards,<br><span>Prasad<br>vtiger Team<br></span></div>
<div><span><br><div><span class="gmail_quote">On 9/28/09, <b class="gmail_sendername">David V.</b> <<a href="http://davidv.net" target="_blank">davidv.net</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thank you Prasad.<br>
<br>
So I understand in your answer that we just shouldn't mind about the s
in modules name and only adjust display using translation.<br>
(please correct me if I'm wrong)<br><br>When you say that we should prefix our tables. It is definitely a good idea but I would like to suggest something here :<br><br>Some people are allowed to use only one database and use it for different things. So keeping "vtiger_" in front of the the tables name is still a good idea.<br>
What we should do as external developpers is : adding a prefix to the vtiger's one.<br><br>It would be vtiger_myprefix_mytable instead of only myprefix_mytable<br><br clear="all">David V.<br>
<br>
<br><br><div class="gmail_quote">2009/9/28 Prasad <span dir="ltr"><<a href="mailto:prasad@vtiger.com" target="_blank">prasad@vtiger.com</a>></span><div><span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi David,<br><br>Following are few conventions I would like to suggest: (Let us improve it as we go along, so feel free to add)<br><br><span style="font-family: courier new,monospace;">* Please have a short-prefix for the module developed by you</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> - The short-prefix could be a name of your company or reverse domain name like java package. This helps in avoiding name-clashes over a long time.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> - Example: From <a href="http://mycompany.com" target="_blank">mycompany.com</a>, the preferable module name would be: MyComModule</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">* Prefix your tables related to modules as well. This is very important.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">* Avoid module or table names without the prefix. This might clash with standard modules/tables.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">* You can control the display name of module through translation.<br> - This helps in controlling suffixing with 's' or not accordingly.<br style="font-family: courier new,monospace;">
</span><br>Regards,<br>Prasad<br><br><div><div><div></div><div><span class="gmail_quote">On 9/27/09, <b class="gmail_sendername">David V.</b> <<a href="http://davidv.net" target="_blank">davidv.net</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>> wrote:</span></div>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>
Hi !<br><br>Are there any naming conventions for the modules in Vtiger.<br><br>Most modules in Vtiger have to deal with multiples entities :<br><br>Contacts<br>Accounts<br>Potentials<br><br>So they are named accordingly with and ending "s" (plural form)<br>
<br>But some others don't have the ending "s"<br><br>It's normal for Calendar if you see it as one calendar and not as a group of activities.<br>And also for HelpDesk.<br><br>But it's curious that following modules don't have an "s"<br>
Invoice<br>SalesOrder<br>PurchaseOrder<br><br>I came across this when trying to make a new "Computers" module using the example in Vtlib.pdf as a basis.<br><br>In this documentation the PaySlip example is without an "s" but I wanted to have my new module just like Accounts and Contacts (with this trailing s).<br>
So I tried to put Computer in some places and Computers in some others places.<br><br>I spent a while trying to make it work but it wouldn't :-( <br>(I probably missed something)<br>Finaly I had to stick with the name Computer.<br>
<br>Actually the users don't mind. Once everything is translated no one will read the addresses in the browser's adress bar and call you because they see "house" instead of "houses" (or "cow" instead of "cows") but I just wanted to understand what was the convention in Vtiger and stick to the other developers best practices.<br>
<br>So how do you guys do it ?<br>Do you put an "s" or no ?<br><br>Disclaimer : I'm a true fan of Vtiger. I'm not critisizing here. Just trying to provide some constructive feedback. :-)<br><span><br clear="all">
David V.<br>
</span><br></div></div>_______________________________________________<br>
Reach hundreds of potential candidates - <a href="http://jobs.vtiger.com" target="_blank">http://jobs.vtiger.com</a> <br></blockquote></div><br>
<br>_______________________________________________<br>
Reach hundreds of potential candidates - <a href="http://jobs.vtiger.com" target="_blank">http://jobs.vtiger.com</a> <br></blockquote></span></div></div><br>
<br>_______________________________________________<br>
Reach hundreds of potential candidates - <a href="http://jobs.vtiger.com" target="_blank">http://jobs.vtiger.com</a> <br></blockquote></div><br>
</span></div></blockquote></div><br>
</div></div><br>_______________________________________________<br>
Reach hundreds of potential candidates - <a href="http://jobs.vtiger.com" target="_blank">http://jobs.vtiger.com</a> <br></blockquote></div><br>