Posts in GroupServer Development
Thanks for looking at withdrawing an invitation, Michael. I am not that
sure it is likely to be rare. If an admin invites people, and the
invitees do not respond to the invitation, they may wish to remove the
invitees, to make the members list more tidy.
I am happy with the wording "remove [the member] from [the group]", for
an invited member.
On another note, and with an apology for raising this somewhat late in
the piece, why do we use "Elect to have no Participation Coach"?, rather
than something a little less formal like say "Choose to have no
Participation Coach"?
I've actually used the Participation Coach role a lot. Especially when new groups are establshed the group owner, or administrator has very little experience (none) on using LinkedIn Groups and I've served and coach to the administrator and to the group as they get started. So I see it as a useful function. John Dan Randow wrote: For as long as I can remember, GroupServer has supported a role called Participation Coach in a group. This is primarily a social role, and has been technically almost identical to a regular group member. This role has many names, but I think of it as a "go to" person for the group. What I can't remember is any particular reason for the role to exist. In almost all cases, a group has only one group admin, who is by default, the "go to" person for that group. In groups with multiple admins, they could all perform the function of the "go to" person. We have a proposal to remove this role. https://projects.iopen.net/groupserver/ticket/411 Currently, the group properties include the "owner" of the group. I think this remains an important thing to declare, as it tells the group members and others (in public and priovate groups) who has convened the group, and therefore has a key interest in its functioning, and the power to decommission it. What do you think of this?
There are many hard and soft roles (to use Steve's term) in a group. I went
through the roles that have code *defined* to support them, and I came up with
the following list of hard roles¹
* Site administrators,
* Group administrators²,
* Moderators,
* Moderated members,
* Blocked members,
* Posting members in announcement groups,
* Invited members, and
* Normal members.
However, I can see a use for soft roles, such as a participation coach. A
person may be a local expert on a topic, or have a senior role in an
organisation. An owner is another social role, but an odd one because the owner
may not even be a member of the group, and it may not even be a single person!
I will ignore the owner because it is so odd.
I have a two-fold idea: show roles more widely, and allow social roles to be
defined.
A person's roles should be shown on a post. This will provide more context to
the post. For example a post by me to this group could be headed up
From: Michael JasonSmith — Group Administrator
(Not all roles should be shown, but we can discuss that later.)
The second part of my idea is to allow generic social roles to be defined
within the group context. For example, in this group Richard may be given the
role “System Architect” to give some context to his posts — which, lets face
it, should have more gravitas than my ramblings.
I have written a ticket that encompasses both my ideas
<https://projects.iopen.net/groupserver/ticket/437>.
*Footnotes*
1. The list of hard roles is mostly the work of
Alice, who wrote the Manage Members code that
I used to compile the list!
2. What we call a “group administrator” is *mostly*
a matter of skinning.
As you know we use the title "Forum Manager" which we adapted from the old term "List Owner/Moderator" prior to GS. Participation Coach is too soft a term IMHO. In our use, there is no FM who is not also a Group Admin, but our technical support lead and myself are normally also admins. The FM is also the one who receives the join/leave notices. We certainly find value in being able to define and publish the name of the "go to" group leader to members. It would be nice in the admin for all admins to have access to a join/leave log however. Steven Clift - <email obscured> http://stevenclift.com http://e-democracy.org Sent via mobile - +1 612 203 5181 http://twitter.com/democracy On Jul 27, 2010 11:57 PM, "Dan Randow" <email obscured>> wrote: For as long as I can remember, GroupServer has supported a role called Participation Coach in a group. This is primarily a social role, and has been technically almost identical to a regular group member. This role has many names, but I think of it as a "go to" person for the group. What I can't remember is any particular reason for the role to exist. In almost all cases, a group has only one group admin, who is by default, the "go to" person for that group. In groups with multiple admins, they could all perform the function of the "go to" person. We have a proposal to remove this role. https://projects.iopen.net/groupserver/ticket/411 Currently, the group properties include the "owner" of the group. I think this remains an important thing to declare, as it tells the group members and others (in public and priovate groups) who has convened the group, and therefore has a key interest in its functioning, and the power to decommission it. What do you think of this?
For as long as I can remember, GroupServer has supported a role called Participation Coach in a group. This is primarily a social role, and has been technically almost identical to a regular group member. This role has many names, but I think of it as a "go to" person for the group. What I can't remember is any particular reason for the role to exist. In almost all cases, a group has only one group admin, who is by default, the "go to" person for that group. In groups with multiple admins, they could all perform the function of the "go to" person. We have a proposal to remove this role. https://projects.iopen.net/groupserver/ticket/411 Currently, the group properties include the "owner" of the group. I think this remains an important thing to declare, as it tells the group members and others (in public and priovate groups) who has convened the group, and therefore has a key interest in its functioning, and the power to decommission it. What do you think of this?
Below I have added an update to my invitation tests. My main change is add the case where an invited member has an invitation withdrawn <http://groupserver.org/r/topic/1H6H2MrguPt4nxI6P0lnHs>. New members can also have an invitation withdrawn. However, handling that case correctly may have to wait until I tackle admin-editable email addresses as part of the Sorbet (GroupServer 1.1) release cycle <https://projects.iopen.net/groupserver/ticket/251>.
The following file was added to this topic:
Thanks Alice!
I agree that an invited member should be silently removed from a group.
Both you and former-me make a good point: more email is a bad thing to
send someone who does not want to be in a group. With you continuing
your sterling work with the Manage Members page, I will sort out the
database and invitation side of things ☺
Ah. Hmmm. Yes. Back in the mists of time, I think having the "Remove Member" option available for Invited Members was based on the following case: "the person who receives the invitation may not want to join the group. In this case I suspect that the person is likely to do *nothing*, rather than reject the invite."¹ For that situation, I didn't consider notifying the member would be a necessity, as we are presuming that this is what they want to happen anyway. > I *presume* that the code for removing invited > members is quite different anyway Yeah... no. Again, it was just a matter of getting them off the membership list. However, you are of course right, and the system should record what has happened, and notify the invited member. (At the very least, a change from the regular "You have been removed from the group" would probably be a good idea.) Thank you for catching it, and for offering to work on the invitation side of things. I will happily work on the MM side, changing the check box label and the code that is called. ¹ http://groupserver.org/r/post/3LR6GaS2ixwOHXB3Kdbgc0
Hi Alice,
What should happen when an invited member of a group is withdrawn? Take the
case shown in the screen-shot below. The user “Test Admin Join 80”¹ has been
invited to join the group “Table Team 4”.² Currently the Manage Members page
* Shows the member,
* Shows that the member is invited, and
* Allows the member to be removed.
I suppose if an administrator withdraws an invitation the system should be mark
the invitation as withdrawn. I am wondering how to do this. To keep a good
record of what happened I could add a couple of columns to the
"user_group_member_invitation" table to note when an invitation was withdrawn
and who withdrew the invitation. I would need to tweak the queries
appropriately, but that is no biggie.
On a UI level, I can think of three changes: a notification is needed, a new
error page is needed, and I can see a tweak to the Manage Members UI.
First, the person who was invited should get YAN³ saying that the invitation
has been withdrawn. What the notification should say is a good question, and
not one I am ready to answer. I suppose the message could be editable, but how
to do that with the existing Manage Members UI would require way too much
thought and effort this late in the Spaghettieis development process.
(Especially as we are talking about a rare case.)
In addition to the notification, the "rsvp" redirector should send the member
to a “Invitation Withdrawn” page if the invitation link is followed. This is
simple enough if the invitation is marked as withdrawn, rather than deleted.
Finally, rather than saying “☐ Remove Test Admin Join 80 from the group” could
the Manage Members say the following for invited members?
☐ Withdraw the invitation sent to Test Admin Join 80
That would more accurately say what will happen. I *presume* that the code for
removing invited members is quite different anyway ☺
Would the above changes work for you, Alice? I am happy to work on the
invitation table, the error page, and the related queries. Could you alter the
Manage Members page? I am happy to alter it if you are busy with other stuff.
*Footnotes*
1. Yes, I have been conducting a few tests, hence
“Test Admin Join 80”.
2. I am sorry for the cognitive dissonance caused to
Alice, Dan and Richard by showing a group for one
client in the skin of another.
3. Yet Another Notification.
The following file was added to this topic:
Hi Alice, I have the code in place for auditing the joining. The events are generated by the "gs.group.member.join" subsystem, and the event-code is "1" (JOIN_GROUP). Currently I have only tied the Initial Invitation Response page to the new join mechanism <http://groupserver.org/r/topic/4lVwgvrfz0BD2dL5Pwhbo3>. I will now go through and connect the other two ways of joining a group up to the new audit code (existing user join, and existing user invitation).
I am about to work on getting the Sundae release of GroupServer out the door <http://groupserver.org/r/topic/6IwIFaOtTpvenJlPJ6LOW4>. However, once that is done I will be getting back onto Invitations. Below is the the Testing document for invitations, in HTML form. I have tried to link it to the tickets that exist for the problems with invitations.
The following file was added to this topic:
I have updated the GroupServer development roadmap. It now includes the the two new betas: Sundae and Spaghettieis <https://projects.iopen.net/groupserver/roadmap>. I have also moved some tickets to the new milestones. Sundae has one open ticket in it: getting GroupServer to work with Zope 2.13. Hopefully we can finish all the testing in the next week. Spaghettieis is quarter-done. It contains a bit over a dozen tasks related to administration. [“Spaghettieis” is said “spaghetti ice”; it is a type of sundae that looks like spaghetti with sauce on top.] Gelato is a slimmer milestone, too. Its biggest ticket is the creation of a log for bouncing email addresses <https://projects.iopen.net/groupserver/ticket/15>. The milestone also contains a few notification clean-up tasks, a fix of the manuals, a reorganisation of some of the products and a few traversal fixes. Nothing seems too scary, which is a good sign!
This will be a good change.
We have lots of folks who think the only way to stop the e-mail is to
unsubscribe completely.
You might consider text at top like:
"Please confirm that you seek to leave (unsubscribe) XYZ group. Or select the
delivery option to participate with less email."
I am thinking of the person who posts a few times each year and subs/unsubs
whenever they want to post.
Text might not be needed or a [?] explaining that under these settings they can
still post which is why they might want to remain a member.
Mixed thoughts.
Richard has been carrying out amazing work this week. The focus of his effort is upgrading GroupServer so it uses Zope 2.13 <https://projects.iopen.net/groupserver/ticket/361>. By association, this also involves an upgrade to Python 2.6. (GroupServer currently runs on Python 2.4 and Zope 2.10.) It *seems* to work. Richard has committed code that allows us to view our development sites. This includes the posts, the profiles, and it allows us to make posts. This is a massive step towards getting the next release of GroupServer out the door: GroupServer 1.0 — Gelato while Viewing the Sights. Our current plan is to make a release of GroupServer once we know that the new code does work and is reliable (for us): Groupserver 1.0β² — Sundae Savoured Sundae will be able t o be installed by more people than Semifreddo, as Python 2.6 is more common than Python 2.4. There are also tentative plans to make another release before GroupServer 1.0: GroupServer 1.0β³ — Spaghettieis with a Wafer of Confusion It will contain Alice's rewrite of the Manage Members page, my rewrite of Invitations <http://groupserver.org/r/topic/4XtmGVX4SnXjt5yQCgmK1g> and (probably) the new Leave page <http://groupserver.org/r/topic/3w5duYfD4JbwtxeHenBBsn>.
The following file was added to this topic:
Alice,
> The plan is to have an adapter that figures out all the group admins
> for a group. We can use that in combination with a variant of our
> comma_comma_and utility (comma_comma_or?) to display the list of
> admins directly.
Perfect.
> I can't think of a reason why someone
> who was thinking of leaving a group would instead *increase* the
> amount of email they got from the group, so I have left it off.
Doh! Well spotted.
> the more appropriate place is as part of the label for the "Leave"
> option. There, we can at least get rid of the first IF above. And as
> a bonus, the page becomes even shorter.
Excellent. Love it.
You are right, Alice, the information on how to join the group was provided at the wrong time. It is *far* better next to the leave option: the page is less wordy and less awkward. You are also right that the "One email per post" option should be removed. I like the mockup that you posted <http://groupserver.org/r/img/7966-2010-07-08T142944Z>. I think the proposed Leave page will do its job very well.
After a good chat with Dan and Michael today, we came up with the
following improvements to the initial mock-up:
1. Introduce the options with more concise text: "Want less email?"
2. Reverse the order in which the options are displayed, so that
they are, from top to bottom, in order of least email to most.
3. Ensure that "Leave" is the default option, as Michael recommended.
This led me to wonder if there's any point in including "One email per
post" as an option at all. I can't think of a reason why someone who was
thinking of leaving a group would instead *increase* the amount of email
they got from the group, so I have left it off.
We also discussed the rejoining text, and decided that it required
further thought. After more pondering, I've concluded that it is the
timing of the text that was causing the difficulties — it comes after
the user has said they want to leave the group, but before that action
has been taken. In that position, we need to communicate that:
IF the leave action is taken (a hypothetical situation)
AND the user later wishes to rejoin (another hypothetical situation)
THEN certain other actions will need to be taken
It's just too awkward and quickly becomes too wordy. I think that the
more appropriate place is as part of the label for the "Leave" option.
There, we can at least get rid of the first IF above. And as a bonus,
the page becomes even shorter. My suggestions for the three labels are:
Secret
Leave {the group} (to rejoin, you must be invited by {the group
administrator})
Private
Leave {the group} (to rejoin, you can apply to {the group
administrator} at any time)
Public
Leave {the group} (you can rejoin at any time)
Latest mock-up attached. Again, suggestions for further refinements welcome.
The following file was added to this topic:
On 08/07/10 10:18, Dan Randow wrote:
> If we do drop the idea of having one admin as "go to" person, then this:
> ...
> would not float. We'd have to say "the group administrator" and link to
> a list.
The plan is to have an adapter that figures out all the group admins for
a group. We can use that in combination with a variant of our
comma_comma_and utility (comma_comma_or?) to display the list of admins
directly.
If we do drop the idea of having one admin as "go to" person, then this:
> *Secret* {The group administrator} must be invite you to rejoin the
> group.
would not float. We'd have to say "the group administrator" and link to
a list.
Thanks for working on the Join and Leave Log, Alice. It will be excellent to
get this out of the way.
My first suggestion is a minor one: have leaving as the default action. Getting
out of the way would be the best idea when people want to leave. The new page
is enough of a barrier to slow the member down.
For the joining-text I suggest a couple of changes. Mostly it removes the
negatives.
*Secret*
{The group administrator} must be invite you to
rejoin the group.
*Private*
You can apply to rejoin the group at any time.
*Public*
You can rejoin at any time.
This site is provided by OnlineGroups.Net, where you can start your own free online groups site, using the open source web-based mailing list manager GroupServer.