Opened 6 years ago

Closed 6 years ago

#1695 closed new feature (fixed)

Related Groups

Reported by: mahouni Owned by: mahouni
Priority: major Milestone: 1.4
Component: BW Group Keywords: groups subgroups
Cc:

Description (last modified by crumbking)

This is a ticket about the sub-groups suggested in this thread:
http://www.bewelcome.org/forums/s2609-Subgroups

browsable source code :https://gitorious.org/~mahouni/bewelcome/mahouni-rox/commits/subgroups_v04

Please add design suggestions and improvements. Or report if you have found a bug.

Attachments (2)

subgroupsadd.png (61.5 KB) - added by shevek 6 years ago.
mind the gap.jpg (132.1 KB) - added by pablobd 6 years ago.
There is a gap between the recent posts and the list of related groups

Download all attachments as: .zip

Change History (112)

comment:1 Changed 6 years ago by crumbking

  • Description modified (diff)

On http://www.nunatakker.li/bewelcome/htdocs/groups/featured

I get this error:

Warning: Creating default object from empty value in /home/nunatakker/webapps/bewelcome/build/groups/groups.ctrl.php on line 252

Warning: Cannot modify header information - headers already sent by (output started at /home/nunatakker/webapps/bewelcome/build/groups/groups.ctrl.php:252) in /home/nunatakker/webapps/bewelcome/tools/page/html.page.php on line 17

comment:2 Changed 6 years ago by crumbking

Also leaving a group and rejoin somehow does not work. (not sure if that is a general bug)

comment:3 Changed 6 years ago by mahouni

Thanks for testing!

Hmm, I changed something in the error reporting, because I am deploying with php5.4. I think that warning would be on the master branch too, and not specifically related to the sub-groups feature. I will check that.

comment:4 Changed 6 years ago by mahouni

The warnings shouldn't be displayed on the website anymore.

comment:5 follow-up: Changed 6 years ago by crumbking

Somehow I would like to see the whole functionality as an extra tab. Or maybe we add it to "members settings" ?? Not sure....

Regarding the groups/X/selectSubgroup page. I guess on the production site we have a problem getting to show all the groups and to find the right group. I suggest a (ajax) name search like in the group invitation function.

PS: Yes errors are gone.

BTW: I could help with the layout. Is it possible for me to push to your branch?

comment:6 in reply to: ↑ 5 ; follow-up: Changed 6 years ago by mahouni

Replying to crumbking:

Somehow I would like to see the whole functionality as an extra tab. Or maybe we add it to "members settings" ?? Not sure....

Or show the group settings tab to all group members: Group admins could also see all tab as it is at the moment plus the subgroups add/remove functions. Normal members could only see the subgroups add/remove functions.

Regarding the groups/X/selectSubgroup page. I guess on the production site we have a problem getting to show all the groups and to find the right group. I suggest a (ajax) name search like in the group invitation function.

Not all groups are shown, I can only add one of my groups. But yes, I think it would be good to have a search function additionally.

PS: Yes errors are gone.

BTW: I could help with the layout. Is it possible for me to push to your branch?

That would be great! I don't like the layout as it is at the moment. On the group start i.e. page I would prefer smaller icons, and maybe just a list with the name/links to the subgroup.

I think the best workflow would be:

  • checkout my branch locally
  • create a new branch based on that branch, e.g. "subgroups_crumbking"
  • commit to your new branch
  • pull changes from my branch and merge them
  • push your branch "subgroups_crumbking" to your gitorious repository "crumb-rox". (If that is your origin repo)
    git push origin subgroups_crumbking
    
  • create a merge request from your gitorious account

comment:7 Changed 6 years ago by mahouni

  • Owner changed from Fake51 to mahouni
  • Status changed from new to assigned

comment:8 in reply to: ↑ 6 Changed 6 years ago by crumbking

Replying to mahouni:

Replying to crumbking:

Somehow I would like to see the whole functionality as an extra tab. Or maybe we add it to "members settings" ?? Not sure....

Or show the group settings tab to all group members: Group admins could also see all tab as it is at the moment plus the subgroups add/remove functions. Normal members could only see the subgroups add/remove functions.

Yes good idea. I reordered the whole group settings page. Use the page width more and added the subgroup functionality. There is some more stuff to do but I pushed already so that you could see the way I wanna go...

Regarding the groups/X/selectSubgroup page. I guess on the production site we have a problem getting to show all the groups and to find the right group. I suggest a (ajax) name search like in the group invitation function.

Not all groups are shown, I can only add one of my groups. But yes, I think it would be good to have a search function additionally.

Ah okay that's great. Most people won't have many groups.

PS: Yes errors are gone.

BTW: I could help with the layout. Is it possible for me to push to your branch?

That would be great! I don't like the layout as it is at the moment. On the group start i.e. page I would prefer smaller icons, and maybe just a list with the name/links to the subgroup.

I think the best workflow would be:

  • create a merge request from your gitorious account

I just did ;-)

Regarding the log entries: I would say we move them into two 50%/50% columns and just show a bigger user pic and left of it I would show:
henri
added/removed
Subgroupname

Therefore we avoid a long page and we could show something like 10 entries in every column.

Could you have a look at the add/remove pages the jump back to the log page but somehow the buttons are gone.

comment:9 Changed 6 years ago by mahouni

super cool! It looks great! I will have a look at the buttons/links in the next days..

comment:10 Changed 6 years ago by crumbking

Just documenting issues so we won't forget:

  • groups/X/groupsettings is now visible public (should jump pack to groups/X/)
  • groups/X/groupsettings is now visible to members (should jump back to groups/X/ if not a groupmember
Last edited 6 years ago by crumbking (previous) (diff)

comment:11 Changed 6 years ago by crumbking

I just added some more commits to the merge request:

http://gitorious.org/~mahouni/bewelcome/mahouni-rox/merge_requests/1

comment:12 follow-up: Changed 6 years ago by mahouni

hmm, I think that the urls in routes.php should be unique. At the moment it overwrites the group_groupsettings route and thereby skipping the checks in the groupSettings function of the groups.ctrl.php. I would prefer to skip the subgroup_log route and use the groupsettings.page.php. And maybe change the subgroup pages to templates? Then it might be possible to include the templates in the groupsettings page? sorry, confusing stuff, and unfortunately i don't have much time to spend on coding at the moment.

comment:13 Changed 6 years ago by TimLoal

On URLs: I feel that this should be looked at a project wide basis, to improve, consistency, system feedback/communication and intuitiveness.

I have worked with Dynamic URL a lot, there are a number of great approaches, which are win, win, win. I am also keen to see use of #hash tagged urls with AJAX to bring AJAX actions and views into the URLs, for bookmarking, linking etc.

The beauty of DURLs is that they can be computed as well as simply listed ie /messages/inbox/mahouni or /messages/mahouni to filter down to messages from mahouni or all messages with mahouni. This form of url deciphering, by the server can be very empowering to the user and extends the functionality of the system, beyond what the developer creates. DURLs don't even need to be in the traditional form and can be a simple language string like,/create new trip and even be able to populate fields, through an extended url or the query string ie /create new trip?title=Somewhere Nice&?description=Bla bla bla&createnow=true or /reply to post?id=s2729?reply=This is a really good idea! [br/] I look forward to seeing it soon. [br/] LnP

I'll do a ticket, unless someone beats me to it. I'm a little busy at the moment.

LnP

comment:14 Changed 6 years ago by TimLoal

  • Milestone changed from Future to 1.0

Move to milestone 1.3 if not suitable on 1.0

LnP

comment:15 Changed 6 years ago by mahouni

  • Milestone changed from 1.0 to Future

comment:16 Changed 6 years ago by jsfan

  • Milestone Future deleted

Milestone Future deleted

comment:17 Changed 6 years ago by mahouni

  • Milestone set to unassigned

changed it again... Now we have an extra tab with a separate sub page for the subgroup administration. This avoids conflicts with group admin privileged pages.
https://gitorious.org/~mahouni/bewelcome/mahouni-rox/commit/c826edd85377cb68644e63f0a254f49167472829

Last edited 6 years ago by mahouni (previous) (diff)

comment:18 follow-up: Changed 6 years ago by crumbking

I get an error of magnitude ;-) on /groups/5/addSubgroup/53 So can't add a group to test the functionality.

comment:19 follow-up: Changed 6 years ago by crumbking

Maybe a minor thing: While no subgroup attached we could hide the RemoveSubgroupTitle? RemoveSubgroupButton?.

comment:20 in reply to: ↑ 12 Changed 6 years ago by crumbking

Replying to mahouni:

hmm, I think that the urls in routes.php should be unique. At the moment it overwrites the group_groupsettings route and thereby skipping the checks in the groupSettings function of the groups.ctrl.php. I would prefer to skip the subgroup_log route and use the groupsettings.page.php. And maybe change the subgroup pages to templates? Then it might be possible to include the templates in the groupsettings page? sorry, confusing stuff, and unfortunately i don't have much time to spend on coding at the moment.

Yes it would be good to get some stuff into template files. I will work on this a bit.

comment:21 in reply to: ↑ 19 Changed 6 years ago by mahouni

Replying to crumbking:

Maybe a minor thing: While no subgroup attached we could hide the RemoveSubgroupTitle? RemoveSubgroupButton?.

definitively

comment:22 in reply to: ↑ 18 Changed 6 years ago by mahouni

Replying to crumbking:

I get an error of magnitude ;-) on /groups/5/addSubgroup/53 So can't add a group to test the functionality.

grrrr, how did that happen? I will check the error log. I couldn't reproduce it, it worked with user ieva.

About the templates: I am not sure if that is necessary. I solved that one with https://gitorious.org/~mahouni/bewelcome/mahouni-rox/commit/c826edd85377cb68644e63f0a254f49167472829[[BR]] And the subgroup log page is not that overloaded. I decided to keep the html in the page file because I haven't found another example of including the template with ../templates/subgrouptemplate.php Either move the page.php files back to build/subgroups or leave it as it is (I prefer the second).

comment:23 Changed 6 years ago by crumbking

Forget about the magnitude. Missed to add the tables ;-)

Okay works now. I will test here and there ...

comment:24 Changed 6 years ago by crumbking

  • groups/17/deleteSubgroup/53 this page does not show the submenu "GroupSubgroups?"
  • groups/17/deleteSubgroup/53 with a reload (F5) you get an error
Fatal error: Call to a member function DeleteSubgroup() on a non-object in /home/crumb/webdev/bw/build/subgroups/subgroups.model.php on line 134 
  • groups/17/addSubgroup/53 this page does not show the submenu "GroupSubgroups?"

comment:25 follow-up: Changed 6 years ago by crumbking

  • groups/17/deleteSubgroup/53 this page shows the results but not the add/remove buttons
  • groups/17/addSubgroup/53 no buttons

comment:26 in reply to: ↑ 25 ; follow-up: Changed 6 years ago by mahouni

http://gitorious.org/~mahouni/bewelcome/mahouni-rox/commit/0ffe91394f0dea1307f4678edf21d3ee877447dd
fixes the following:

  • RemoveSubgroupTitle not displayed if there are no subgroups
  • SubgroupsTitle not displayed if there are no subgroupsceptc
  • Except Error when page is reloaded and subgroup already deleted.


Not fixed:

  • groups/17/addSubgroup/53 this page does not show the submenu "GroupSubgroups?"
  • groups/17/deleteSubgroup/53 this page shows the results but not the add/remove buttons
  • groups/17/addSubgroup/53 no buttons

I have seen this, and it might get fixed. But then I thought okay.. it might be a nice blocker for someone who want to do sabotage. But I will have a look at this again, what's happening with the callback there.

comment:27 in reply to: ↑ 26 Changed 6 years ago by mahouni

Not fixed:

  • groups/17/addSubgroup/53 this page does not show the submenu "GroupSubgroups?"
  • groups/17/deleteSubgroup/53 this page shows the results but not the add/remove buttons
  • groups/17/addSubgroup/53 no buttons


It's fixed now...

comment:28 follow-up: Changed 6 years ago by mahouni

here is a possible way how to use a rox api to create a category hierarchy from the subgroups dynamically:
http://gitorious.org/~mahouni/bewelcome/mahouni-rox/commit/115b3b51be6b3a088b94e4e39bbb1d99705b3987

could be implemented in rox in the groups overview page or in welen

comment:29 Changed 6 years ago by crumbking

I checked the subgroups again. Cool works much better now. Just in the add/deleteSubgroup page the submenu seems not "active". I also thought of some kind of "<< back to Manage Subgroups" link/button but not sure this is needed...

Anyway I vote to implement this into 1.4 ! Also with the improved groups overview page :-)

comment:30 in reply to: ↑ 28 Changed 6 years ago by crumbking

Replying to mahouni:

here is a possible way how to use a rox api to create a category hierarchy from the subgroups dynamically:
http://gitorious.org/~mahouni/bewelcome/mahouni-rox/commit/115b3b51be6b3a088b94e4e39bbb1d99705b3987

could be implemented in rox in the groups overview page or in welen

How do you choose the main categories? Simply use continent groups as a starter?

comment:31 Changed 6 years ago by mahouni

Yes in that version it would be a top of category and a top of geographic tree group. In this case we would let the users self organize the places system, it might be very interesting how that would be structured. But it is also possible to use the geonames tree from geonames or our own database. I have managed to link that tree with the map featur, so if you select e.g Germany, the map zooms to Germany and searches all groups inside the map and show them in the group list. In the tree element you will see the Bundesländer listet as selector. The problem is that geonames only provides the center coordinates, not the bounding box or the even better the shapes. So the result is not perfect (or say without borders ;) If I would have more time, I would offer such a search by administrative boundaries, some data would be available on the net as shapefiles.

But well, that does not belong to the subgroups... They solve a simpler problem but still very useful..

comment:32 Changed 6 years ago by mahouni

"Just in the add/deleteSubgroup page the submenu seems not "active". "

And that one is now fixed too... ;)

comment:33 Changed 6 years ago by mahouni

  • Milestone changed from unassigned to 1.4

adding to 1.4

comment:34 Changed 6 years ago by jsfan

As mentioned on http://lists.bewelcome.org/pipermail/bw-dev-discussion/2013-January/010397.html , you need to make the following database changes:

DROP TABLE IF EXISTS groups_subgroups;

CREATE TABLE groups_subgroups(id int(11) PRIMARY KEY auto_increment, group_id int(11), subgroup_id int(11), addedby int(11), deletedby int(11), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);

INSERT INTO preferences(codeName, codeDescription, Description, DefaultValue, PossibleValues, Status) VALUES ('ShowMyGroupsTopicsOnly', 'ShowMyGroupsTopicsOnlyDes', 'ShowMyGroupsTopicsOnly description', 'No', 'No;Yes', 'Normal');

comment:35 Changed 6 years ago by jsfan

The parent group shows all sub groups but shouldn't sub groups also show parent groups?

comment:36 Changed 6 years ago by jsfan

Is it intentional that cyclical references are possible?

comment:37 Changed 6 years ago by mahouni

Hi jsfan,

at the moment there is no method implemented that fetches the "parent" groups which are linking to a certain group. It would be possible, but I don't think it is absolutely necessary. I realized that the name "sub group" is not correct; in the wordcode the text should be "Sub groups and related groups". So it works more like a website link: a website doesn't show all the websites linking to it. Therefore it is also possible to have cyclical references. A user always has to be member of both groups, so it's up to the members's decision to link both ways and which direction. If other group members disagree, they will have to find a consens together. In my opinion this is okay, but it also could have a check to disable it and go for a strict parent-child structure.

My suggestion is to do the following:

  • Till tomorrow I expect the tickets for this release to be pushed to develop.
  • Then freeze develop for new code and test and review everything locally for a few days, fix the bugs we find.
  • About Thursday it should be ready to be deployed on alpha.
  • Test again and then I would write a post in the "feature request" group (or "Brainstorm"?), to test on alpha and give feedback. If we find out that it doesn't work with the more flexible structure and the people prefer the strict parent-child structure, I would work on that again.


Note:
The main idea now is to give local groups the possibility to have separate groups for i.e. "last minute request" groups etc. There might be a redesign of the group overview too, which allows to browse "downwards" through the tree, by defining just one top of category group.

comment:38 Changed 6 years ago by shevek

It is possible to create circular group memberships. In regard to the note in the last comment this can't be allowed because it will produce problems later.

The layout of the tabs breaks if you switch to German.

For subgroups management the footer breaks completely (Add and remove groups).

Last edited 6 years ago by shevek (previous) (diff)

comment:39 follow-up: Changed 6 years ago by crumbking

Yeah we probably break the sublinks layout in a couple of languages. Idea would be to have only member and group seetings and move subgroup settings into the member settings tab.

Design improvement: Let's use the full space on the overview page.(getting it out of the 62/38 grid)

comment:40 follow-up: Changed 6 years ago by mahouni

  • the footer: worked for me, so I'haven't seen this. Add and delete page probably need a
    <div class="subcolumns"> 
    
    at the top. Don't have time to test that now..
  • the tabs: I will think about it...
  • circular groups: don't see the problem here. we don't try to fetch the whole structure as a static tree at once.

comment:41 follow-up: Changed 6 years ago by shevek

The forum discussion obviously was in favor for being able to see posts of the sub (and related) groups in the groups view. So if we allow that we need to fetch recursively. Which would be difficult with a circularity.

comment:42 in reply to: ↑ 41 ; follow-up: Changed 6 years ago by crumbking

Replying to shevek:

The forum discussion obviously was in favor for being able to see posts of the sub (and related) groups in the groups view. So if we allow that we need to fetch recursively. Which would be difficult with a circularity.

Member should join related groups in the case they would like to have an update on a groups overview page. So we simply query posts of groups a member have a membership. We don't query a "subgroup" relation in such case. As explained these related (sub)groups attach only "links" to other groups.

comment:43 in reply to: ↑ 42 Changed 6 years ago by shevek

Replying to crumbking:

Member should join related groups in the case they would like to have an update on a groups overview page. So we simply query posts of groups a member have a membership. We don't query a "subgroup" relation in such case. As explained these related (sub)groups attach only "links" to other groups.

Why have the related groups then in the first place? The group moderator could add these links to the group description. Like that they are the same number of clicks away (if I didn't miscount).

Last edited 6 years ago by shevek (previous) (diff)

Changed 6 years ago by shevek

comment:44 in reply to: ↑ 40 Changed 6 years ago by shevek

Replying to mahouni:

  • the footer: worked for me, so I'haven't seen this.

The footer uses the whole width of the window not only the 960px it should.

comment:45 in reply to: ↑ 39 Changed 6 years ago by crumbking

Replying to crumbking:

Design improvement: Let's use the full space on the overview page.(getting it out of the 62/38 grid)

I did that so the page doesn't get so long ;-)

http://gitorious.org/bewelcome/rox/commit/e524f531a918f579240a0a75d2a7e90f814a6851

comment:46 Changed 6 years ago by crumbking

Fixing the footer on the admin settings page.

Btw: Please test this page, too as I move around the items a bit.

Last edited 6 years ago by crumbking (previous) (diff)

comment:47 Changed 6 years ago by jsfan

As this is a large patch, I'd like a second pair of eyes to go over the code before I deploy on alpha. I haven't found anything that looks like it would endanger our data in the live db but better safe than sorry. :)

comment:48 Changed 6 years ago by mahouni

I've read through the code once again. But I can't really review code I've written or copied by myself ;) Most of it is an adapted copy of ./build/groups and its functionalities for joining and leaving a group. I have to say, that I don't like it very much and would do it quite differently, if I would start again today. See the group locations widget. But I guess it will do the job anyway...

As for the discussions topics, if we would show posts from sub and related groups in the future: I would fetch only over a maximum of 2 nodes. And use the php unique function to avoid fetching posts from one group two times.

comment:49 Changed 6 years ago by shevek

@mahouni: I review the code tomorrow.

comment:50 Changed 6 years ago by shevek

The tab 'GroupSubgroups?' is always shown even if the logged in user isn't administrator of the group.

Last edited 6 years ago by shevek (previous) (diff)

comment:51 Changed 6 years ago by jsfan

Deployed on alpha. New preference re-added.

@mahouni: Could you please edit the associated words? I'm not sure what wording you had in mind.

comment:52 Changed 6 years ago by shevek

I translated the preference (which would have been #1823).

Additionally I translated some of the subgroups stuff. But I'm reluctant to name them sub groups as they are not. It's either 'Linked groups' or 'Related groups' but not subgroups in the sense people would see it.

Last edited 6 years ago by shevek (previous) (diff)

comment:53 Changed 6 years ago by shevek

Removed (Wrong ticket...).

Last edited 6 years ago by shevek (previous) (diff)

comment:55 Changed 6 years ago by mahouni

  • The count of new forum posts has been an empty function so far. I think at the moment it is the number of new members that is shown there (as a placeholder...)
    won't fix for 1.4, probably just remove that for now.
    Howerver it might be implemented soon. It is already in the branches where I worked on the groups overview page.
  • I will finish the list of associated words tomorrow. Naming "Related Groups" is fine for me.
  • Organizing the related groups of course is a collective concept.The group admins can't decide exclusively.
  • The "related groups" ditch the "group comments" accidentally. If they want to come back, it will need a forum topic with at least 200 posts and ~ 20 people in favour of keeping them.
Last edited 6 years ago by mahouni (previous) (diff)

comment:56 Changed 6 years ago by shevek

@mahouni: Such a lucky accident to ditch the group comments :-)

comment:57 Changed 6 years ago by globetrotter_tt

Is there a reason why the text "Add related group" and "Remove related group" is written twice?

comment:58 follow-up: Changed 6 years ago by crumbking

Mmm just followed the group settings design but while you say it: Not need to have a title and the button.

Same goes for the action links in the group settings tab (delete group and administrate group)

comment:59 in reply to: ↑ 58 Changed 6 years ago by globetrotter_tt

Replying to crumbking:

Mmm just followed the group settings design but while you say it: Not need to have a title and the button.

Same goes for the action links in the group settings tab (delete group and administrate group)

Don't follow the current group design. It was done in a bad way (by me) some years ago. I have seen some suggestions in the design team forum. Let's get them involved....

comment:60 Changed 6 years ago by mahouni

  • Status changed from assigned to local_testing

testing on alpha. some fixes and rework ready for testing locally

comment:62 follow-up: Changed 6 years ago by pablobd

I tested a litle on alpha. I like the "related" instead of subgroups aproach. What I find weird is that I can only add related groups wich I already belong to. What happens If there's a related group I want to add, but i'm not a member? On the other hand, I can add a related group to any group? even if not admin?

Last edited 6 years ago by pablobd (previous) (diff)

comment:63 in reply to: ↑ 62 Changed 6 years ago by crumbking

Replying to pablobd:

I tested a litle on alpha. I like the "related" instead of subgroups aproach. What I find weird is that I can only add related groups wich I already belong to. What happens If there's a related group I want to add, but i'm not a member?

Become member of that group :-) You can leave afterwards again. In the beginning probably some volunteers need to to do that to structure some groups.

On the other hand, I can add a related group to any group? even if not admin?

yes that's the idea ->power the user not the admins ;-)

comment:64 Changed 6 years ago by shevek

  • Status changed from local_testing to needs_work

The list of subgroups is limited to 10 but it is possible to add more subgroups than that.

Additionally the list of groups that I can add is wrong. After adding more than 10 groups I saw some groups returning to the list while others stayed from it and reemerged later on. Seems to be random.

Trying to add one of these correctly shows an error but that doesn't help much.

comment:65 Changed 6 years ago by jsfan

  • Status changed from needs_work to to_alpha

comment:66 Changed 6 years ago by jsfan

  • Status changed from to_alpha to testing

comment:67 Changed 6 years ago by shevek

With the header for the buttons gone we should probably add some separators. Like a <hr> before and after the buttons.

comment:68 follow-up: Changed 6 years ago by shevek

Two more things that I saw just now:

  • Adding a groups adds a flash notice. This one is shown in the teaser. It should show up in the related group box. (Just realized that that's wrong for the whole group feature. So we can ignore that here.)
  • The log is always shown. Could we hide and only open on click?

The more I think about it the more I dislike the idea to let everybody set relationships between groups.

Last edited 6 years ago by shevek (previous) (diff)

comment:69 Changed 6 years ago by shevek

  • Status changed from testing to needs_work

Change status back to 'needs_work'. Further testing on alpha still appreciated.

comment:70 in reply to: ↑ 68 ; follow-up: Changed 6 years ago by mahouni

Replying to shevek:

The list of subgroups is limited to 10 but it is possible to add more subgroups than that.

Additionally the list of groups that I can add is wrong. After adding more than 10 groups I saw some groups returning to the list while others stayed from it and reemerged later on. Seems to be random.

Trying to add one of these correctly shows an error but that doesn't help much.

That's weird. I could reproduce it locallly and will see how to fix that. I would limit the subgroups to a maximum of 12.

Two more things that I saw just now:

  • Adding a groups adds a flash notice. This one is shown in the teaser. It should show up in the related group box. (Just realized that that's wrong for the whole group feature. So we can ignore that here.)

Maybe move that to new ticket.

  • The log is always shown. Could we hide and only open on click?

Or maybe only show the log to group administrators?

The more I think about it the more I dislike the idea to let everybody set relationships between groups.

I think it is great. But I would add a reset function for group admins. (In a later milestone)

comment:71 in reply to: ↑ 70 Changed 6 years ago by shevek

That's weird. I could reproduce it locallly and will see how to fix that. I would limit the subgroups to a maximum of 12.

I think that would be the first place where something is artificially limited. So we probably don't want that.

(Just realized that that's wrong for the whole group feature. So we can ignore that here.)

Maybe move that to new ticket.

Well, why would anyone fix that soon? So that can be kept for welen's group feature.

  • The log is always shown. Could we hide and only open on click?

Or maybe only show the log to group administrators?

That's a good idea.

The more I think about it the more I dislike the idea to let everybody set relationships between groups.

I think it is great. But I would add a reset function for group admins. (In a later milestone)

I fear we get group spams as addition to comment and message spams...

comment:72 Changed 6 years ago by pablobd

  • Summary changed from sub-groups to Related Groups

Changed 6 years ago by pablobd

There is a gap between the recent posts and the list of related groups

comment:73 Changed 6 years ago by shevek

That gap is intentional :-) The related groups box spreads over the whole width. If you add two more groups you see what I mean :-)

But we should use the space that was used for the comments to show more topics.

Last edited 6 years ago by shevek (previous) (diff)

comment:74 Changed 6 years ago by mahouni

  • Status changed from needs_work to local_testing
  • Log is now only visible for group admin
  • Added separator around buttons (but I don't know if that chages anything ;)
  • Removed the limit of the number of related groups

http://gitorious.org/bewelcome/rox/commit/5116bdc5365b7ed2f1042270a122d5bf6693254e

comment:75 Changed 6 years ago by shevek

Works now.

I'd put the separator between the subcolumn divs. But you're right doesn't help much...

comment:76 Changed 6 years ago by shevek

  • Status changed from local_testing to to_alpha

comment:77 Changed 6 years ago by jsfan

  • Status changed from to_alpha to testing

comment:78 follow-up: Changed 6 years ago by beatnickgr

PROBLEM: I'm currently able to join open groups and add related subgroups, without being the administrator, i dont think it's supposed to work this way... (I could join all the major groups, and add my group of swingers in order to make it more visible...)

SOLUTION: Only the administrator of a group should be able to add related groups, not any member.

comment:79 in reply to: ↑ 78 Changed 6 years ago by mahouni

Replying to beatnickgr:

I'm currently able to join open groups and add related subgroups, without being the administrator, i dont think it's supposed to work this way... (I could join all the major groups, and add my group of swingers in order to make it more visible...)

It is supposed to work this way. Members can also remove the unwanted groups. The group members can decide about guidelines for adding and removing related groups. The group administrators can warn, kick and ban people who don't act accordingly. If necessary you could also send a complaint or abuse report about such members.

We might add a group setting where the administrators can reset the related groups. Or even an additional group setting that allows for restricting the power to organize the related group to administrators only.

But it is a core feature of the related groups, to evolve as a community built structure. That is what BW is about. Else we should close the wiki and the forums etc. now, because anyone could write about swingers there.

comment:80 follow-up: Changed 6 years ago by crumbking

Flash messages.

I guess currently its: wordcode . $groupname

In a couple of languages this will be problematic. Suggest to insert the $groupname into the wordcode as parameter.

Btw: This translation sounds strange:

Related Group was succesfully removed bewelcomevolunteers

Better:

Related Group bewelcomevolunteers was succesfully removed.

comment:81 in reply to: ↑ 80 Changed 6 years ago by shevek

Replying to crumbking:

I guess currently its: wordcode . $groupname

Flashmessages are set in subgroups.ctrl.php: For addSubgroup the wordcodes are already correct.

Btw: This translation sounds strange: Related Group was succesfully removed bewelcomevolunteers

That's deleteSubgroup() and there the wordcodes aren't correct :-(

comment:82 Changed 6 years ago by shevek

There's a problem with reloading a page after a remove (or add): While checking the above I in translation mode and switched back to browsing afterwards. No instead of no message at all it shows an error message instead (obviously failing to re-remove the group again).

comment:83 Changed 6 years ago by shevek

This commit https://gitorious.org/bewelcome/rox/commit/d5c622af26e8e087daa4b3c8c813af91d20e649a fixes the wordcodes.

Regarding reloading the page should probably redirect to 'subgroup_log' instead of showing a 'GroupSubgroupLogPage?' directly to clean the post arguments.

I don't really expect the reloading problem to surface too often, so I change state to 'to_alpha'.

Last edited 6 years ago by shevek (previous) (diff)

comment:84 Changed 6 years ago by shevek

  • Status changed from testing to needs_work

comment:85 Changed 6 years ago by shevek

  • Status changed from needs_work to to_alpha

comment:86 Changed 6 years ago by crumbking

works locally

comment:87 Changed 6 years ago by jsfan

  • Status changed from to_alpha to testing

comment:88 Changed 6 years ago by shevek

  • Resolution set to fixed
  • Status changed from testing to closed

Thanks to the reloading bug I could easily translate the error messages :-)

Words codes are fixed and all is working well. -> Fixed.

comment:89 Changed 6 years ago by shevek

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:90 Changed 6 years ago by shevek

  • Status changed from reopened to local_testing

comment:91 Changed 6 years ago by jsfan

  • Status changed from local_testing to to_alpha

comment:92 Changed 6 years ago by jsfan

  • Status changed from to_alpha to testing

comment:93 Changed 6 years ago by shevek

Adapted word codes for English to match new behaviour.

comment:94 Changed 6 years ago by shevek

  • Resolution set to fixed
  • Status changed from testing to closed

Closing as display is identical to the one before the fix was applied.

comment:95 follow-up: Changed 6 years ago by planetcruiser

just wondering, this feature is now "related groups", not "sub groups". will there be a sub group feature later? i think it's nice to create some tree structure, isn't it? this way we could show and count messages in a tree of groups.

comments:

  • internally (db, classes) and in the urls everything is called subgroup - that's very confusing for maintenance and users alike (if they have a look at the url). this needs to be renamed everywhere. or we are adding to the mess in data structures rox already has. with new code we *must* avoid this.
  • the buttons on /groups/xx/subgroupsettings have lines above and below them. why? i think this is inconsistent with the rest of the site and should be removed
  • the "Remove related group" workflow could be improved. why not have "remove" buttons on the subgroupsettings page? (saves one click)
  • i can only add related groups i am also a member of? that's odd. why?
  • i can remove a related group that i am not a member of (any longer). that's inconsistent with the behaviour of adding groups
  • relations only seem to work one way. http://alpha.bewelcome.org/groups/93/subgroupsettings shows hitchhiking, but http://alpha.bewelcome.org/groups/33/subgroupsettings doesn't list anarchists. why are relations not mutual?

in summary: this feature still needs work. we should do this in 1.5.

Last edited 6 years ago by planetcruiser (previous) (diff)

comment:96 Changed 6 years ago by planetcruiser

  • Resolution fixed deleted
  • Status changed from closed to reopened

actually, i don't think we should release like this. at least the internal renaming from "subgroups" to "relatedgroups" should happen now..

comment:97 Changed 6 years ago by shevek

I'd postpone to renaming to tomorrow and still release. The resulting changes might break something and because of internal beautifying we shouldn't hold improvements back from the members.

comment:98 Changed 6 years ago by planetcruiser

i strongly believe that releasing unfinished implementations prematurely is not a good idea, because we all know that motivation to go back and fix things is very low once something is released.

but if i am the only one that thinks like this in the current development team, i won't insist on it.

however, it will make me less motivated to contribute to rox if we go back to work quick and dirty, especially when adding new features. i would also like to remind everyone that rox was almost completely abandoned by developers 2 years ago mainly because of code that became less maintainable with every release (or "patch", because releases were impossible due to complete chaos on live instances in the end) and resulting discussions over why bad architecture decisions should stay in place.

comment:99 in reply to: ↑ 95 ; follow-up: Changed 6 years ago by mahouni

Replying to planetcruiser:

just wondering, this feature is now "related groups", not "sub groups". will there be a sub group feature later? i think it's nice to create some tree structure, isn't it? this way we could show and count messages in a tree of groups.

It was an idea to create a tree by defining a 2-3 TopofCategory? groups and using the getRelatedGroups function, probably with a javascript and a groups json api. To fetch the discussion topics I would create an array with the groupIds of the related groups. Apply the unique function and get the topics similar as with the new "showPostsToMyGroupsOnly" button.

comments:

  • internally (db, classes) and in the urls everything is called subgroup - that's very confusing for maintenance and users alike (if they have a look at the url). this needs to be renamed everywhere. or we are adding to the mess in data structures rox already has. with new code we *must* avoid this.

I am okay with renaming it.

  • the buttons on /groups/xx/subgroupsettings have lines above and below them. why? i think this is inconsistent with the rest of the site and should be removed

That is probably the <hr> tag. I can remove it.

  • the "Remove related group" workflow could be improved. why not have "remove" buttons on the subgroupsettings page? (saves one click)

It is consistent with the add related group workflow. Click on the link and you will see a list of related groups that can be removed. It is not a daily task, so one more click is not a problem here. But it is still fast enough.

  • i can only add related groups i am also a member of? that's odd. why?

I can see two reasons for that:

  1. Quality: you know both groups and you know better if it is okay to add the related group. You have an idea what the other group members might think about that and you know about the relevance and activity of those groups.
  2. Practical reasons: the number of your groups is easy to overview and can be presented in a nice way on the "select related group to add" page.
  • i can remove a related group that i am not a member of (any longer). that's inconsistent with the behaviour of adding groups

I take the perspective of the group members here. They should have the chance to remove unwanted related groups in a fast and easy way.

You can add hitchhiking as a related group to anarchists too, if that makes sense. But it is a different question and should not be answered by default when adding the anarchists group to the hitchhiking group. Though there might be a future function to have that option to create the relationship mutually when adding a related group.

in summary: this feature still needs work. we should do this in 1.5. actually, i don't think we should release like this. at least the internal renaming from "subgroups" to "relatedgroups" should happen now..

It's work in progress and giving feedback was possible since August 2012. But I am actually fine to postpone it to a later milestone and work on the renaming, that should not be very difficult. I submitted a change to develop that disables the related groups, and will uncomment that again when I have the new database table and the code ready.

comment:100 Changed 6 years ago by mahouni

  • Milestone changed from 1.4 to 1.5

comment:101 follow-up: Changed 6 years ago by mahouni

It seems that the test if the member is a group member of both groups only works on the select page, but not at the moment the url to add the related group is sent. Should be easy to fix that.

Last edited 6 years ago by mahouni (previous) (diff)

comment:102 Changed 6 years ago by planetcruiser

  • Milestone changed from 1.5 to 1.4

let's not give up on the last metres. ;) i started renaming things and also renamed the table and one column in the live database:

(took half an hour so far, hehe)

sql to run locally:

RENAME TABLE groups_subgroups TO groups_related;
ALTER TABLE groups_related CHANGE subgroup_id related_id INT(11) NULL DEFAULT NULL;

i am continuing with renaming of classes, methods and variables now.

comment:103 Changed 6 years ago by planetcruiser

i think i renamed everything now:

sql to run locally:

UPDATE words SET code = 'AddAsRelatedGroup' WHERE code = 'AddAsSubgroup';
UPDATE words SET code = 'AddedRelatedGroup' WHERE code = 'AddedSubgroup';
UPDATE words SET code = 'AddRelatedGroupButton' WHERE code = 'AddSubgroupButton';
UPDATE words SET code = 'AddRelatedGroupTitle ' WHERE code = 'AddSubgroupTitle';
UPDATE words SET code = 'AdministrateRelatedGroupsTitle ' WHERE code = 'AdministrateSubgroupsTitle';
UPDATE words SET code = 'CurrentRelatedGroupsTitle' WHERE code = 'CurrentSubgroupsTitle';
UPDATE words SET code = 'ErrorWhileAddingRelatedGroup ' WHERE code = 'ErrorWhileAddingSubgroup';
UPDATE words SET code = 'ErrorWhileAddRelatedGroup' WHERE code = 'ErrorWhileAddSubgroup';
UPDATE words SET code = 'ErrorWhileRemoveRelatedGroup ' WHERE code = 'ErrorWhileRemoveSubgroup';
UPDATE words SET code = 'GroupsAddAsRelatedGroup' WHERE code = 'GroupsAddAsSubgroup';
UPDATE words SET code = 'GroupRelatedGroups ' WHERE code = 'GroupSubgroups';
UPDATE words SET code = 'RemovedRelatedGroup' WHERE code = 'RemovedSubgroup';
UPDATE words SET code = 'RemoveRelatedGroupButton ' WHERE code = 'RemoveSubgroupButton';
UPDATE words SET code = 'RemoveRelatedGroupTitle' WHERE code = 'RemoveSubgroupTitle';
UPDATE words SET code = 'RelatedGroupsTitle ' WHERE code = 'SubgroupsTitle';
UPDATE words SET code = 'SuccessfullyAddedRelatedGroup' WHERE code = 'SuccessfullyAddedSubgroup';
UPDATE words SET code = 'SuccessfullyRemovedRelatedGroup' WHERE code = 'SuccessfullyRemovedSubgroup';
UPDATE words SET code = 'TitleAddRelatedGroupToGroup' WHERE code = 'TitleAddSubgroupToGroup';
UPDATE words SET code = 'TitleDeleteRelatedGroupFromGroup ' WHERE code = 'TitleDeleteSubgroupFromGroup';

please test. :)

comment:104 in reply to: ↑ 101 ; follow-up: Changed 6 years ago by planetcruiser

Replying to mahouni:

It seems that the test if the member is a group member of both groups only works on the select page, but not at the moment the url to add the related group is sent. Should be easy to fix that.

do you want to fix it or shall i or someone else try?

comment:105 in reply to: ↑ 104 ; follow-up: Changed 6 years ago by shevek

Replying to mahouni:

It seems that the test if the member is a group member of both groups only works on the select page, but not at the moment the url to add the related group is sent. Should be easy to fix that.

do you want to fix it or shall i or someone else try?

If I understood that correctly beatnickgr uses it to link the geo location groups without joining all the groups. Seems like a feature to me. 'Normal' people don't use URLs to do things on a website and if the adding is still logged as expected I wouldn't fix it at all.

comment:106 in reply to: ↑ 105 Changed 6 years ago by planetcruiser

Replying to shevek:

If I understood that correctly beatnickgr uses it to link the geo location groups without joining all the groups. Seems like a feature to me.

i'd say it's a clear bug, because it creates inconsistent behaviour: #1933 - but it should not delay the release.

if someone needs to add groups without being a member, this is an admin task and we could think about introducing an admin permission that allows this.

if no one found any bugs resulting from the renaming, feel free to close this one.

comment:107 in reply to: ↑ 99 Changed 6 years ago by planetcruiser

Replying to mahouni:

It was an idea to create a tree by defining a 2-3 TopofCategory? groups and using the getRelatedGroups function, probably with a javascript and a groups json api.

wow, sounds super complicated in administration and usage. ah well, related groups are already a big improvement.

  • the buttons on /groups/xx/subgroupsettings have lines above and below them. why? i think this is inconsistent with the rest of the site and should be removed

That is probably the <hr> tag. I can remove it.

would be nice to keep the interface consistent, ticket: #1934

  • the "Remove related group" workflow could be improved. why not have "remove" buttons on the subgroupsettings page? (saves one click)

It is consistent with the add related group workflow. Click on the link and you will see a list of related groups that can be removed. It is not a daily task, so one more click is not a problem here. But it is still fast enough.

i agree that it is not a daily task, but still from a usability standpoint it's an odd workflow. add and remove workflows are never the same. in this case i am being shown the exact same list that i already saw before. imagine an email attachment list with a "remove attachments" button that shows you the same list again, but this time with a remove button. would feel weird, right? ticket: #1936

  • i can remove a related group that i am not a member of (any longer). that's inconsistent with the behaviour of adding groups

I take the perspective of the group members here. They should have the chance to remove unwanted related groups in a fast and easy way.

hm, i hope there will not be "related group" wars. let's see how it goes.

btw: why can every member of a group assign related groups? shouldn't this be a privilege of group admins? it is kind of a group setting, isn't it? this isn't something that should delay the release, but i think it's a permission design flaw. ticket for further discussion: #1935

comment:108 Changed 6 years ago by planetcruiser

  • Status changed from reopened to to_alpha

comment:109 Changed 6 years ago by planetcruiser

  • Status changed from to_alpha to testing

comment:110 Changed 6 years ago by mahouni

  • Resolution set to fixed
  • Status changed from testing to closed

Renaming worked. I haven't found any errors.

I removed the hr tags and submitted that also to develop. oops, just saw, that it is a new ticket (#1934)... But as it is really a minor thing, I think it can go to 1.4.

I agree that #1933 is a bug and have the fix ready (not submitted to develop for now):
https://gitorious.org/~mahouni/bewelcome/mahouni-rox/commit/28c81564841a689b877a4db558851b04b2d92cdf

#1936 remove related group interface: okay, usability probably would be better. But I won't work on that ticket.

#1935 who can add/remove related groups: I already explained my opinion in comment 79. Let's see how it works. I am not against changing it, if necessary. But as long as there are no problems, I am against making it an admin privilege.

I will copy these comments to the new tickets and close this one.

Note: See TracTickets for help on using tickets.