If you have any ideas for small quality-of-life im...
# suitecommerce
s
If you have any ideas for small quality-of-life improvements to the Site Management Tools (SMTs) then let me know. We're collecting some.
j
Ooooooh boy, @Steve Goldberg. Brace yourself.... As someone who works in SMT quite a bit, I have few: 1. Not being able to be logged into the SMT and the NetSuite backend at the same time infuriates me on a daily basis. I used to be able to, but something changed in the last few years and I'm constantly being logged out of either when trying to work. I know it's probably a security thing and probably for my own good, but man does it make my blood boil every time... 2. My UX and SEO teams like to complain at me about the layout shift that happens when SMT content is loaded in. If you've got an entire landing page built in the SMT, your entire layout is going to have a massive shift and kill your LCP score. And if I've got a global banner that I need to put on every page, every page is getting shifted on load. I realize it can be mitigated somewhat by pre-sizing the placeholder that the content gets loaded into, but that becomes next to impossible when dealing with something like text content on multiple screen sizes. 3. The built-in CMS Text content type drives me nuts: a. It strips out almost all inline HTML that you try to put in it. Consequently, inline styling cannot be added to anything. It will show up in the preview but it stripped out on save. Any time I need to add a custom color to a heading or a margin to an list element, I have to create it as an HTML type. Not ideal if someone other than me needs to touch it later. b. The target attribute of a link defaults to "_blank" and cannot be changed. What??? 4. This one is developer-specific, but there doesn't seem to be any way to execute JavaScript upon completion of the load of SMT content, either in a custom content type or by adding JavaScript in an CMS HTML content type. It would be great if I could have a CMSContentLoaded event that I could listen to and execution actions on in my custom content types, especially for things like scroll events or positioning that requires all the content to be in place before they can execute effectively. 5. Browser parameters don't seem to be accounted for in the Path Context of the CMS Contents record. Instead of creating a complex customization or extension to display information that's specific to a certain matrix combination on the PDP or certain filter criteria on a PLP, I would love to be able to use the SMT to add content that is specific to that URL string. (I realize that gets complicated, but it's on my wish list for sure) 6. There's not a great way to display the same content in multiple areas of the site. If I want to display the same banner on multiple pages (individual pages that might not share the same page type), it seems like I would have to create multiple records of the same content. I've since figured out how to do it by manually editing the CMS Contents record, but it would be a nice to have out of the box. 7. I would love to be able to schedule a change to an individual piece of content rather than scheduling the visibility of the content as a whole. For instance, if I run a sale banner on the site and I want to update the banner to say something like "Only XX hours left", at a certain time, I either have to make the change and publish at that time or create a whole separate banner with a visibility that starts at that time (and ends the current sale banner). Again, this probably gets complicated, though... 8. I would love to use a saved search in order to create a commerce category. So if I have a promotion that uses a saved search as the criteria, I could just use that saved search to create a commerce category (and have it stay updated) instead of creating a whole new commerce category of promotion-eligible items manually. 9. On the Pages view of the Overview tab, I'm constantly getting "Preview" and "Edit" confused. If I want to edit the content of the page, I have to click "Preview" but if I want to edit the page settings (title, visibility, etc), I have to click "Edit". It seems like those could be named better. And there's no way to switch back and forth between editing the page content and editing the page settings once you're in either view. 10. The animations when navigating through screens in the SMT seem unnecessary and memory-intensive. The SMT in general seems pretty resource intensive. I've since updated my hardware, but any time I would work in the SMT on my old machine, it would sound like a jet engine. 11. Not once has the "Visibility Timeline" feature made sense to me... I'm sure some of these may be the result of my prehistoric version of SCA and I'm sure I'll think of more, but these are the biggest quality-of-life improvements that could be made for me. Happy to discuss further if you need more information
s
Wow OK
I'm going to send that verbatim to the PMs šŸ˜…
Thank you
For the events one, they're not explicitly documented but have you explored
CMS._events
to see if there's something that works for you?
cms:rendered
is an event you should be able to listen to, for example
j
Haha. I'm sure they'll be thrilled! šŸ˜„
One of our other devs had mentioned some of the CMS events in the past, but I was under a deadline at the time and didn't have time to investigate too much and couldn't get them to work in the way I expected them to. I'll have to look into it more, though.
I also thought of another one that I've recently been dealing with. Adding new fields to an existing content type can completely break it and make it all other CMS content on the page non-functional if you don't do it right. The problem is...I haven't figured out exactly what the right way to do it is yet. I think the wrong way is to: 1. Create a new instance of the content type on a page and assign it some data. 2. Save, but don't publish the content 3. Add new fields to the content type record 4. Go back to edit the content with the SMT, adding new data to your new fields. 5. Save and publish. 6. Sometimes, it will work in the editor, but sometimes not. Mostly, though, it causes all other CMS content on that page to fail and appear white, with no console errors or anything indication of something wrong. I THINK if I add the fields before editing or adding any content at all, it seems to work OK, but it still makes me very nervous any time I need to make a change to any content types that are used in multiple places on the site.
@Steve Goldberg Two more. (Are you sick of these yet?): • SMT does not allow for upload or selection of images in next-gen formats like AVIF and WebP. The only allowed file types are JPG, GIF, PNG, PJGP (???), SVG, and TIFF (???). I've also tried to hack it by uploading it directly to the file cabinet, but the results in the SMT when you go to select an image are obviously filtered by file type. • It would also be nice if the SMT would automatically apply the
srcset
attribute for images inserted using either the CMS Image or CMS Text content types, similar to Wordpress (or was, at least the last time I used it). It's quite easy to do using NetSuite's image resizing capabilities in a custom content type, but in the out-of-the-box content types, it just inserts the image with a plain
src
attribute.
s
Next gen image formats is a deeper NetSuite ask than just SMTs, and one I am well aware of. I hadn't really thought about srcset. It's not something we use in the application and I could check to see if there are any plans to change the way we do things to include it
j
Yes, I remember discovering the product images in next-gen formats and the discussion we had about it awhile ago. It was good to see that. I feel like srcset is pretty specific to CMS editable areas and wouldn't necessarily be required in the application for two reasons: 1. The application itself is fairly image-light and images in themes and extensions should already be fairly optimized and appropriately sized. 2. Images placed in the CMS can vary wildly in their physical dimensions and file size, especially when uploaded by "non-tech" users who either don't know any better or don't have the means to optimize the images.