I recently create a chat application (ejabberd and smack). Everything is ok but 2 problem that I can't resolve.
I would like to get list of recent messages (list of conversations) from xmpp. But I don't know how to do that.
I would like to save thread id of each conversation to mysql but no module can do that.
Someone else can help me? Thank in advance.
You should request recent messages via XEP-0313. It's functionality is implemented in ejabberd's mod_mam module. As far as I know, Smack has support for this too, just make sure you have recent version of the library.
There is indeed no module you can use to store conversation identifiers.
Related
I'm pretty new with ejabberd and I have two questions.
What is the best approach to check which user seen a message or to see where the user stopped reading?
Do you know any open source clients written in javascript except or similar to https://www.npmjs.com/package/#pazznetwork/ngx-chat?
Thanks and have a great day :)
For 1, I guess one implementation path would be that the client and server support https://xmpp.org/extensions/xep-0184.html and also https://xmpp.org/extensions/xep-0313.html and also that those two can work together, and that they work in MUC rooms. I don't expect that to work.
For 2, what about https://conversejs.org/ ?
how can i update my avtar - login user avtar (photo) in xmpp using iphone SDK (XMPPStream) ?
i have XMPPvCardAvatarModule (but not having method description) so not able to get how to use its methods to update avtar(image) ?? Can any one post sample code & links to understand that, i am stuck with this problem !! Thanks.
Most folks use XEP-153 for avatars. But please be careful implementing this. If you get your hash logic wrong, and you don't do negative caching, it wreaks havoc on the network as your client constantly re-queries for vcards that will never match the hash they're given. Please do NOT set your client to send vcard queries to everyone on your roster every time you log in -- please heed the MUST in the XEP for caching avatars, or do NOT implement this feature.
Also, please be aware the community hopes to one day move to XEP-84, which has the potential to be more efficient in certain cases.
We are trying to implement a notification module. It allows website internal users to send message to each other. A key feature is that it allows business users to send bulk messages to the users. We are talking about millions of users here.
Currently it is planned to be a publish/subscribe model. Once login, system shall retrieve the relevant messages for the user from a database table. The logic gets more and more complicated when each users are allow to delete and reply to the message he/she received.
Pubsubhub seems to be more server to server. XMPP seems to be too complicated for this scenario.
Anything I miss out? Can I make it simpler? Any existing library to build on? I'm open to any suggestions.
It sounds like a database is actually all you need here. You didn't mention any need for real-time notification. If this is a web application and the user is logging in, a simple relationship between users and messages may be all you need to provide the ability to send any message to one (or millions) of users. Your relationship table can include flags for read and deleted.
One option would be to use something like Joomla.
http://www.joomla.org/
Its open source, and they've solved all the problems you are trying to solve. Alternatively if you have to build it, what language are we talking about here?
Are you seriously saying you have millions of 'internal' employees? Sounds like you might need an email server!
Seriously though, please tell us more..
My team and I are working against a few webservices that require SOAP Message Headers to be available when making a request. We are not in control of these webservices so we can't change the implementation, even if we wanted to (or at least not without a lot of pain). We just need to be able to have authentication related information & a couple of other items passed through our message headers.
I've read of a few people who've had this problem in the past with no clear indication on if they succeeded in pulling it off on Monotouch.
Here's what I've read: http://forums.monotouch.net/yaf_postsm2104.aspx so far.
Any ideas on what we can do to overcome this on the Monotouch framework?
Here's what i'm trying to do for now:
using (var scope = new OperationContextScope (client.InnerChannel))
{
client.GetHistories += handler;
OperationContext.Current.OutgoingMessageHeaders.Add (MessageHeader.CreateHeader ("EnvironmentInfo", "http://schemas.contoso.com",
ServiceContext.Current.OperatingEnvironment));
OperationContext.Current.OutgoingMessageHeaders.Add (MessageHeader.CreateHeader ("AuthenticationToken", "http://schemas.contoso.com",
ServiceContext.Current.Token));
client.GetHistoriesAsync (ServiceContext.Current.OperatingEnvironment, ServiceContext.Current.Token, request);
}
Thanks for your time.
JM
I was not able to get Message Headers to work with WCF in Mono 2.6. I tried several different ways (including how you do it in your example) - it just doesn't work in Mono 2.6.
I raised a bug for this, which I then closed after discovering it is fixed in the latest trunk. So if you run against Mono 2.7 or greater, this should work.
You're probably a lot to be subscribers to various mailing list, some more updated than others.
What are your best practices to follow all information going by these lists?
What are the best clients you've used to managed that?
I'm sure I'm not the only one trying to get the best signal out of this noisy way of communication :)
I like gmail because of the way it groups messages by conversation so I can just page down through a thread.
Use a rule in GMail to slap a label on and archive all of them. Then they are easily sortable, searchable, and threaded.
I just use Thunderbird. For some lists, in flat mode, for others (the Lua mailing list), in threaded mode. Following is natural for mailing list, the messages are pushed to your client.
At first, I just received the messages and routed them to the right folder with some rules.
Now, I read them as newsgroups using Gmane, which also allow to catch up history (including mails which were sent before my subscription started and those which were sent during a temporary unsubscription).
Sometime, when a thread has no interest for me, I just right click on the first message and select Mark all messages of this thread as read.
Using KDE Ia m using Kontact for my mail and RSS feeds. That gives me a nice command center.