Ok, so I'm working on a simple club website and a lot of the jomsocial features are overkill such as groups, friends, and user configurable privacy for fields. I'm not trying to make this site a replacement for facebook. Groups I was easily able to disable, but friends and profile fields seem to be a bigger problem
My first concern is I would like to make certain profile fields required BUT also ALWAYS public. If some of the club members are uncomfortable sharing that information, then they are better off not even registering on the site since the whole point of it is to gain greater community awareness. The fact that on account creation it automatically allows users to set some fields private or friend/member only is frustrating and opens up a can of worms, and forces manual policing for compliance. I would imagine this would also be important for other specific commercial niches (like forcing gender to be public on a dating focused community site,) so I was surprised I couldn't figure out a way to do this.
The other issue is with friends. Frankly, there just aren't that many of us, and given our geographic situation, there probably never will be that many. Allowing members to send private messages is good enough, I don't want to encourage sub cliques within our already clique club. So the other aspect I'd like to address is disabling or hiding friends functionality. I don't mind members posting content to all members only instead of public, or a specific member (private message), but having a few members friend each other and then only socialize within their existing clique won't help our community grow and they can do that via other platforms if they really want to. I don't want my site to facilitate that though.
What might be the best approach for each of these two issues? Modifying the template to make it inaccessible? creating an addon? making a minor hack? or might some of these be features the JomSocial team could address without too much difficulty? or maybe they are features the JomSocial team might want to implement regardless of difficulty?
My background is in software development and I'm comfortable with css and php. I haven't written anything joomla specific since version 2.0 though so I might be a little backdated.
Any help or suggestions would be great. Thanks!
Hi, Justin.
To remove privacy dropdowns, read this:
www.jomsocial.com/forum/profile-universa...n-editprofile#107748
Removing friends feature will be much harder. You'll need to remove all friends related buttons and text
- friends link/counter in profile (under cover image)
- friends menu item in JomSocial toolbar (and items like invite friends, show all, pending approvals and request sent). Removing menu items will be quite easy but they appear in submenu visible inside component.... and removing this will require core files to hack
- add as friend button on cover
- My friends button from Hello me module
- friend request icon from toolbar, hello me module and notify module (if you use them)
- add friends button in search results and listings
So they will be a lot of customization and hacking.
It's great that you have php/css skills - use FireBug to inspect the code and then search for text in JomSocial files and you'll find places need to be modified.
All that is related with user profile header is here: ROOT/components/com_community/templates/default/modules/profile/userinfo.php (nearly 50% of customizations will be there).
User listings are here: ROOT/components/com_community/templates/default/people.browse.php
Group members list is here: ROOT/components/com_community/templates/default/groups.viewmembers.php
I decided I could leave the friend functionality, I just took away the ability to share anything only with friends. That way the friend list becomes purely visual and doesn't allow for creating cliques since everything is public or member only.
And I added the optional permissions array to the CPrivacy::getHTML method like so: array('public' => true, 'members' => true, 'friends' => false, 'self' => true)
The template files I updated (sometimes in multiple locations) are:
photos.editalbum.php (1 place)
profile.edit.php (1 place)
profile.preferences.php (5 places)
profile.privacy.php (5 places)
register.profile.php (1 place)
videos.edit.php (1 place)
videos.link.php (1 place)
videos.upload.php (1 place)
This has solved the issue ALMOST. However, status updates have a privacy button that defaults to all four options as true, and I can't find where it is getting called at.
Any ideas? Thanks
Hi, Justin.
This will be quite rough customization that require core files to hack:
ROOT/components/com_community/assets/_release/js/templates/jst.js
ROOT/components/com_community/assets/_source/html/dropdown/event.html
ROOT/components/com_community/assets/_source/html/postbox/custom.html
ROOT/components/com_community/assets/_source/html/postbox/event.html
ROOT/components/com_community/assets/_source/html/postbox/photo.html
ROOT/components/com_community/assets/_source/html/postbox/status.html
ROOT/components/com_community/assets/_source/html/postbox/video.html
ROOT/components/com_community/assets/_source/js/templates/jst.js
Look for <li data-tab="privacy">
Be aware that core hacks are not recommended nor supported as they may not working with future JomSocial releases and/or cause issues that will be not supported. Users with core files hack refuse to upgrade their installation to keep those hacks and they are stuck with outdated and unsupported versions.