What precautions we have to take while making a Bundle/Product in Netsuite?
Hi All,
In this blog I want to share my experience about making Bundle/Product and what precautions we have to take. You might have more know then please comment below how you solve your problem or what you think should also be there.
Many people are making functionalities which is solving their day to day problems, as that problem occurs for many people so that want to make a Bundle ,which is collections of all scripts ,records and functionalities , and sell it to those companies.
Many company started on only this concept only and making huge revenue. Any one who has Netsuite account can think of an idea can make a Bundle. Netsuite call it Suite Apps.
In this blog I want to share my experience about making Bundle/Product and what precautions we have to take. You might have more know then please comment below how you solve your problem or what you think should also be there.
Why we make Bundle in Netsuite?
Netsuite is a software which we can customize fully and can be use it for any type of industry, Netsuite give many inbuilt fields but still we can customize and make it as per our need.Many people are making functionalities which is solving their day to day problems, as that problem occurs for many people so that want to make a Bundle ,which is collections of all scripts ,records and functionalities , and sell it to those companies.
Many company started on only this concept only and making huge revenue. Any one who has Netsuite account can think of an idea can make a Bundle. Netsuite call it Suite Apps.
What Precautions are needed?
1. Add _yourcompanycode_ in all fields , scripts, customer records, forms, workflows, forms, saved searches etc .
Reason : This will help to keep your code and related objects unique from other company's bundle. If you did not follow this and let say make a field custbody59(netsuite automatic does this) then chances are there that the account where you are deploy already have that field for different purpose , so when they install bundle your code will break their system and you will not be able to analyse.
Also this separate your objects form other objects and users can easily understand which script is throwing error or causing problem.
Also this separate your objects form other objects and users can easily understand which script is throwing error or causing problem.
This help you in promoting your company . You can use abcd also but if you add company code in internal ids and keep a tag in name also then this will help you in promoting you company , and later if employee go to another company or owner refer to another company they know which are your scripts and how they behave in past.
2. Keep common files in one script and use that as library file.
Reason: Making a separate file for common functionality will reduce your work and also promote OOPs concept. Lets say you have trim function and don't want to use javascript's trim function then keep that trim function into library file.
Common examples are : today's Date / Current date, is number or not, is string or not, trim ,
split and return array, or a customized code which is used by many scripts.
3. Hide in Bundle: All code should be hidden in Bundle.
Reason: Netsuite provide a functionality to hide files while making files, We
have to use that as we don't want others to see and copy our code.If you did not hide your code then any one can reason your code and get idea how you are handling cases and can make a new bundle and earn money from that.
4. Don't Make it public:
Reason: Keep it in Shared , When some one contact you for bundle purchase you have to enter their account id. In future they they don't want you can uninstall from their system and remove account id from your id so that they can not install again untill you give permission.
5. Use company preferences:
Reason: Under script there is a tab called parameter , use that parameter and preference as company. This will make that field visible under company preference. Company preference can be accessed by any script in system, so next time if you want to use same field then no need to add functionality ,simply use that field using context's get script functionality.
6. Proper Use of Custom Record and Custom List:
Reason: Custom record and custom list can be used to keep your functionality separate and can not mix with customer's existing list and record.
7. Be Dynamic:
Reason: Do not hard code any value. You have to try now to hard code as much as possible. Inspite of Hard coded code use custom records, preferences, list etc to solve that. If you think you have to hard code then try to hard code for your code and objects. We should not stick to this but this will help in making our product dynamic.
Please share your thoughts.
Thanks
Abhi
Comments
Post a Comment
Thanks for you message, please join us on Facebook and Linkedin