Problem: I need to inject JavaScript into a couple of hundred thousand site collections and subsites using a Custom User Action. I want to use a CDN. Governance will not let me add to the layouts folder on the WFE's. Using a CDN for a CUA is causing the blank page.
Initial Hypothesis: I don't want to deploy the same JS file hundreds of thousands of times into the local site collections. As updating and storage are crazy. I want a CDN like behaviour, and the closest I can get is to modify the hive directory on each SharePoint on-prem. farm that allows me to reference the JS. I do have several farms and IT governance won't let me modify the WFE's.
Tobias Lekman has an excellent comprehensive overview of the CUA issue:
https://blog.lekman.com/2013/01/scriptlink-registration-in-sharepoint.html
Doing the usual testing, bizarrely I can use anonymous https://radimaging.sharepoint.com/_layouts/15/guestaccess.aspx?docid=55529eccf4555d698555cb26108fb555&authkey=555-6M9555zF555g555 for my CUA JS file.
When I allow external access on my personal public O365 E3 tenant, I can use this URL, the CUA works perfectly. My client does not have an Office 365 external public tenant I can use, so an Akamai (or another CDN)CDN and fake the validation. It's either SP URL validated, or I need to load it differently if I want to use a CDN. I used an Akamai CDN and added /_layouts/15/ into the URL using folders, and the CDN started working for my CUA. e.g. https://cdn.domain.com/sharepoint/_layouts/15/cuatest.js
Possible Resolution:
Initial Hypothesis: I don't want to deploy the same JS file hundreds of thousands of times into the local site collections. As updating and storage are crazy. I want a CDN like behaviour, and the closest I can get is to modify the hive directory on each SharePoint on-prem. farm that allows me to reference the JS. I do have several farms and IT governance won't let me modify the WFE's.
Tobias Lekman has an excellent comprehensive overview of the CUA issue:
https://blog.lekman.com/2013/01/scriptlink-registration-in-sharepoint.html
Doing the usual testing, bizarrely I can use anonymous https://radimaging.sharepoint.com/_layouts/15/guestaccess.aspx?docid=55529eccf4555d698555cb26108fb555&authkey=555-6M9555zF555g555 for my CUA JS file.
When I allow external access on my personal public O365 E3 tenant, I can use this URL, the CUA works perfectly. My client does not have an Office 365 external public tenant I can use, so an Akamai (or another CDN)CDN and fake the validation. It's either SP URL validated, or I need to load it differently if I want to use a CDN. I used an Akamai CDN and added /_layouts/15/ into the URL using folders, and the CDN started working for my CUA. e.g. https://cdn.domain.com/sharepoint/_layouts/15/cuatest.js
Possible Resolution:
- Local Site Collection uploaded files
- CDN assuming the JS location has: