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!!!
Really interesting approach. Thanks for sharing!
Need to try it myself.
Still, unbelievable that MS is making it so hard for us to fulfill one of the typical client needs…