Forums | Mahara Community
04 March 2010, 6:55 PM
I have a general question that I would like to have answered. When a user edits their profile they are able to drag and drop different content to their profile page. I had an idea that I would like to develop but, not sure where to start. Instead of creating columns on the profile page I would like to have tabs instead. When a user drops a new content block on their profile page then it would create a new tab. So, it would work similar to facebooks profile page. This method won't bunch up the information and make it look clustered.
Our design is different than most mahara sites. However, I noticed that the view edit works just like the profile edit. This may make it harder to accomplish. We want to keep the view edit functionality the same. Is there away to define tabs instead of columns? Everything seems to be there to make it happen just a few customizations in the core files.
Or it might be easier if we add the tabs just like facebook. They do make it easier to view a persons profile in this manner. Our goal is to create a site that is user friendly and this would be a start for us. Any feedback is appreciated and I could use some documentation on where to begin.
04 March 2010, 8:01 PM
The profile page is a view so if you wanted to add tabs in there, you would have to modify the view editor.
04 March 2010, 9:52 PMYes, I understand thta's it's a view but, could we distingush between the profile view and the other view? They seem to be linked when it comes to functionality. I could be wrong though. Also what file is the view editor located in. I was thinking in the blocks.php file but, want to make sure first. Thanks for your help.
15 March 2010, 1:46 PM
I think what you're talking about is multipage views, which is a pretty complicated issue. I wrote up a specification for this (two actually) last year and we had a long conversation about it on the forums, but unfortunately the funding fell through and I wasn't able to implement it :(
The relevant links are here:
15 March 2010, 4:30 PM
I read the links that you provided and it sounds like it was for all views. We want to implement something similar just to the profile views itself. The myportfolio views would stay the same. Our site design makes the profile page look clustered if they add more than one row.
We were thinking of creating new pages for certain blocks and have tabs at the top of their profile page. The tabs could be renamed to whatever the user wanted to name them. Also there would have to be a limit of tabs. Below is a short outline of what we would like to do.
There would be seven tabs that all could be renamed. The tabs would follow: my blogs, feeds, files (that would include videos and images), general, profile, resume, and wall. Now the tabs could be already on the users profile view. If they assign no information to certain tabs/pages then a message would state"Bob (the user name) hasn't posted anything in this section yet".
We still want to allow them to move the information around on each page. We just wanted a general idea of how to distingush from the views function and the profile view function.
I hope I cleared it up a little bit. I think I know how to the code for the most part of it, I am not sure how to do the tabs that would show on the profile page itself. If you could point me in the right direction I could finish this on our site and then pass the code along to the community.
15 March 2010, 5:25 PM
Hm. I still think the most sustainable way would be to bootstrap the profile view with 7 hard coded pages and let the users drag things around between them, while letting there be n uncoded pages inside normal portfolio views.
Since the exact same code is used for portfolio views and profile views, I think you'll have a harder time trying to do it separately than just taking a bit more of a step up front and doing it for both :)
15 March 2010, 8:08 PM
Actually that wouldn't be a bad idea. I took a look at the coding for the views and it would work the way you mentioned. I guess it wouldn't be that bad to allow tabs on the view page as well. I will get to work on this as soon as I get some of this other stuff out of the way. As soon as I get the coding to work error free I would be happy to post it to the community.
16 March 2010, 2:57 AM
Great that you are happy to share with the community!
It would be even better if you could work closely with the community while you're implementing this, both because it's a very high profile feature that a lot of people want (and it's better to get early feedback fromthem rather than everything at the end ;) ), and to make sure that you comply with coding standards :)
16 March 2010, 6:57 PM
Working closely with the community wouldn't be an issue. Now you said to comply with coding standards, is there a standard ouline somewhere? Or do you mean general standard coding? Just want to make sure I am on the right track.
16 March 2010, 8:28 PM
Some of the coding guidelines for Mahara contributions are written up on the wiki: http://wiki.mahara.org/Developer_Area/Coding_guidelines
When it comes to things like whitespace, most of the existing code *should* be good enough to use as an example when writing code of your own.
This sounds like a really great feature! Keep us posted on your progress, and as always, don't hesitate to ask for help if you need it.