powered by Jive Software

Auto invite chat room's members when opened

Hi community,

I would like to know if Openfire has a feature or plugin to invite chat room’s members when the chat room is opened by it’s administrator.

Regards,

Chatree Srichart

No, there is no such option and i haven’t heard about such plugin.

I actually need this feature in my project. I am integrating Openfire into Apache OFBiz. Do you have some idea how to make it happen. I, however, can contribute this feature to the community.

Regards,

Chatree Srichart

I’m not a developer myself. I know that it is possible with Openfire to get list of members if you are a member of that room. So maybe it is possible to “hook” this API and combine it with the invitations sending. Can’t give you any pointers to the source code.

I’m now thinking what would be the best place to put such option in. Maybe on the room creation/editing page there could be a checkbox like “Send invitations to room members when administrator joins it”. But maybe one would need to do this when any member joins or maybe an owner joins. So maybe it could be a whole block called “Send invites to all room’s members when joins” and checkboxes with choices:

  • Admin

  • Owner

  • Member

Of course it shouldn’t send an invite to the one who has already joined the room.

I will make a ticket for this. If you’ll have a patch for this feature, you can attach it here.

OF-478

I must say, I am not too happy with that option. I’d rather let the client decide, when and who to invite and do not make Openfire send invitations.

Reasons:

  • I’ve studied XEP-0045 and there’s no mentioning that a server should send invitations in any case.

  • I’ve implemented a client which sends an invitation and now have the problem, that the recipient receives two invitations. (because Openfire automatically sends invitations, when members are added to a members-only room).

It’s rather the other way round:

Although only admins and owners SHOULD be allowed to modify the member list, an implementation MAY provide a configuration option that opens invitation privileges to any member of a members-only room. In such a situation, any invitation sent SHOULD automatically trigger the addition of the invitee to the member list.

It’s funny, but we actually kind of need this in our company now Numerous times i’m facing the big surprise from users when i tell them, that, no, you can’t get a notification about new messages or someone joining the room without you being in the room. For users it feels like a natural feature to have. Because now they have to remember to join the room on time or make it auto-join on startup and keep it open all the time, though they maybe need it only once per week.

Anyway. I understand that this is not a standard feature. Btw, i meant to make it as an option in room configuration. So it only should send invites if it was configured to do so for one particular room. This should better be done via plugin. But then you will not have a per room setting? Unless this plugin will pull rooms list and then you’ll be able to mark which rooms should send invites.

The problem i see is that it will create cascade of invites for those late to join the room. They will get one additional invite for every new member joining. Unless it should only send one invite when first member joins.

Because now they have to remember to join the room on time or make it auto-join on startup and keep it open all the time, though they maybe need it only once per week.

I don’t understand. You can be in a room via auto-join, but don’t display any UI windows for it. Therefore you are in the room and get message notifications from the room, but you don’t have to “keep anything open all the time”.

We use Spark as a client (i believe most clients show UI when joining a room). It will have open room tab if you set it to auto-join. Also it can be easily closed accidentally when closing other chats.

Well, then it’s more likely a Spark “bug”, than Openfire.

E.g. Skype does not show a new window, nonetheless you are silently in the group chat and get notifications.

But actually we are talking about 2 cases: The thread opener wanted to send invitations on every admin “join”. You suggested an invitation send to every member on every join (resulting in the cascade you were talking about, … bad idea).

But even if sending invitations only on “admin join”, the members would get new invitations the admin joins, which doesn’t make much sense either.

Currently Openfire sends invitations when an owner adds new members to a room, which is wrong, too (as per specification).

So, generally I wanted to doubt the validity of OF-478 and also the current behavior (at least it can be switched off with xmpp.muc.skipInvites=true, I saw).

1 Like

Haven’t used Skype group chat for years, but i think i recall, that it is showing a number of new unread messages in the roster window, even if group chat window is closed. But Spark doesn’t have such feature, so the only thing notifying would be a temporary popup, which can be missed. Also there would be no visual cue that you are in the group chat at all, and no way to quit it. So i think it was by design in Spark to make it work this way.

I was suggesting, that when the room is empty and first member (or admin, or owner, depends on configuration) joins, then send invitations to all other members. Just once.

Anyway, i don’t have strong objections about invalidating this ticket and current behavior (i can’t even reproduce this somehow). Though, maybe a ticket can still stay as a feature request for a plugin, if someone would want to implement it someday. Though i doubt someone will

there are some Group Chat settings in Spark that maybe are useful? Such as highlight your name when someone says it, toast popup when someone mentions you, auto-join bookmarked group chats, etc.

None of them are useful in our situation. A group of people only has to join a group chat once per week to briefly discuss something. Auto-join was the first thing i’ve suggested to them, but then they asked if it can auto-join at a given time only Hm, maybe that’s a good feature request for Spark?

possibly. hmm, i wonder how spark would behave if one were to bookmark a room, turn on auto-join, remove that room in OF (hopefully spark doesn’t auto-remove the bookmark), then on meeting time the next week, admin creates the room from OF… maybe it will find the bookmark and auto-join then? If so, the room could probably be scripted in OF to be created on a timer…

I was curious to try. Actually it creates a room if it was destroyed and there is an auto-join bookmark If you forbid users to create rooms it then shows an error of joining the room.

darn, was hoping that would be an easy workaround.

maybe this would be a good candidate for a spark plugin… howver it would only be able to create the room and send out invites to the room on a schedule, not have people auto-join it. having peopel auto-join the newly created room would probably be best as a OF pluign since OF could create the room and auto-join a group of users, or whatever.

Actually Client Control plugin can add bookmarks with auto-join to groups of users. So, yes, OF can do this. Spark plugin is probably better than messing with OF. I think only sending out invites on schedule should be enough.

This morning i was thinking about other options in Spark. I think it can be handy to have “Invite all members” somewhere for admin/owner role. Maybe not as another context menu in the chat room. But in the Invite users dialog menu (additional button). Also in the same dialog in the Roster view, there could be a checkbox “Show only room members”. These two options can be as a workaround for admin to quickly invite all members after he joins the room (first button), or if he thinks he need only a few members, he can use that checkbox to filter the roster and quickly select members he needs.

I’ve closed the original ticket and filed new one for Spark SPARK-1575

I’m working on this… just have been pretty short on time lately.

I like your original idea about being able to schedule a future conference… I think this should just be baked in as core spark functionality in the Actions menu as part of the org.jivesoftware.spark.ui.conferences package. A button that says “Schedule a conference” and allows you to pick a future date and time.

RE: SPARK-1575, it looks like currently, if one were to SHIFT-Click or CTRL-click a bunch of users on the roster page and then while those users are still highlighted, click Start a conference from the Actions menu, then it will auto-populate their users into the invitation list. Is this similar to what you are describing? Or are you prefering to see contacts/groups on the invitation box and just be able to, say checkmark which ones you want to invite (like the broadcast page)?

Having scheduled conference would be even greater. But i didn’t even think about it as it sounds like a lot more complex feature than just pulling members from room’s user permissions table Maybe this should be a separate ticket? It would probably fit our needs 100%.

As about my ticket. In our case we often have work teams gathered from different departments, which then have to coordinate their actions, meetings. So hunting them in groups with ctrl-shift is not convenient. I thought, if you put someone as a member in member-only room, you would probably like to have an option to call all members (or part of them) with a few clicks.

Yes, i’m aware about the option to select users in the roster and then right-click and choose Start a conference, or via Actions menu. But, our groups only reflect organizational structure, and as i said our temporary collaboration teams often consist of people from different units. I thought about proposing my boss breaking this and start adding groups in Openfire for such teams, but… i don’t know. It will create more administration work for us (adding/removing groups and members), more confusion for users (same contact in several places).

And last one. I’m glad you take this, but i never meant to obligate you to do this Just posted it here as this post is relevant. Just shooting tickets into a wild as i often do