Sorry, gang, for an awkward page. It's currently a quick dumping place for what we feel may be useful tips.
Last reviewed: October 27, 2023
To maintain security and stability of the UBCMS, we have established the following guidelines for customization and development.
Site authors (developers) can do the following.
Use an API to automate publishing external content into UBCMS pages (see a RestAPI example - usual login required). This is a way for an external script (e.g. PHP) to manage UBCMS pages instead of using Author tools. Typically this external script would run once to create pages that would then be edited in the normal way in Author going forward (such as a migration), or it would run continuously and be the only way certain pages are maintained (perhaps from an external database).
Access pieces of UBCMS content via REST API, such as to download your UBCMS header and footer to an external server to extend your UBCMS look and feel to other sites. (Watch the Developer Master Class.)
On your own university server or a third party server.
Please keep in mind:
Any customizations must be supported by your team.
We run code deployments on a weekly schedule and suggest you test regularly to address any code in your site that is affected.
Akamai content delivery network
The Akamai content delivery network (CDN) delivers our Web pages through high-speed 'edge' servers physically located around the globe, instead of through the 'origin' servers directly (our UBCMS servers). The CDN helps accelerate, filter, and secure web traffic.
Shared Content Reference components directly including CSS or JS files
This trick is good for debugging and fixing page problems in the Author environment.
It reduces the page to a skeleton view, so it is easy to find all the components including any that are hidden.
Components can be modified normally, or temporarily turned off, before the page is then re-displayed.
Switch to Preview Mode then add "?rescuemode=1" to the end of the URL in the browser location bar. e.g. https://ubcms-author.buffalo.edu/content/your-domain/your-site.html?rescuemode=1
This does not disable all CSS but renders most components in a data-only way which can block the effects of misbehaving components that might mess up the whole page. It can also reveal empty or invisible components that cannot otherwise be edited or deleted.
This trick allows you to preview a page in Author as if it were published live.
Temporarily disable most of the author environment on a page, including the Edit Console toolbar.
Switch to Preview Mode then add "?wcmmode=disabled" to your page’s URL in the browser location bar.; e.g. https://ubcms-author.buffalo.edu/content/www/cmshelp.html?wcmmode=disabled
location of User and Group Manager admin tools off the Start page
The links to the User Admin and Group Manager Tools are off the Start page. Look on the left for the Tools hammer icon. Click that to reveal Security. Click that to reveal the link to both user tools (admins only).
Emulator / Mobile Device Simulator
Display your page as it would appear in mobile phones and other size devices.
first page load is more important than it used to be; e.g. clicking a search result, ad, email campaign link
browser cache is no help here
How We Measure...
Core Web Vitals (LCP, FID, CLS) - https://web.dev/vitals
green (90-100) is unrealistic for mobile but commonf or desktop
yellow (50-89) most pages will be in this range on mobile
red (0-49) our pages shouldn't scor ethis low without a large external script or iframe but Google expects the average to be 50 so half of pages in general will be in this range including our many of our peers
“Lab” Measurements - force a measurement
Google PageSpeed Insights - https://pagespeed.web.dev
Lighthouse - in Chrome DevTools and elsewhere - https://developers.google.com/web/tools/lighthouse
Web Vitals Chrome extension - https://chrome.google.com/webstore/detail/web-vitals/ahfhijdlegdabablpippeagghigmibma
“Field” Measurements - log what real users actually experience
Chrome User Experience Report - https://developers.google.com/web/tools/chrome-user-experience-report
Google Search Console Core Web Vitals Report - https://support.google.com/webmasters/answer/9205520
mobile processor speeds are slow
mobile network conditions are slow and unreliable
Third-party embeds (scripts, iframes)
Duplicate or unnecessary analytics tags
What Doesn't Matter (as much)...
desktops/laptops typically fast and well-connected
images (somewhat, but we optimize for you)
off the screen / below the fold - does not contribute to LCP
video - does not contribute to LCP
background images - does not contribute to LCP
What You Can Do...
consider the impact of everything you put on each page (cost/benefit)
think even harder about what you put on every page (header, footer)
watch for scripts, iframes, tags in GTM
move slow things lower down the page / below the fold
turn heavier analytics off when not needed (e.g. heat tracking)