<div dir="ltr">If it's location data (like XEP-0080) then PEP is exactly right.<div><br></div><div>The only slight problem is that although PEP (XEP-0163) certainly doesn't preclude the kind of admin access you're after, the vast majority of PEP implementations don't seem to support it, and instead do a minimal (and in some cases, below minimal) implementation of XEP-0060 as required to support only the specific cases outlined in XEP-0163.</div>
<div><br></div><div>I suspect ejabberd is one such case. I know Isode's M-Link server does (or did) support these cases in its PEP implementation because I wrote that support when I worked for Isode, and it wouldn't surprise me at all if Prosody also handled them (but I don't know).</div>
<div><br></div><div>Your other alternative is to read off the roster for the user (as admin), and manually broadcast; this won't be as good, and again requires either support for an unusual case (Isode's M-Link, again, supports admin users making standard roster get requests to other jids, or did when I last looked), or else using the server's own administrative API should it have one. I'm pretty sure both ejabberd and Prosody have some mechanism, in or out of XMPP, for reading a user's roster.</div>
<div>Dave.</div></div>