At the moment (Alfresco 5.0.c) the User Profile is till the same code since 4.0. It definitely needs an overhaul.
Steps at the moment:
- Need to define a custom user-factory
- Need to write Java code and extend the default SlingshotUserFactory
- Need to overwrite (in web-extension) /site-webscripts/org/alfresco/components/profile/userprofile.get.js
- Need to overwrite (in web-extension) /site-webscripts/org/alfresco/components/profile/userprofile.get.html.ftl
With the extension module you can bypass extending userprofile.get.html.ftl and just add a snippet somewhere.
The case is still that you need to fullfill these steps for only a simple addition of a metadata field.
The biggest issue of this approach is that the user profile isn't being rendered by the forms engine so it can't be defined/switched in a forms-config. So a hell lot of redundant copy and paste code.