I was upgrading SO for a customer, from custom 1.6 to 2.0 EE. During upgrade, some users were not upgraded (their public and private layouts) due to the fact, that they had classic theme assigned on their public pages instead of so-theme.
I realized that after the upgrade, so I tried to manually assign Social Office Role to the users, but their layouts were never created from the Site Template. I dug into code and found out, that the layout template failed to be used for user's pages because of unsupported locales in portal. I'll attach the full stack trace to this issue.
Customer's portal was running on 6.0.1 and had the locales stored in PortalPreferences. 6.1.20 introduced more locales and the site template used all the new locales and during import was complaining, that not all locales are available in the portal.
(1) If possible, define only en_us locale for the SO site template, as it does not have any other language versions. Then it could be used in upgraded portal, when it has at least english language.
(2) Fail the Save action (assignment of the Social Office User role), if the layouts could not be created from the site template. I'm not sure if the model listeners could do that, or at least issue a clear error in the log each time.
It took me a while to locate the problem, because the site template is really imported only 4 times and after 4 fails, only WARN message is logged and import is not performed again. But com.liferay category has by default only ERROR level set, so I saw nothing in logs and success on the UI side (4 failed attempts were performed days earlier and were in different log file).