Text 1053, 366 rader
Skriven 2007-10-14 00:29:40 av Mithgol the Webmaster (2:5063/88)
Ärende: [4/11] FidoURL.txt
==========================
* originally in FTSC_Public
* also sent to GanjaNet.Local
* also sent to Ru.Fido.WWW
* also sent to Ru.FTN.Develop
* also sent to SU.FidoTech
* also sent to Titanic.Best
textsection 4 of 11 of file FidoURL.txt
textbegin.section
If the <optional-part> of "areafix:" URL is not empty, then each
of the optional parameters affects each of the designated areas.
Any of the given areatags MAY contain "@domain" suffix (see
subsection 5.2.2.3.1).
6.2.1. Optional parameter "uplink"
-+--------------------------------
Fidonet software usually has its own means to determine which
uplink has the requested echomail area and would receive the
areafixing netmail letter. However, if the system has several
uplink nodes able to distribute the given echo, the "uplink"
optional parameter MAY be used to recommend the preferred uplink
node (provided that the author of the hyperlink has some reasons
to recommend one uplink above all others).
The "uplink" parameter takes a value that uses standard Fidonet
addressing notation, <zone>:<net>/<node>.<point>@<domain>
However, some parts of address ("<zone>:", "@<domain>"
and/or ".<point>") MAY be omitted (see FSP-1004 for details).
The point number is often omitted in the "uplink" parameter
values, because Fidonet points almost never become uplinks.
Examples:
...get the echo about embedded systems directly from its
moderator, use areafix:Ru.Embedded?uplink=2:5029/32
...those Titanic echoes never were on the backbone, use
areafix:Titanic.PVT?uplink=2:5020/830 and subscribe to one
from the primary hub...
The "uplink" parameter has no default value; the default
behaviour of the subscription management software has to be
determined by the network topology of uplink-downlink relations.
For example, if an areatag contains "@domain" suffix (see
subsection 5.2.2.3.1), then the subscription manager SHOULD
choose an uplink that belongs to the given FTN domain, or
at least has some echomail areas from that domain.
Generally the software has nothing to do if an areafix URL
designates an already subscribed echomail area. However, if
the "uplink" optional parameter is present, the software MAY
choose to cancel echomail subscription order formerly sent to
the current uplink for the given echomail area, and then arrange
for supply of the same echomail area from the preferred uplink
provided by the value of the "uplink" parameter. (The user
SHOULD be asked first whether such an action is appropriate.)
The "uplink" parameter MAY contain several adresses, separated
by white spaces; in this case the subscription manager SHOULD
process them in order of appearance and MAY take, for example,
the first of them it has an established link with.
If the <optional-part> of an areafix URL contains several
"uplink" parameters, they SHOULD be treated as alternatives,
and the user SHOULD be asked which uplink (or list of uplinks)
is more desired.
6.2.2. Optional parameters "unsubscribe" and "leave"
-+--------------------------------------------------
If the "unsubscribe" optional parameter and/or its shorter
synonym parameter "leave" appear in the areafix URL, then
unsubscription from the given echomail area MUST be ordered
instead of subscribing to that area.
The value of these parameters is ignored; only their presence
or absence determines the behaviour of the subscription manager.
It is RECOMMENDED to assign an empty value to them, and to omit
the "=" character, thus keeping areafix URL resonably short.
Examples:
areafix:Ru.PHP?unsubscribe
areafix:Ru.List.Citycat.Culture.Music.Announce.FantasyNews?leave
6.2.3. Future optional parameters
-+-------------------------------
Future versions of this document may introduce even more
optional parameters for the areafix URLs, encouraging somewhat
tighter control over rescan parameters, packer/unpacker settings
and formats, etc.
Programs interpreting areafix URLs SHOULD NOT be sure whether
it is safe to ignore any of the unknown parameters. Some of
future extensions may dramatically change the URL's meaning,
as "unsubscribe" is already able to change it to the opposite.
If an unknown parameter is encountered in the areafix URL,
the user SHOULD always be asked whether it can be discarded
safely enough.
6.2.4. Relative "areafix:" URLs
-+-----------------------------
If an areafix URL is published in the same echomail area that is
involved in the designated action, then the <echomail-area-name>
MAY be omitted.
Examples:
...if you don't like this area, areafix:?unsubscribe from it!
...if you feel that some echomail messages is missing, then
your current uplink is not reliable. You'd better subscribe
using areafix:?uplink=2:5063/88
If such a relative "areafix:" URL is encountered outside of Fido
echomail, then the URL is not valid.
6.3. "echomail:" scheme
-+---------------------
Echomail is an important and powerful force in Fidonet. Echomail
is, by definition, a broadcast medium. See echomail specifications
in FTS-0004.
An echomail area is a shared base of messages that have common
areatag (area identifier) and are distributed through Fidonet
via hierarchical and/or p2p-alike connections between individual
Fidonet systems (nodes and points).
The "echomail:" scheme is used to designate a Fidonet echomail
area as a location where echomail can be sent to.
The character "/" has its literal meaning for this scheme.
The echomail URLs take the form:
echomail:<areatag>?<optional-part>
Examples:
echomail:Ru.FTN.Develop
echomail:Ru.FTN.WinSoft
echomail:FTSC_Public
When an "echomail:" hyperlink is used (clicked, followed),
an echomail message composer SHOULD be launched.
The <areatag> part of "echomail:" URL MAY contain several areatags
(separated by spaces). In this case an echomail composer SHOULD
use its cross-posting abilities to post the desired message to all
of the designated areas. However, due to security reasons of due
to user settings, "echomail:" URLs MAY be ignored completely or
rendered partially (i.e. only first N echoes) if they contain
too many areatags (the user SHOULD be notified when an encountered
"areafix:" URL is ignored or truncated), or if the echomail
composer does not support cross-posting at all.
Examples:
echomail:Ru.FTN.Develop+Ru.FTN.WinSoft
echomail:Ru.Computer.Humor%20Ru.Hutor.Filtered
echomail:Titanic.Best+Titanic.Forward%20Titanic.PVT
If the <optional-part> of "echomail:" URL is not empty, then its
parameters designate some properties of the message to be posted.
If cross-posting is triggered, the message is posted to all of the
given areas after it is composed by the user.
The optional parameters contain just the initial values for these
properties of the message; the user is free to edit them when the
message is edited in the echomail composer.
6.3.1. Optional parameter "to"
-+----------------------------
The "to" optional parameter is used to designate the name of
echomail addressee. Its default value SHOULD be "All", meaning
all of the area audience. The default value MAY also be given by
some user setting of the echomail composer used to process
the "echomail:" URL.
Examples:
echomail:Ru.FTN.Develop?to=Mithgol+the+Webmaster
echomail:Ru.FTN.WinSoft?to=Trooper
echomail:Ru.Fidonet.Today?to=Alex%20Kocharin
6.3.2. Optional parameter "subject"
-+---------------------------------
The "subject" optional parameter is used to designate
the subject line of the echomail message composed. Its default
value is empty; the default value MAY also be determined by
some user setting of the echomail composer used to process
the "echomail:" URL.
Examples:
echomail:SU.Chainik?subject=How+do+I+set+up+a+tosser%3F
echomail:Ru.GoldEd?subject=GoldEd%2b+changelog
echomail:R50.Bone?to=R50BM&subject=%D0%AD%D1%85%D0%B8%3F
6.3.3. Optional parameter "subj"
-+------------------------------
The "subj" optional parameter is used as a shorter equivalent to
the "subject" parameter. If the optional parameter "subject" is
not present in a given URL, the value of "subj" parameter MUST
be taken instead the value of "subject", provided that "subj"
is present.
Example:
echomail:FTSC_Public?subj=Long+subject+may+avoid+line+wrapping+limits
6.3.4. Optional parameter "from"
-+------------------------------
The "from" optional parameter is used to designate the name of
the echomail letter's author. Its default value is usually
defined within the echomail composer settings.
Examples:
echomail:Ru.Moderator?to=R50EC&from=Moderator+of+XXX.chat
echomail:Ru.Fidonet.Yo?from=Moderator&subject=*+*+*+Rules
6.3.5. Optional parameter "body"
-+------------------------------
The "body" optional parameter is used to designate the body part
of the echomail message composed. (Its default value is empty.)
The echomail composer MAY wrap the value of "body" parameter in
elements of some user-defined message template (user-defined
signature, greeting, etc.)
Examples:
echomail:Ru.FTN.Develop?subj=FGHI&body=Fidonet+2.0+approached
echomail:400.Link?subj=Interface&body=A+much+better+option%3F
echomail:GSS.ParToss?body=Will+it+ever+toss+JAM%3F&subj=Hopes
7. Fidonet URL schemes designating objects
-+----------------------------------------
The URL schemes enumerated below designate named objects
that can be accessed, read, browsed, etc.
According to the above section of delimiter guidelines,
the "://" character triplet (and not the ":" character)
SHOULD be used as the delimiter after <scheme> part of such URLs.
7.1. The <object-path> part of URL. Possible forms of the path
-+------------------------------------------------------------
Sometimes Fidonet is regarded as a text-only network. At least,
Fidonet is notable for its very few means of transferring binary
data. File echoes do not enjoy an audience comparable to that
of traditional echo areas; file requests and attaches are almost
never routed between nodes. In that somewhat harsh circumstances,
however, several means of encoding and embedding the binary data
inside text messages exist. Files (and sometimes whole directories
of files) are packed to economize traffic; some of the resulting
archives are encoded in text lines that are sent via text-only
means of communication -- in echomail, in netmail.
That's why all the following Fidonet URL schemes must have some
common method to designate, if necessary, an object inside packed
(archive) files and/or embedded in some text. The <required-part>
of their URL always ends with "/<object-path>", and so URLs are
written as follows:
<scheme>://<basic-required-part>/<object-path>?<optional-part>
The character "/" always has its reserved meaning in <object-path>
part of URL; this character plays the role of delimiter between
parts of the path.
The <object-path> part of URL takes one of the following forms:
<object-name>
If <object-path> contains just a name of some object, the URL
designates that object. The object itself is embedded or is
contained inside the resource specified by the rest of URL:
<scheme>://<basic-required-part>?<optional-part>
<object-name>/
The named object itself is a container (e.g. packed archive).
The URL designates the root directory of that container.
<object-name>/<needed-object>
The <object-name> is a container (e.g. a packed archive),
and its root directory contains <needed-object>; the URL
designates that <needed-object>. If <needed-object>
is a directory (i.e. not a file), the <object-path>
is equivalent to its following form,
<object-name>/<needed-object>/
<object-name>/<needed-object>/
The <needed-object> inside <object-name> is either a container
itself (e.g. a packed archive file) or a subdirectory inside
<object-name> container. The URL designates the contents of
<needed-object> container or directory. (If <needed-object>
is a container with subdirectories, the URL designate the
contents of its root directory.)
<object-name>/<elem1>/<elem2>/.../<elemN>/<needed-object>
or
<object-name>/<elem1>/<elem2>/.../<elemN>/<needed-object>/
The <object-name> contains a hierarchy as deep as N elements,
they're either subdirectories or container objects (packed
archive files, for example). It is necessary to enter those
containers and browse into directories, one after another,
in the given order. The innermost element contains the object
<needed-object>. The URL designates either the object itself
(if trailing slash is missing and <needed-object> is not
a subdirectory) or its contents (if <needed-object> is
a subdirectory, that directory's contents is designated;
otherwise, <needed-object>/ means the root directory of
<needed-object>).
7.1.1. The leading slash and the trailing slash
-+---------------------------------------------
The leading slash of <object-path> is a mere delimiter between
<basic-required-part> and <object-path>. If the <object-path>
part of a URL is empty, its leading slash MUST be ignored by the
program interpreting the URL. If the <object-path> part of a URL
is empty, its leading slash MAY be omitted by the author of that
URL, thus the following URLs are equivalent:
<scheme>://<basic-required-part>/?<optional-part>
<scheme>://<basic-required-part>?<optional-part>
However, the trailing slash of <object-path> has its own value,
makes some real difference. For example, "example.zip" means
the archive itself (a file that may be saved or sent, etc.),
and "example.zip/" means the root directory of that archive
(a container that may be browsed, updated, etc.)
The trailing slash of <object-path> MUST NOT be ignored.
textend.section
With best Fidonet 2.0 regards,
Mithgol the Webmaster. [Real nodelisted name: Sergey Sokoloff]
... 219. I will be selective in the hiring of assassins.
--- Orcs are near! My Golded 1.1.5-b20060515 is gleaming!..
* Origin: And the Soviets ÄÄ waist-deep in the snow ÄÄ marched in (2:5063/88)
|