We have just finished rolling out some new changes to the user profile page. Originally we had a sidebar with a couple of links for changing your display name and resetting your password. We later became an OpenID provider and enabled integration with Stack Exchange accounts. Our brand new API requires that each request be accompanied by an API key (to control usage). It became clear that we couldn't just add another link to the sidebar because it was starting to get cluttered.
Instead we decided to completely rennovate the profile page, switching to tabs for each group of options and settings. This makes it easier to navigate the page and also allows direct links to certain sections of the profile page.
We made a number of changes behind the scenes as well. One of the key strengths of using Django for our website is the way everything is loosely-coupled (or at least that's the ideal outcome). We weren't taking full advantage of this in the way the profile page was set up. A lot of application-specific code had crept into the accounts app (which contains the profile page) and it was becoming increasingly difficult to move stuff around. (The views.py for the account app was huge!)
We ended up solving this problem by creating another module we called autodiscover. This module searches each of the installed applications, searching for a certain submodule. If the submodule is found, some information is extracted from it and stored in a list. This is what we use on the user profile page - each app that wants to create a tab on the page exposes some information about the tab (such as a template to render, a name for the tab, etc.) and that tab is added to the list. When you visit your profile page, you will see a list of all installed applications that the autodiscover module found that contain the file profile.py.
Some of these changes required a full database-reset which we performed earlier today. All of your account information was kept intact during this process.
Important: because of the way things are now set up, your Stack Exchange RSS feed has moved. Please visit this page for the new URL.
There are currently no comments posted for this item.
Please login to comment.