Difference between revisions of "XMPP URIs"
(28 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
An XMPP URI is a [http://en.wikipedia.org/wiki/Uniform_Resource_Identifier Uniform Resource Identifier] that makes a Jabber ID (or XMPP Account) "clickable" in web browsers and such. Unfortunately, support for XMPP URIs is not (yet!) common in popular software applications, so you need to set it up manually. This page describes how... | |||
= Formal Definition = | |||
For those interested in a formal definition of XMPP URIs, read RFC 5122 (previously RFC 4622), [http://xmpp.org/extensions/xep-0147.html XEP-0147] and the [http://xmpp.org/registrar/querytypes.html querytypes registry]. | |||
= Web browsers = | |||
== Firefox == | |||
To XMPP URIs clickable in the [http://www.mozilla.com/firefox/ Firefox] web browser, do this: | |||
# Type "about:config" in the url bar | |||
# Right-click and select New->String | |||
# Enter "network.protocol-handler.app.xmpp" as the preference name | |||
# Enter the application to run | |||
== Opera == | |||
To make XMPP URIs clickable in the [http://www.opera.com/ Opera] web browser, do this: | |||
# Open your opera6.ini file | |||
# find (or except add) "Trusted Protocols" section | |||
# add "xmpp=0,0,<application to run>" to the "Trusted Protocols" section | |||
# Note: on older versions it's "xmpp=<application to run>" | |||
== Konqueror == | |||
In KDE4 create a file in $HOME/.kde4/share/kde4/services/xmpp.protocol | |||
<pre> | |||
[Protocol] | |||
exec=psi --uri "%u" | |||
protocol=xmpp | |||
input=none | |||
output=none | |||
helper=true | |||
listing=false | |||
reading=false | |||
writing=false | |||
makedir=false | |||
deleting=false | |||
Icon="" | |||
</pre> | |||
In KDE3 is similar, but the file will be $HOME/.kde/share/services/xmpp.protocol and you might have to replace the exec line with ''exec=psi --uri `echo "%u" |sed s/%40/@/ `'' | |||
= Operating systems = | |||
== Linux == | == Linux == | ||
Each client which supports xmpp: URIs should ship a .desktop file in /usr/share/applications containing this line: | |||
MimeType=x-scheme-handler/xmpp; | |||
== Mac OS X == | == Mac OS X == | ||
Install the XMPP-IRI helper application linked to from [http://www.deepdarc.com/ichat-jabber-tips/ here]. | |||
[http://www.adium.im/ Adium] registered itself as a handler for XMPP URIs, "Just Works" with Camino. | |||
== Windows == | == Windows == | ||
Paste the following in Notepad and save to a file with an ".reg" extension. Then double-click on it and answer yes to the prompt to import the settings into your registry. Be sure to enter the path to your XMPP-URI capable XMPP client. See the [http://msdn.microsoft.com/workshop/networking/pluggable/overview/appendix_a.asp Registering an Application to a URL Protocol] article in [http://msdn.microsoft.com MSDN] for more details. | |||
<pre> | |||
Windows Registry Editor Version 5.00 | |||
[HKEY_CLASSES_ROOT\xmpp] | |||
@="URL:XMPP Protocol" | |||
"EditFlags"=dword:00000002 | |||
"URL Protocol"="" | |||
[HKEY_CLASSES_ROOT\xmpp\shell] | |||
[HKEY_CLASSES_ROOT\xmpp\shell\open] | |||
[HKEY_CLASSES_ROOT\xmpp\shell\open\command] | |||
@="<application to execute> %l" | |||
</pre> | |||
= XMPP Clients = | |||
List clients supporting XMPP URIs here. | |||
== jabber.el == | |||
[http://emacs-jabber.sf.net jabber.el] supports XMPP URIs from version 0.7.1. How to set it up is described in the documentation. | |||
== Gajim == | |||
Using Firefox, set the string for network.protocol-handler.app.xmpp to 'gajim-remote handle_uri' in about:config. For Opera add 'xmpp=0,0,gajim-remote handle_uri' under [Trusted Protocols] (I had to add Trusted Protocols at the bottom) in opera6.ini. | |||
== Coccinella == | |||
[http://Coccinella.im/ Coccinella] supports many of them but not all, see coccinella/components/ParseURI.tcl | |||
And the Mac desktop bindings may be flaky. | |||
== Kaidan == | |||
[https://kaidan.im Kaidan] supports XMPP URIs. | |||
== Miranda IM == | |||
[http://miranda-im.org/ Miranda IM] supports handling of XMMP URIs since version 0.7.1.2 of jabber plugin. Implementation requires File Association Manager plugin which can be found at http://addons.miranda-im/. | |||
= MediaWiki = | |||
== Last version == | |||
=== Part 1 === | |||
In mediawiki-1.15.1\includes\DefaultSettings.php | |||
There is: | |||
<pre> | |||
/** | |||
* The external URL protocols | |||
*/ | |||
$wgUrlProtocols = array( | |||
'http://', | |||
'https://', | |||
'ftp://', | |||
'irc://', | |||
'gopher://', | |||
'telnet://', // Well if we're going to support the above.. -ævar | |||
'nntp://', // @bug 3808 RFC 1738 | |||
'worldwind://', | |||
'mailto:', | |||
'news:', | |||
'svn://', | |||
); | |||
</pre> | |||
You must add: | |||
<pre>'xmpp:',</pre> | |||
Result: | |||
<pre> | |||
/** | |||
* The external URL protocols | |||
*/ | |||
$wgUrlProtocols = array( | |||
'http://', | |||
'https://', | |||
'ftp://', | |||
'irc://', | |||
'gopher://', | |||
'telnet://', // Well if we're going to support the above.. -ævar | |||
'nntp://', // @bug 3808 RFC 1738 | |||
'worldwind://', | |||
'mailto:', | |||
'xmpp:', | |||
'news:', | |||
'svn://', | |||
); | |||
</pre> | |||
=== Part 2 === | |||
In mediawiki-1.15.1\maintenance\fuzz-tester.php | |||
There is: | |||
<pre> | |||
// implicit link creation on URIs. | |||
"http://", | |||
"https://", | |||
"ftp://", | |||
"irc://", | |||
"news:", | |||
'gopher://', | |||
'telnet://', | |||
'nntp://', | |||
'worldwind://', | |||
'mailto:', | |||
// images. | |||
</pre> | |||
You must add: | |||
<pre>'xmpp:',</pre> | |||
Result: | |||
<pre> | |||
// implicit link creation on URIs. | |||
"http://", | |||
"https://", | |||
"ftp://", | |||
"irc://", | |||
"news:", | |||
'gopher://', | |||
'telnet://', | |||
'nntp://', | |||
'worldwind://', | |||
'mailto:', | |||
'xmpp:', | |||
// images. | |||
</pre> | |||
=== Part 3 === | |||
In all skins (\mediawiki-1.15.1\skins\***\main.css) | |||
There is: | |||
<pre> | |||
#bodyContent a[href ^="mailto:"], | |||
.link-mailto { | |||
background: url("mail_icon.gif") center right no-repeat; | |||
padding-right: 18px; | |||
} | |||
</pre> | |||
You must add: | |||
<pre> | |||
#bodyContent a[href ^="xmpp:"], | |||
.link-xmpp { | |||
background: url(xmpp_icon.png) center right no-repeat; | |||
padding-right: 10px; | |||
} | |||
</pre> | |||
Result: | |||
<pre> | |||
#bodyContent a[href ^="mailto:"], | |||
.link-mailto { | |||
background: url("mail_icon.gif") center right no-repeat; | |||
padding-right: 18px; | |||
} | |||
#bodyContent a[href ^="xmpp:"], | |||
.link-xmpp { | |||
background: url(xmpp_icon.png) center right no-repeat; | |||
padding-right: 10px; | |||
} | |||
</pre> | |||
And in the same folder as the CSS file, download and place [http://wiki.xmpp.org/images/xmpp_icon.png this icon file]. | |||
== older == | |||
If you run a MediaWiki you may also want it to support xmpp: URIs, which it doesn't by default. Thankfully the fix is easy. In your LocalSettings.php file, add the line: | |||
<pre> | |||
$wgUrlProtocols[] = "xmpp:"; | |||
</pre> | |||
That's all you technically need to do. It can also make things prettier though if you add the XMPP icon next to all such links. To do this, locate the .css file for the skin you are using (e.g. skins/monobook/main.css) and append the following code: | |||
<pre> | |||
#bodyContent a[href ^="xmpp:"], | |||
.link-xmpp { | |||
background: url(xmpp_icon.png) center right no-repeat; | |||
padding-right: 10px; | |||
} | |||
</pre> | |||
And in the same folder as the CSS file, download and place [http://wiki.xmpp.org/images/xmpp_icon.png this icon file]. | |||
{{Technical Page}} |
Latest revision as of 02:00, 24 December 2020
An XMPP URI is a Uniform Resource Identifier that makes a Jabber ID (or XMPP Account) "clickable" in web browsers and such. Unfortunately, support for XMPP URIs is not (yet!) common in popular software applications, so you need to set it up manually. This page describes how...
Formal Definition
For those interested in a formal definition of XMPP URIs, read RFC 5122 (previously RFC 4622), XEP-0147 and the querytypes registry.
Web browsers
Firefox
To XMPP URIs clickable in the Firefox web browser, do this:
- Type "about:config" in the url bar
- Right-click and select New->String
- Enter "network.protocol-handler.app.xmpp" as the preference name
- Enter the application to run
Opera
To make XMPP URIs clickable in the Opera web browser, do this:
- Open your opera6.ini file
- find (or except add) "Trusted Protocols" section
- add "xmpp=0,0,<application to run>" to the "Trusted Protocols" section
- Note: on older versions it's "xmpp=<application to run>"
Konqueror
In KDE4 create a file in $HOME/.kde4/share/kde4/services/xmpp.protocol
[Protocol] exec=psi --uri "%u" protocol=xmpp input=none output=none helper=true listing=false reading=false writing=false makedir=false deleting=false Icon=""
In KDE3 is similar, but the file will be $HOME/.kde/share/services/xmpp.protocol and you might have to replace the exec line with exec=psi --uri `echo "%u" |sed s/%40/@/ `
Operating systems
Linux
Each client which supports xmpp: URIs should ship a .desktop file in /usr/share/applications containing this line:
MimeType=x-scheme-handler/xmpp;
Mac OS X
Install the XMPP-IRI helper application linked to from here.
Adium registered itself as a handler for XMPP URIs, "Just Works" with Camino.
Windows
Paste the following in Notepad and save to a file with an ".reg" extension. Then double-click on it and answer yes to the prompt to import the settings into your registry. Be sure to enter the path to your XMPP-URI capable XMPP client. See the Registering an Application to a URL Protocol article in MSDN for more details.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\xmpp] @="URL:XMPP Protocol" "EditFlags"=dword:00000002 "URL Protocol"="" [HKEY_CLASSES_ROOT\xmpp\shell] [HKEY_CLASSES_ROOT\xmpp\shell\open] [HKEY_CLASSES_ROOT\xmpp\shell\open\command] @="<application to execute> %l"
XMPP Clients
List clients supporting XMPP URIs here.
jabber.el
jabber.el supports XMPP URIs from version 0.7.1. How to set it up is described in the documentation.
Gajim
Using Firefox, set the string for network.protocol-handler.app.xmpp to 'gajim-remote handle_uri' in about:config. For Opera add 'xmpp=0,0,gajim-remote handle_uri' under [Trusted Protocols] (I had to add Trusted Protocols at the bottom) in opera6.ini.
Coccinella
Coccinella supports many of them but not all, see coccinella/components/ParseURI.tcl And the Mac desktop bindings may be flaky.
Kaidan
Kaidan supports XMPP URIs.
Miranda IM
Miranda IM supports handling of XMMP URIs since version 0.7.1.2 of jabber plugin. Implementation requires File Association Manager plugin which can be found at http://addons.miranda-im/.
MediaWiki
Last version
Part 1
In mediawiki-1.15.1\includes\DefaultSettings.php
There is:
/** * The external URL protocols */ $wgUrlProtocols = array( 'http://', 'https://', 'ftp://', 'irc://', 'gopher://', 'telnet://', // Well if we're going to support the above.. -ævar 'nntp://', // @bug 3808 RFC 1738 'worldwind://', 'mailto:', 'news:', 'svn://', );
You must add:
'xmpp:',
Result:
/** * The external URL protocols */ $wgUrlProtocols = array( 'http://', 'https://', 'ftp://', 'irc://', 'gopher://', 'telnet://', // Well if we're going to support the above.. -ævar 'nntp://', // @bug 3808 RFC 1738 'worldwind://', 'mailto:', 'xmpp:', 'news:', 'svn://', );
Part 2
In mediawiki-1.15.1\maintenance\fuzz-tester.php
There is:
// implicit link creation on URIs. "http://", "https://", "ftp://", "irc://", "news:", 'gopher://', 'telnet://', 'nntp://', 'worldwind://', 'mailto:', // images.
You must add:
'xmpp:',
Result:
// implicit link creation on URIs. "http://", "https://", "ftp://", "irc://", "news:", 'gopher://', 'telnet://', 'nntp://', 'worldwind://', 'mailto:', 'xmpp:', // images.
Part 3
In all skins (\mediawiki-1.15.1\skins\***\main.css)
There is:
#bodyContent a[href ^="mailto:"], .link-mailto { background: url("mail_icon.gif") center right no-repeat; padding-right: 18px; }
You must add:
#bodyContent a[href ^="xmpp:"], .link-xmpp { background: url(xmpp_icon.png) center right no-repeat; padding-right: 10px; }
Result:
#bodyContent a[href ^="mailto:"], .link-mailto { background: url("mail_icon.gif") center right no-repeat; padding-right: 18px; } #bodyContent a[href ^="xmpp:"], .link-xmpp { background: url(xmpp_icon.png) center right no-repeat; padding-right: 10px; }
And in the same folder as the CSS file, download and place this icon file.
older
If you run a MediaWiki you may also want it to support xmpp: URIs, which it doesn't by default. Thankfully the fix is easy. In your LocalSettings.php file, add the line:
$wgUrlProtocols[] = "xmpp:";
That's all you technically need to do. It can also make things prettier though if you add the XMPP icon next to all such links. To do this, locate the .css file for the skin you are using (e.g. skins/monobook/main.css) and append the following code:
#bodyContent a[href ^="xmpp:"], .link-xmpp { background: url(xmpp_icon.png) center right no-repeat; padding-right: 10px; }
And in the same folder as the CSS file, download and place this icon file.