We had a good chat around this today around how to brand a MySite at the time it is provisioned in SharePoint Online. The idea is … when the user accesses their MySite for the first time, we wanted to know if you could tap into some vent to swap the Master page to a branded version. Feature Stapling is the obvious option using On-Premise, but this isn’t allows in 365 ..
- Matthias EinigHi guys!
- MeMorning
- Matthias EinigSo out of curiosity if someone has a solution 🙂
- Matthias EinigBranding MySites in SharePoint Online? – Not possible automatically only by manual interaction, right?
- Stefan Baueryou mean the my content section?
- MeNot sure – I only have the cheapo version 🙁
- Matthias EinigI mean applying a masterpage to a newly created MySite in SPO
- what you would to with a feature stapling feature in on-premises
- Mecan you staple in 0365 ?
- Stefan Baueri don’t think so.
- Medoesn’t that usually require a farm level Feature ?
- Matthias Einigas you would have to staple to as webapp feature or farm feature -> no
- Mewhich is a no no
- Matthias Einigsandboxed solutions work only in SC or web
- MeAren’t there some new events now ?
- Matthias Einigso stapling is not an option
- MeCan you hook them from a sandboxed or via remoting ?
- Matthias Einigevents on the self service site creation process?
- Thomy Goelleshave a look athttp://blogs.msdn.com/b/richard_dizeregas_blog/archive/2013/04/04/self-service-site-provisioning-using-apps-for-sharepoint-2013.aspx maybe some of the provisioning here can help
- 08:44
- Matthias EinigInteresting Thomy! Thanks, though this seems to create a self service site creation mechanism and not hook into MySite creation, right?
- have to read through it entirely though first
- Thomy Goellesyeah, it is site provisioning via apps, but maybe the same magic can be applied to mysites
- Matthias EinigIf I look into the O365 support forum I find this and herehttp://community.office365.com/en-us/forums/154/t/58396.aspx
- where support basically says, nope, we have no idea, but there might be a custom solution out there which we are not allowed to tell you 😉
- Hven’t found that one yet unfortunately
- Also when I read through that onhttp://captainofsharepoint.wordpress.com/2012/07/24/sharepoint-online-limitations/ I come to the same conclusion
- There is of course a way to do that manually, i.e. uploading the master page through CSOM and activating it as described here Matthias Einig09:20https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/SharePoint-Online-Changing-Master-Page-through-CSOM.aspx
- oopshttps://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/SharePoint-Online-Changing-Master-Page-through-CSOM.aspx
- Stefan Bauergimme a sec
- Matthias Einigbut that requires to know when a MySite has been created and start the process manually
- 1…2…3… 😉
- 08:49
- Thomy Goellesis a tenant admin SC admin on all mysites?
- Stefan Bauerhttp://www.sharemuch.com/2013/04/09/screencast-on-how-to-make-changes-to-current-sharepoint-masterpage-using-sharepoint-2013-app/
- there is one good article how to change master page using an app.
- Matthias EinigThe last linnk I posted has a code sample how to change the masterpage through CSOM
- and on Chris O’Brians blog there is an article how to provision a masterpage through an app
- still this doesn not solve the problem that when a user is creating his mysite, the branding actions need to be initiated manually
- @thomy: not sure but I don’t think so that the tenant admin is SC admin in the mysites
- Thomy Goellesso you have to get also the rights first
- how do you know a mysite got created?
- is there even a hook?
- Matthias Einigprobably, would make more sense if it runs in the context of the user who is actually creating the mysite and will become SC Admin
- don’t think so
- 08:54
- Thomy Goellessry guys have to split, customer waiting, but I will catch on later! cu
- 08:57
- MeMatt – just googled quite heavily
- i was trying to workout if you could hook up the WebProvisioned event remotely
- in 365
- as you could get the to call back to some service in Azure
- but I can’t find much at all
- custom dev in 365 = ball ache
- Matthias EinigYep, I googled in bing and googled in goolge with no helpful results 😉
- wouldn’t have asked before beeing sure 🙂
- but I am wondering how others are solving that
- there are big SPO tenants who most likely have branding and require to solve that problem…
- Meit seems like a very common question
- that you would have though would have been resolved
- Stefan Bauerthey don’t use it. I mean what you can do is to create a aspx page in the my profile and redirect all links that force the mysite creation the application page.
- Memaybe there aren’t that many using 365!
- As a dirty solution, can you add some code into the Master page preRender and swap it out ?
- Matthias Einig@Mark don’t get what you mean
- SPO is provisioning the MySite with the default site definition
- Meyeah – you can’t add it to all
- Matthias Einigso no custom masterpage or sandboxed solution is yet available
- Methat wont work either
- cripes!
- Matthias Einigand you can’t expect users to upload the branding sanboxed solution manually and activate some features
- very odd… I guess MS just doesn’t want us to brand SPO…
- Stefan BauerI know a solution that might work.
- Matthias Einigon-premises SP? 😉
- Stefan Bauerno on O365
- Matthias Einighaha, was just kidding -> shoot!
- Stefan Bauerin the mysite you have the my.yourdomain.com which is a single site collection and you have the /personal/stefanbauer
- for example
- but the last thing we want to create with a branding
- Matthias Einigexxactly
- the mysite host is branded easily manually by uploading a solution and activating a feature
- Stefan Bauerok now we brand the my.yourdomain.com first with a custom master page.
- 09:12
- Stefan Bauerwe can smuggle in any kind of code in the custom master page.
- MeStefan they are to different site collections though ?
- the host one and the users content site
- Stefan Bauerthey are many different site collection. Every use have one and one i global.
- Matthias Einigexactly, so changed masterpage on the host does not allow us to make changes in the personal site collection
- Stefan Bauerwell you can change it. It is not true that you cannot change to host Master Page
- i did this several time.
- Memmm not sure – they use independent Master pages
- Matthias Einigeach site collection has its own masterpage galleryso the mysiste host has its own master page
- and each personal site collection too
- so I am not getting how I would be able to change the masterpage as soon as any user is creating his personali site colleciton the first time from the my site host
- Stefan Baueryou need always go to the profile first before you can create the mycontent.
- Matthias Einigtrue
- Stefan Bauerso the master page of the profile replaces all links to the mycontent creation to a custom aspx page that is stored in the my profile.
- Matthias Einigah, now I get it!
- so you want to replace the ootb site provisioning mechanism with a custom one
- Stefan Bauerthe aspx page need to make a simple ajax request to the original createion page in context of the user
- you can check and monitor if the creation is done.
- then pull the branding app from the app catalog somehow and activate it
- in the mycontent
- got it
- ?
- Matthias EinigGot it.
- translating a german saying “from the back through the chest into the eye…”
- Stefan Bauerthe normal sp approach
- Matthias Einighehe
- 09:23
- Stefan Baueri think the feature stapling or provisioning handler do nothing different. All you need to do is to replace the creation page with a new custom creation page.
- 09:24
- Stefan Bauerand now there is silent 😉
- Mecan you disable auto provisioning of MySites in SharePoint Online ?
- Stefan Baueryou can disable self site creation but then the user won’t get the mycontent page if he requests it.
- Mewell I was thinking …
- 1.. Disable it
- 2.. Replace it with some kind of “Request your site Page”
- 3.. This calls back to a service outside
- 4.. Then powershell the mysite apply the branding, email the user
- 09:28
- Matthias Einigsorry, was distracted 🙂
- @Mark: I want to avoid a manual process
- esp with a tenant with multiple thousand users…
- 🙂
- Stefan Bauer@mark i think this only gets harder. someone needs to create a site, add the link to the profile, add the branding, make the user as SC admin
- Meit wouldn’t be manual
- you turn it off
- create a page on the “main site”
- which says “Create your MySite”
- this calls out of 365 to your service
- which calls back and creates it
- customizes it
- and then gives them the site
- Matthias EinigReading powershell I thought more of a manual solution
- but then it could run as an app like the provisioning solution mentioned above by Thomy
- MeGreat discussion this Matthias
- when its over we should paste is a discussion
- something that;s highly needed is very tough to do
- 09:34
- Meis it over ?
- Matthias EinigReal world problem provide the best discussion topics right 🙂
- Meyeah
- Stefan Bauerit’s not over yet. might have another idea
- Mehehe
- GO Stefan
- the ideas are flowing
- Matthias Einigso let’s hear it!
- Stefan Bauerisn’t there a way where you can define the template the ssc should use?
- i mean you can use ssc outsite of mycontent too.
- 09:37
- Matthias Einignot that I am aware of
- but in SPO you can not provision a custom site template which can be used for a site colleciton, right?
- so you would need to create the site collection without template
- upload the template with a sanboxed solutoin
- and then create the web.
- Stefan Baueryeah you are right stupid idea. the first one was better
- delete it from the log 😉
- Matthias Einighaha
- no, the internet never forgets! 🙂
- Stefan Baueryeah i know.
- Matthias EinigSo Mark, I would say we stop here for now. I will digg into it more and get back if I find a solution (or not)
- Thanks to you all for your input!!!
Haven’t looked at the code yet, but this could be a/the solution: