In this interview (in French), Huy Phong Nguyen explains how IMA Technologies leverage the power of ejabberd realtime messaging platform to power a mission critical Internet of Things platform.
ejabberd is used as a central hub to connect smart things and alarm central systems in a house-wide home automation service.
You can check the video (in French) for more details:
The XMPP Standards Foundation has moved a while back the repository for the XMPP specification documents to Github: xsf/xeps
This is quite an important change in the XMPP Extensions Proposal workflow. It is now easier than before to track the changes as they are happening.
I am curious to see the contributions rate in the next few months but I bet we will see involvement and contributions increasing. Even for small fixes and typos, this is a good thing.
Here is a video interview from Jose Valim from Plataformatec about the integration of Elixir programming language as a standard way to write modules in ejabberd.
ejabberd is an extremely extensible and versatile server. Using ejabberd API together with Elixir programming language expressivity certainly makes writing ejabberd modules easier. It opens ejabberd module development to a whole new set of use cases. This integration makes ejabberd module development more approachable to new ejabberd developers and make it an even better choice for building advanced high-performance messaging platforms.
You can read the full blog post on Plataformatec website: Elixir in production interview: Mickaël Rémond
BBC News has launched a beautiful new version of its international application in July 2015.
It has still the same great content with a new modern look.
Coming from a server and scalability perspective, the best part is the incredible audience the International version of the app has, adding to their own UK audience. More figures are available from their slides, but the international version has 27 million downloads and an audience of 5.4 million monthly users.
We thank them for mentioning ProcessOne as their Push Notifications delivery partner. This is a project we are proud working on.
You can learn more about the brand new BBC News mobile app from BBC Media Center: BBC continues digital transformation of news on the go with new-look international BBC News app
Implementation of Write for Control Devices and History Retrieval for a Sensor Device.Work
This article was initially published in French, and it got some interest, so we started to translate the whole series in English. If you can read French, you can follow the whole series there: http://www.goffi.org/tag/parlons_xmppThe translation to English was done thanks to: Poulet, Éfrit, Paco, mbarbarosa, Weyfonk and Chteufleur. The whole series is under CC By-SA, and any help would be appreciated to help with the translation of next articles. (Follow the corresponding link to read the previous episodes). Some functionalities can be added to this central part, hence the X of XMPP (which stands for “eXtensible”). Extensions are written using “XEP” (XMPP Extension Protocol) , following an idea taken from Python (if I am not mistaken). This is why the features supported by a server or a client are identified as XEP-0XXX. Obviously, no need to know this to use a XMPP client, but it can be useful to read an extension (you can find them at https://xmpp.org/xmpp-protocols/xmpp-extensions/) to understand correctly the utility of a functionality. Two parts are particularly useful without the need to enter in the implementation details: the “abstract” part (summary) in the top that indicates what the XEP is doing, and the “introduction” section (the very first section) that provides further details about the cause of the extension and its use cases. An XEP can describe a feature, a process (for instance the XEP-0001 explains the life cycle of the XEPs themselves), a historical legacy (related to something created before the XMPP Standard Foundation), information (like good practices), even a joke (yes, there are also lousy jokes in the XEPs!). It can have several statuses, detailed in the XEP-0001. It is interesting to note that a lot of XEPs are “experimental” and so technically not (yet) standards, but often implemented anyway. Such XEPs can be widely modified before they get the “Draft” status and eventually become a standard. Why am I talking about all this? For you to get one thing loud and clear: XMPP is not only about instant messaging! Some interesting examples of extensions:
Only two weeks left in this year’s Google Summer of Code. This means that we’re reaching the final state. Development should be mostly finished by now and documentation and testing are the main tasks left.What happened since last report?
More testing and full documentation are important for the project completion, as well as the integration in smack and OpenKeychain (which are a task for the last week once everything else is done).
Interesting other features are ECDSA support and DLV (DNSSEC look-aside validation).
As XMPP experts that love sharing lovely contents we found on the web relating to XMPP messaging protocol, we have decided to launch a monthly newsletter about “All things XMPP”, called XMPP Radar. The goal of the newsletter is to inform readers about what is happening in the XMPP world.
Despite all the saying, XMPP protocol have been there since more than 15 years and is here to stay. It covers so many useful features for realtime messaging and solves issues that no one else even tried to tackle, like federation. From mobile messaging to Internet of Things and gaming, we have no doubt that the protocol is here to stay.
Changes in web technologies, like the general availability of Websockets, and extension dealing with mobile networking are quickly changing the face of the protocol. XMPP is improving so much at the moment, that I think it is entering the second phase of its evolution. I truly think we are on the eve of an XMPP renaissance.
I know Facebook recently shut down its XMPP client gateway, but given the closed nature of the Facebook chat it has little significance for the XMPP protocol itself. It may be even the starting point on which XMPP can start building its own life outside of the shadow of tech giants.
Whether you are excited by the prospect or doubting that XMPP is a solution to your messaging needs, you should subscribe to XMPP Radar. We hope that month after month we will amaze you or prove you wrong, but no matter what is ahead, I am sure you will find the experience enlightening.
You can subscribe to XMPP Radar Newsletter here: XMPP Radar Subscription.
You can also follow XMPP Radar on Twitter.
Do not hesitate to contact us to suggest interesting links for the next newsletter, at end of August 2015.
Here is a few links we put together as a teaser:XMPP Development Create a Chat App using Intel XDK and XMPP
Here is a nice tutorial on Web based ejabberd, showing how to create a chat app using Intel XDK and XMPP.Protocol advancements XEP-0359: Unique and Stable Stanza IDs
Unique and stable IDs for stanzas, which are set by a XMPP service, are beneficial in various ways. They can be used together with Message Archive Management (XEP-0313) to uniquely identify a message within an archive. They are also useful in the context of Multi-User Chat (XEP-0045) conferences, in order to identify a message reflected by a MUC service back to the originating entity.
This is an important extension to build future XMPP enhancements.Security Securing ejabberd against logjam attacks … and future threats
As a default, ejabberd is secured and resistant to logjam attacks. However, ejabberd 15.06 adds improvements that makes ejabberd even more resistant to future attacks. We hope you will find valuable information there, even from a general XMPP security standpoint.XMPP Servers ejabberd 15.07 released
This month’s ejabberd release contains many fixes and a few improvements. This is a consolidation release that help us pave the way to exciting new features coming at end of the summer.New WebSocket plugin for Openfire
Openfire now has support for the latest Websocket specification. This will help spread the use of Websocket as de facto standard for browser-based XMPP connection. This is good news for everyone, as Websocket make XMPP much more responsive in the web browsers.XMPP Clients Swift 3.0 beta 2 XMPP client
This is an rich iteration on a client that we are looking forward to try in version 3.XMPP Companies News Advanced Erlang Initiative and ejabberd Workshops
ProcessOne and Quviq have launched the Advanced Erlang Initiative, a new group of companies that use Erlang as a strategic technology to craft great products. As part of the initiative, ProcessOne will be organising Advanced Erlang Workshops on ejabberd. This will be a great opportunity to meet advanced XMPP hackers and learn about the future of the platform.
If you already installed ejabberd 15.07 Windows installer but have post installation issue, you’d better give the updated installer a try.
It is still ejabberd 15.07, so installer name does not change, but new package brings improved scripts.
With few minor fixes, this installer now supports:
– Windows Server 2008 and higher
– Program Files on another drive than C:
– Fix PATH issue on some edges cases
You can download it from ejabberd download page.
While there has long been support in Openfire for early versions of XMPP over WebSocket (per Dele's fine original plugin, and also via OfMeet), the final specification (RFC 7395) had not yet been implemented ... until now! We have just released a new Openfire plugin that is compliant with the latest specs, extending the core BOSH component with a WebSocket upgrade capability where supported. Older browsers that do not support WebSocket may continue to use BOSH (HTTP long polling) as a fallback connection protocol.
The new Openfire WebSocket plugin has been tested using the Stanza.io library and is ready for immediate use. It is available for download via the Openfire plugins page or directly via the "Available Plugins" page within your local admin console. Feel free to leave feedback here in the comments or post questions to the Ignite Realtime Community site.
We have two small changes to our evaluation guide series to announce (with many more coming soon).
Our core XMPP Messaging Evaluation Guide, using our M-Link XMPP server and M-Vault LDAP directory, now includes a section on adding a Security Policy to your XMPP service. In this new section we show you how to add a the policy to your service and clearances to your users. You can additionally apply label based controls to multi-user chat, domains and peer services (all of which and more is covered in the M-Link Admin Guide).
The Security Policy we use in the evaluation guide is one of the demonstration policies we ship with M-Link but, if you want to create your own, you can now get started with the new SPIF Editor Evaluation Guide. A SPIF (Security Policy Information File) is a file representation of a Security Policy, in other words the definition of which labels are valid and how to check them against clearances. This new evaluation guide will show you how to create your own basic SPIF using the Isode SPIF editor tool.
This article was initially published in French, and it got some interest, so we started to translate the whole series in English. If you can read French, you can follow the whole series there: http://www.goffi.org/tag/parlons_xmppThe translation to English was done thanks to: Poulet, Éfrit, Paco and mbarbarosa and Weyfonk. The whole series is under CC By-SA, and any help would be appreciated to help with the translation of next articles.
Monday evening we had a particularly nasty outage: JWT authentication was broken, preventing anyone from using our HTTP API to publish data. The reason we didn't catch this early on is because our manual test scripts turned out to be broken (reporting auth success when auth had failed.. yeesh!), and there was no authentication coverage in our external monitoring to fall back on.
In a perfect world, our external monitoring would test authentication. I'm happy to report that we are now doing this with Runscope! Getting this to work right was a little tricky since we use JWT, but it was made possible thanks to Runscope's scripting feature.
This article was initially published in French, and it got some interest, so we started to translate the whole series in English. If you can read French, you can follow the whole series there: http://www.goffi.org/tag/parlons_xmpp
This month’s ejabberd release contains many fixes and a few improvements. This is a consolidation release that help us pave the way to exciting new features coming at end of the summer.
Since we released our Message Archive Management support in ejabberd 15.06, we have been impressed by how quickly our users did adopt this features. It helps us make the implementation more robust and more complete, thanks to your feedback. This release thus improves ejabberd mod_mam.
We have also been very happy by the feedback received on our brand new installer for Windows, and for the .deb and .rpm packages. They are still beta, but thanks to your feedback, we could improve them tremendously. So, keep the feedback coming !
And of course, all this work on installers help us improve our tool to deploy and build ejabberd contributed modules. Contributed modules can now include their own configuration snippet, which are dynamically loaded by ejabberd.
Overall, this version should be easier and even more enjoyable to run and we all hope you will like the progress.Changes Message Archive Management (XEP-0313)
Both RPM and DEB now are using the improved post-install script which creates ejabberd user when installing as root. This let ejabberd running as user without any manual setup.
Windows installer now uses %USERPROFILE% to get path of user writable directory. We made numerous other fixes to that version, thanks to your feedback.
As usual, the release is tagged in the Git source code repository on Github.
The source package and binary installers are available at ProcessOne.
If you suspect that you’ve found a bug, please search or fill a bug report on Github.
VCard stores the information of a User which is retrieved at the time when the roster is recieved. And Implement Read for Sensor Devices.Work