Skip to content

Commit c840039

Browse files
committed
Implementation Guidelines: Adapt URLs
1 parent 232c07b commit c840039

File tree

8 files changed

+69
-75
lines changed

8 files changed

+69
-75
lines changed

content/implementation-guidelines/_index.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ layout: single
77
## Overview
88

99
**Modern XMPP** is an independent project launched to improve the quality of user-to-user messaging applications
10-
that use XMPP. [XMPP](https://xmpp.org/) is a mature open standard for internet messaging. If you are reading
10+
that use XMPP. [XMPP](/) is a mature open standard for internet messaging. If you are reading
1111
this, you have probably heard of it.
1212

1313
We are developing a handful of simple documents aimed at people who wish to build on top of XMPP. The recommendations are derived from healthy discussions between developers from multiple XMPP projects and other members of the XMPP community.
@@ -22,11 +22,9 @@ and thus make it possible to identify and weed out software that falls behind th
2222

2323
## Current status
2424

25-
It is early days. We are still building the foundations of what will become the initial set of documents. Nevertheless, we already have a bunch of stuff documented that developers of XMPP software (both new and experienced) will find useful. This includes [design guidelines](client/design.md) and lower-level [protocol implementation recommendations](client/protocol.md).
25+
It is early days. We are still building the foundations of what will become the initial set of documents. Nevertheless, we already have a bunch of stuff documented that developers of XMPP software (both new and experienced) will find useful. This includes [design guidelines](/implementation-guidelines/design) and lower-level [protocol implementation recommendations](/implementation-guidelines/protocol).
2626

2727
If you're interested in joining us, our primary discussion venue is our *channel* which can be reached at:
2828

2929
3030
- Web: [chat.modernxmpp.org](https://chat.modernxmpp.org/)
31-
32-
Contributions to the docs can be made through Github [modernxmpp/modernxmpp](https://github.com/modernxmpp/modernxmpp).

content/implementation-guidelines/design.md

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
---
2-
Title: Design Guidelines
2+
Title: Client Design Guidelines
33
---
44

5-
Title:
6-
7-
# Client design guidelines
8-
95
This document lays out a set of guidelines for designing Modern XMPP clients. For contributions,
106
please [open an issue or pull request](https://github.com/modernxmpp/modernxmpp) at Github for discussion.
117

@@ -41,16 +37,16 @@ Support for these options is OPTIONAL, but **not** recommended. They are only ne
4137
| Connect port | The network port to connect to |
4238
| TLS Mode[^tls-mode] | Multiple choice: "STARTTLS" or "Direct TLS" |
4339

44-
Both of the above should be automatically discovered from DNS, according to the [rules in RFC 6120](https://xmpp.org/rfcs/rfc6120.html#tcp-resolution).
45-
Clients that support other connection mechanisms, such as BOSH, SHOULD also implement [XEP-0156](https://xmpp.org/extensions/xep-0156.html).
40+
Both of the above should be automatically discovered from DNS, according to the [rules in RFC 6120](/rfcs/rfc6120.html#tcp-resolution).
41+
Clients that support other connection mechanisms, such as BOSH, SHOULD also implement [XEP-0156](/extensions/xep-0156.html).
4642

4743
### Deprecated options
4844

4945
Support for these options is NOT RECOMMENDED.
5046

5147
| Option | Description | Notes |
5248
|:-------------|:-----------------------------------------|:--------|
53-
| Resource | The resource to request from the server | see [Resource generation](protocol.md#resource-generation) |
49+
| Resource | The resource to request from the server | see [Resource generation](/implementation-guidelines/protocol#resource-generation) |
5450
| Priority | The priority to include in presence | 0 |
5551

5652
## User status
@@ -133,7 +129,7 @@ Support for multiple accounts is OPTIONAL.
133129

134130
## Group chat
135131

136-
You can find more details about [group chats here](groupchat.md).
132+
You can find more details about [group chats here](/implementation-guidelines/groupchat).
137133

138134
## Documentation
139135

@@ -168,7 +164,7 @@ Address book
168164
: Platform-dependent. If the application is somehow linked to the user's address book and is able to access a contact's information there.
169165

170166
User nickname
171-
: A nickname published by the sender in PEP per [XEP-0172](https://xmpp.org/extensions/xep-0172.html).
167+
: A nickname published by the sender in PEP per [XEP-0172](/extensions/xep-0172.html).
172168

173169
Resource
174170
: The resource of the sending JID.
@@ -203,7 +199,7 @@ A client may want to associate a color with a user. Example use cases for this i
203199
- Dummy avatars in contexts where an avatar cannot be or has not yet been retrieved
204200
- Coloring the user name in a conversation log (be aware that this needs to be done very carefully to be accessible!)
205201

206-
To generate a color for a user, the algorithm described in [XEP-0392](https://xmpp.org/extensions/xep-0392.html) MUST be used.
202+
To generate a color for a user, the algorithm described in [XEP-0392](/extensions/xep-0392.html) MUST be used.
207203

208204
### Generator input based on context
209205

content/implementation-guidelines/groupchat.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ To detect if a multi-user chat is a *group chat* or a *channel*
2020
| Publicly listed | muc#roomconfig_publicroom | No (3) | muc_hidden | Yes | muc_public |
2121
| PMs | muc#roomconfig_allowpm | No (3) | muc#roomconfig_allowpm to `none` | Yes | muc#roomconfig_allowpm to `anyone` |
2222

23-
(1) As defined in [XEP-0045: Multi-User Chat - 16.5.3](https://xmpp.org/extensions/xep-0045.html#registrar-formtype-owner)
23+
(1) As defined in [XEP-0045: Multi-User Chat - 16.5.3](/extensions/xep-0045.html#registrar-formtype-owner)
2424

25-
(2) As defined in [XEP-0045: Multi-User Chat - 16.3](https://xmpp.org/extensions/xep-0045.html#registrar-features)
25+
(2) As defined in [XEP-0045: Multi-User Chat - 16.3](/extensions/xep-0045.html#registrar-features)
2626

2727
(3) Immutable for *group chats*.
2828

@@ -31,7 +31,7 @@ Options marked `(3) Immutable` should be used when creating group chats, and als
3131
#### About PMs
3232

3333
While it is possible to entirely prevent PMs from being sent with
34-
[`muc#roomconfig_allowpm`](https://xmpp.org/extensions/xep-0045.html#privatemessage),
34+
[`muc#roomconfig_allowpm`](/extensions/xep-0045.html#privatemessage),
3535
clients should prefer using JIDs when `muc#roomconfig_whois` is set to `anyone`.
3636

3737
In channels, if the initiating client has access to revealed JIDs (with
@@ -73,12 +73,12 @@ Bookmark
7373
: If the chat is present in the user's bookmarks and has a nickname present (as the resource).
7474

7575
Reserved name
76-
: A chat [may be queried](https://xmpp.org/extensions/xep-0045.html#reservednick) to fetch the
76+
: A chat [may be queried](/extensions/xep-0045.html#reservednick) to fetch the
7777
name that is registered by the user for that chat.
7878

7979
User nickname (PEP)
8080
: The name stored in the user's account according to
81-
[XEP-0172](https://xmpp.org/extensions/xep-0172.html#manage).
81+
[XEP-0172](/extensions/xep-0172.html#manage).
8282

8383
User nickname (vCard)
8484
: The name stored in the user's vCard as `NICKNAME`.
@@ -91,21 +91,21 @@ JID username
9191

9292
### Other user's names
9393

94-
The display of other user's names is covered in the [general UI recommendations](design.md#names).
94+
The display of other user's names is covered in the [general UI recommendations](/implementation-guidelines/design#names).
9595

9696
## Bookmarks
9797

9898
Figuring out which group chats to join is the client’s job. For that it
9999
should store the list of group chats to rejoin automatically on the
100100
server, named bookmarks. Three possible protocols exist for this:
101101

102-
- [XEP-0402](https://xmpp.org/extensions/xep-0402.html) which is the
102+
- [XEP-0402](/extensions/xep-0402.html) which is the
103103
current preferred method
104-
- [XEP-0048 1.1](https://xmpp.org/extensions/xep-0048.html), recently
104+
- [XEP-0048 1.1](/extensions/xep-0048.html), recently
105105
deprecated but still in use by some clients
106-
- [XEP-0048 1.0](https://xmpp.org/extensions/attic/xep-0048-1.0.html),
106+
- [XEP-0048 1.0](/extensions/attic/xep-0048-1.0.html),
107107
in wide use, based on
108-
[XEP-0049](https://xmpp.org/extensions/xep-0049.html)
108+
[XEP-0049](/extensions/xep-0049.html)
109109

110110
In order to see the same set of bookmarks as every other client the
111111
user might be using, it is recommended to implement **XEP-0048 1.0** first
@@ -115,7 +115,7 @@ This legacy protocol however doesn’t support notifications when the bookmarks
115115
change due to another client or the server. To avoid this issue, a modern client
116116
should also implement **XEP-0402** ("PEP Native Bookmarks"), but use it *only* if the account
117117
advertises 'urn:xmpp:bookmarks:1#compat' (as defined in [XEP-0402 paragraph 5.3
118-
Compatibility](https://xmpp.org/extensions/xep-0402.html#compatibility)).
118+
Compatibility](/extensions/xep-0402.html#compatibility)).
119119

120120
Implementing XEP-0048 1.1 is not recommended in modern clients.
121121

@@ -133,7 +133,7 @@ Clients must always use real JIDs for messaging privately within a *group chat*
133133

134134
<!-- Footnotes -->
135135

136-
[^rationale-gc]: Rationale [group chats](/rationale#group-chats)
136+
[^rationale-gc]: Rationale [group chats](/implementation-guidelines/rationale#group-chats)
137137
[^local-nickname]: To avoid requiring the user to configure a nickname manually on each device, shared cross-device stores such as PEP and vCard should be preferred.
138138
[^pm-realjid]: If real JIDs are known to all participants, it is preferable to use that for private communication to avoid confusion. Through-MUC PMs have the following disadvantages:
139139

content/implementation-guidelines/invites.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,6 @@ If possible, platform detection should be used to highlight download links relev
116116

117117
If the detected platform is a desktop environment, consider also adding a QR code for easy transmission to a user's mobile device.
118118

119-
[XEP-0401]: https://xmpp.org/extensions/xep-0401.html "Ad-hoc Account Invitation Generation"
120-
[XEP-0445]: https://xmpp.org/extensions/xep-0445.html "Pre-Authenticated In-Band Registration"
121-
[XEP-0379]: https://xmpp.org/extensions/xep-0379.html "Pre-Authenticated Roster Subscription"
119+
[XEP-0401]: /extensions/xep-0401.html "Ad-hoc Account Invitation Generation"
120+
[XEP-0445]: /extensions/xep-0445.html "Pre-Authenticated In-Band Registration"
121+
[XEP-0379]: /extensions/xep-0379.html "Pre-Authenticated Roster Subscription"

0 commit comments

Comments
 (0)