-
danial-l
Hi
-
Jef
Hello Lance
-
Lance
hi Jef
-
Jef
i have question, can a muc relay and IQ query to all the occupants in the room?
-
Lance
it can, but how it does so, and how it handles the results isn't specified
-
Jef
how about instead of the room itself, maybe a service does it
-
Lance
?
-
Kev
Or, to put it another way, no it doesn't :)
-
Jef
it can't be done?
-
Kev
Not with standard MUC.
-
Lance
if you implemented your own muc component, and decided how to deal with all of the responses, sure
-
Jef
Lance, by component you mean service?
-
Jef
which can be discovered by disco
-
Lance
right, I mean the service providing the muc rooms
-
Jef
hmmm...
-
Jef
thanks i will check it out
-
Lance
but you would most likely be better off just sending the queries to the room occupants instead
-
Jef
if i have one query and 100 occupants it would be troublesome
-
Jef
more so, i don't know which occupants can handle the query
-
Kev
Well, that, at least, you should know.
-
Jef
if they join the attached muc service, i could know that
-
Jef
so i just send the query to the service
-
Kev
They'll have caps in their presence.
-
Jef
oh
-
Jef
i haven't considered that
-
Kev
It would break the iq model if you started getting multiple responses to a single query.
-
Jef
ha.... i see
-
Jef
so that's an absolute no
-
Jef
still, i find that sending a new IQ for each and every occupant is rather inefficient
-
Lance
sounds like you need might need mep
-
Jef
mep?
-
Lance
http://xmpp.org/extensions/inbox/mep.html
-
Kev
PEP for MUCs.
-
Jef
looks it it could solve the problem, yes... but it is a proto xep
-
Jef
i have no other choice then, but wait until it is ready
-
Lance
Jef: how much control do you have in this setup? Are these arbitrary clients joining the muc, or ones that you control?
-
Lance
because you could make your muc service do the initial query and then do a message broadcast with the results
-
Jef
no, they are arbitrary
-
Jef
Lance, it is for the FIS
-
Lance
ooh
-
Lance
I see
-
Jef
i want to send a search query
-
Lance
and search across all room occupants
-
Jef
yes
-
Lance
ok, then MEP wouldn't help in that case
-
Jef
:S
-
Lance
so, you'd need to do this like how MAM works
-
Lance
send the iq to the muc, muc queries occupants, muc forwards results via message wrappers to the requester, muc sends result iq
-
Jef
Message Archive Management?
-
Lance
yes
-
Lance
the pattern of send iq, receive series of result message stanzas, receive single result iq
-
Kev
I think I missed what you're trying to do.
-
Jef
Kev, it is about searching files
-
Kev
Ah.
-
Jef
Lance, then the muc would have to wait for every occupant to send the results?
-
Kev
It would, yes.
-
Lance
to send the final iq, yes
-
Jef
not optimal, but i guess that's the best we can do
-
Jef
maybe send a timeout with the query
-
Lance
hrm
-
Lance
we can't really solve the waiting issue without caching/versioning/etc, but we can make this look a bit nicer and not have all of these response stanzas
-
Lance
by declaring that a muc room's FIS root directory contains a directory for each occupant
-
Lance
and then the room proxies any requests for data in those directories to those occupants
-
Jef
and what about with you want to search all across with a single keyword
-
Jef
and what about when* you want to search all across with a single keyword
-
Lance
it would look exactly like doing it with another user. in this case the muc service knows how to mux all of the search results together into a single result
-
Lance
RSM goes out the window though :/
-
Jef
result set?
-
Lance
right, how do you reliably limit/page results from a search across multiple sources?
-
Lance
its doable if the muc caches the directory tree and metadata for its occupants
-
Jef
how about every result have an attribute with the jid of the occupant
-
Jef
i don't understand well how RSM becomes difficult
-
Lance
well, idk. i'd have to think some more. it may work just fine
-
Lance
ok, chat based voting works with the new memberbot. It just needs to write output files like the old one
- Lance ponders how to integrate last message correction with voting