What is a Bundle
With so many different ways to customize NetSuite it’s easy to get confused about what exactly a bundle is, so before we start looking at all the cool things we can do by extending NetSuite with bundles; we first need to understand what makes up a bundle. Simply put a bundle is a grouping of code, records, and settings that allow you to extend the functionality of NetSuite. Bundles can include records, fields, files, scripts, script deployments, forms, configurations, and many other assets; but not all bundles contain all of these. Out of the box NetSuite can do a lot, however bundles offer the ability to extend NetSuite in ways that the developers may have never even thought of.
Bundles work similarly to software packages such as Excel or Photoshop that you would install on your own computer, in this analogy NetSuite is the operating system such as Windows or OS X. Just as you can install software on your computer to get new functionality, you can install bundles in NetSuite to get new functionality inside that system. Similarly, your computer might have different software from a different employee at a different company, your NetSuite instance can contain different software from another companies NetSuite instance. This is true even though your NetSuite instance may run on the same physical hardware as that of another business. The analogy breaks down a little bit here though because, generally speaking, since all employees of your company access the same NetSuite instance, all employees will have the same bundles installed; it works this way because it is server software. There are some exceptions to this however; such as if your company uses multiple instances of NetSuite, or if certain employees do not have the appropriate permissions to use a bundle and therefore it does not work for them.
Usually the bundles you install in NetSuite are created by third parties, which can include NetSutie’s SuiteLabs, Celigo, Box, Dell, Bill.com, and many many others. You can also create and install your own bundles in NetSuite as well, but this is beyond the scope of this course. We will be creating another course soon that will cover creating bundles, among other topics. Creating your own bundles is usually done when, you want to move a group of configuration changes from a NetSuite sandbox to a production account, share code with other companies you work with, or produce your own custom solutions for NetSuite.
As mentioned earlier, bundles add assets to your account, and this is how they work. As an example, without bundles you could customize your account by adding a new center tab to the top menu section of NetSuite; then you could add several menu choices that link to several custom records that you could also build. Those custom records could have functionality defined by workflows and Suite Scripts; which are really just Java Script. All of this could be built out in any NetSuite system and could be specific to your line of business. However if you wanted to move this from one NetSuite instance to another, without bundles, you would have to redo all the work in the target system; that is, you would have to manually rebuild the entire solution. With bundles you can just bundle the changes and deploy the bundle; and you can do this as many times as you need to. Both ways accomplish the same thing, but the second one is faster and more reliable.
Bundles can either be managed or unmanaged, and there are advantages and disadvantages to each. Managed bundles can be, and in many cases are, upgraded automatically by the bundle developer. These automatic upgrades can save you some work, since you don’t have to manually perform the upgrade yourself, though, as we’ll see later manual bundle upgrades, really aren’t that difficult. Of course, a bundle developer has the option to not upgrade the bundle automatically, or to provide you with a time period in which you can do the upgrade yourself, before they automatically push the upgrade to you. What I have seen in practice is that most developers provide a few weeks where you can manually upgrade a managed bundle, then, they will automatically push the upgrade. Also; since managed bundles can be upgraded automatically, bundles that used to work can potentially be upgraded to a newer version that may contain a bug, though this is rare. Like their name suggests, unmanaged bundles have to be upgraded manually, but usually this is not a difficult process. Having to manually upgrade a bundle can also keep you informed of what you have in your NetSuite account. One big advantage having managed, as opposed to unmanaged, bundles does provide is it helps lessen the chance of bundle failure during the semi-annual NetSuite upgrades since the developers can push critical updates. You shouldn’t shy away from either of these two types of bundles, and one isn’t necessarily better than the other, but you should understand the difference between the two.
Finally, I want to provide a few words of caution about bundles. Bundles are software you are installing into your NetSuite instance. Most folks are tech savvy enough that they wouldn’t install random software on their computers because they understand that, that software might be good and provide them with desired functionality, but it might just as easily take up system resources and provide no tangible benefit, or, even worse it could be written with nefarious intent. While you are very unlikely to find such nefarious software in the bundle library, in fact, in over ten years of working in NetSuite I have never found a bundle of this sort, though it is at least possible. What you’re a lot more likely to find is a bundle that sounds interesting but was really only half-baked, has some flaws and just doesn’t work as expected. Bundles can be published by anyone with a NetSuite account, and a couple of the formal NetSuite training classes cover bundle creation. While the NetSuite trainers make it clear to students that they should not publish bundles to the rest of the user base, you only need to look past the 10th page of bundles, in the Search and Install bundles screen in NetSuite, to see that a lot of them were published by students, probably accidentally. These bundles generally have only one or two installs, and frequently have none.
Typically, unless you know exactly what you are doing and why, you probably shouldn’t install bundles with less than 10 users. The exception of course is if you created the bundle; in which case it really should have account restrictions placed on it so that only you can access that bundle, or if you are working with a consulting or product firm, or with NetSuite, and they instruct you to install a specific bundle. The last, and one of the most important things to remember, is that you should always test bundle installs and upgrades in a Sandbox account. There aren’t many things that will ruin an administrator’s day faster than bringing down critical business functionality because he wanted to add some new feature or because she didn’t test an upgrade. I’m not telling you all of this to scare you away from bundles, but rather to make sure you are informed and keep you out of trouble.
So now that you know what bundles are, let’s take a look at how to install them in the next video.