New feature - Allow to choose what to display by default on User Profile
I've been working on a "Dashboard" plugin that will present User with a summary of their activity at a glance, as well as showing separate lists for Discussions, Questions, Comments and Answers (I attached a screenshot to give an idea of the result).
The issue I'm facing now is that, when the User open his profile, he gets directed straight to the "Notifications" tab, which is not ideal, as I'd like the Summary to be displayed first (it will contain notifications too, eventually).
I did some research, and I found out that this behaviour is hard-coded into the ProfileController, in method Index(). The method description states clearly " If current user's profile, get notifications. Otherwise show their activity (if available) or discussions.", and the code reflects this.
My workaround, right now, is to put Notifications as the first tab, so that it looks like I deliberately chose to sent the User there by default. My client explicitly asked to have the Summary as the default page, therefore I'll have to do some "convincing work" here.
A possible solution
- Add a "User Profile Default Page", as a simple textbox where the Admin can enter the path. The drawback is that it may not work very well with paths such as "/discussions", which require additional parameters at the end.
- In Profile->Index(), check if there's a User Profile Default Page configured. If there is, show it. If not, follow current logic.
The above is still an initial idea and it might require more work than I thought, but I think it could be worth looking at it in more detail.