Basically I want to get information from partner d...
# suitescript
a
Basically I want to get information from partner developers that build Suitelets for specific customers (therefore, not developers that built Suitelets for their own product and keep maintaining them). My questions are: - How often do you write one-off UIs in Suitelets for specific customers? - Once you deliver the Suitelet, what's the agreement with the final customer? What's the level of support you give them? Do you ever go back to fix/change the Suitelet you already delivered? - What technology do you typically use? ServerWidget API or your own custom UI through a 3rd party framework?
j
Interesting question, I work for a Solution Provider and we often write Suitelets for Customers. Our typical use cases for Suitelets include: - 'Settings Screens' this will typically be a page where users can select options that need to be used in other scripts, we use the suitelet instead of allowing UI access to the custom record as this stops customers creating multiple records. - Start Processing screens, this will typically be used to select multiple records that require some additional processing usually by a map reduce script, they select all records that require the action then click a start button, they are then redirected to another suitelet that is waiting for the map reduce to finish, this usually checks the status of the M/R script and once finished will redirect them to a results suitelet. - Finally sometimes our customers will like a NetSuite feature but due to it not being customizable (e.g. Bank Reconciliation) we will attempt to recreate NetSuite features with our added customizations, one I completely recently was a bank reconcillation that made use of DataTables custom html/javascript to allow us to display two tables in the same tab as suitelets are limited to only showing one sublist at a time. I hope the above helps, we typically use ServerWidget API but will occasionally use third party frameworks if we can't achieve our goals with NetSuite modules.
n
- Well, Suitelets are the heart of the NS UI. I mean every time a client wants to have a dashboard, custom UI or something of the sort, we will build a Suitelet for them. - The clients do come back sometimes to enhance and include more functionality in the same Suitelet so yeah we do have to edit and enhance the Suitelets at times. Also, we do have a few clients for whom we are supporting them on their already created Suitelets (SS-1.0). Let us not talk about the rabbit hole. - We do use the N/ServerWidget module and its API. At least so far I haven't used any third party framework. Although we have used popular libraries for customizing the UI in the way our clients want and at other times just inline HTML fields to achieve those smaller customizations.
a
@jmacdonald How often do you change already delivered Suitelets? Do you ever go back to the customer account to modify the Suitelet? Even after 1 year? Have you ever faced the situation where the Suitelet that you wrote months or years ago stops working for the customer? What do you do in those cases?
@Nik: when you say you have to edit and ehnance Suitelets at times, do you charge for that? Or that's part of the contract with the customer?
n
Most of our clients are provided an hour quote for each development they ask for like an enhancement to their existing functioning Suitelet/system. But there are some clients which are on contracts so, they are not charged for it separately.
j
@Albert Margarit (NS Eng Lead) We typically support our Suitelets after they are delivered, we offer fixes as part of our contract. They typically only get changed if the customer identifies a bug. Most bugs would usually be discovered and fixed within a year but if required we would go back and fix anything. I'm not sure if I've ever faced a situation where the suitelet stops working after several months or years but I imagine our process would be to identify the issue and log a case with NetSuite about it, the customer may be irritated if something breaks when they haven't changed anything and the code hasn't been changed though.
a
Can you guys give an estimate of how many Suitelets you delivered last year (2018)?
j
Hard to say off the top of my head, some bigger projects may have 5 or more suitelets in them. I'd estimate around 50 UI suitelets made last year. (My company rather than me personally).
a
Awesome. Which company do you work for?
j
@Albert Margarit (NS Eng Lead) Eureka Solutions https://www.eurekasolutions.co.uk/
a
Thanks!
l
We created some time ago suitelets which were sort of custom dashboards, I think we used jQuery and some jQuery plugin called datatables, but it was like 6-7 years ago and I remembered we had a lot of troubles with css conflicts.
s
I tend to reach for frameworks (e.g. Vue, Aurelia, Angular) for anything but the most trivial of suitelets. Combined with a RESTlet backend.
a
@stalbert what about: - How often do you write one-off UIs in Suitelets for specific customers? - Once you deliver the Suitelet, what's the agreement with the final customer? What's the level of support you give them? Do you ever go back to fix/change the Suitelet you already delivered?
s
I do them rarely, and we'd typically bill the customer for support and upgrades. This approach is literally a mini web-app that just happens to have an easy-to-build backend thanks to RESTlets (or API-only Suitelets). Hence I would treat it like developing an app for both support and new/changing features.
I should note I use this approach for advanced scenarios where we're doing something outside what is reasonable with serverwidet and friends. If the user doesn't need/want the NetSuite UI header/menu then we don't need to use a suitelet at all for this use case (just host files in the file cabinet and use the backend api)
I'd be curious to hear the behind the scenes motivation for these particular questions 🙂
a
😉
We are working on some major Suitelet UI improvements
you'll hear more about them soon
m
I and my team have delivered more than 10 UI suitelets in the past year in 2.0. We mostly lean on the serverWidget elements, but when we need to present more complex or nuanced data, we will often do that through an inline html field. We always charge by the hour for maintenance/changes after the fact but it does not often amount to much effort.
e
@Albert Margarit (NS Eng Lead) May I suggest some enhancements? I have delivered some suitelet with a lot of data and I had to create my own pagination for that, it would be great if NetSuite expose some native API, to create the pagination easily. Also would it be possible to have an easy way to add graphs on a suitelet? There are times when the requirements involves many joins to get some data, so a suitelet is the best option to get that data and sometimes the clients want some kind of graphs as a nice to have.
a
Thanks for your feedback! We are about to start a new project to bring new components to Suitelets so you can build more modern and interactive UIs. One of the first components we have in mind is a Saved Search viewer with paging, filtering and sorting. Would that fufill your request?
😎 1
🤩 1
j
@Albert Margarit (NS Eng Lead) I like the sound of a Saved Search viewer with paging, filtering and sorting but would it be possible to add this functionality to sublists on Suitelets? That way we could do what @eminero was saying about compiling multiple saved search results together and having that functionality.
a
I’m not sure I get it. If you would have the capability of viewing a Saved Search in a Suitelet, why would you need the old sublist to be enhanced?
j
So I will use suitelets sometimes to pull data from multiple different record types, after performing several searches I will present the data as a unified sublist. Keeping this functionality exclusively for saved searches will mean that in cases where multiple saved searches are required it sounds like it won't be available on the sublists.
Don't get me wrong I think it would be handy to have this for saved searches but would be nice to extend what is already there with sublists, especially with the amount of suitelets that already exist with the data residing in sublists.
a
I get your point. We don't envision to have this new functionality only for Saved Search. You will be able to put your own data source to the new list component. If you use Search or the new Query APIs as data sources, you will get some stuff for free (sorting, paging, etc) with large data sets. If you choose a static data source of your own, you may need to do some extra work
Still to be defined
j
That sounds good to me, an updated List component with filtering and paging would be a welcome addition, thanks for the clarification.
e
Hi @Albert Margarit (NS Eng Lead), thanks for sharing these good news, I agree with @jmacdonald comments, the reason why we sometimes build suitelet is because the necessary reports or data to be displayed cannot be achieved with a single saved search or a native report, so it would be great to apply to the sublist component, as you mentioned the ability to have different sources would be nice, similar to what happen with advanced PDF that now you can pass your own Javascript Object with the data you want to render or a record itself (this is just a comparison). This flexibility would be very nice. Does your team have anything in mind regarding graphs? 🙂
a
Graphs -> We don´t have yet the list of new components woe would build. I can envision charts being there. I think we should resume the conversation after SuiteWorld 🙂
e
sounds good!