OPML urn:forumzilla: namespace
In OPML files, Thunderbird Mail stores user-selected options regarding how frequently a feed is fetched and how to display it. I have specified the options here for developers to use (as encouraged as the OPML specification). This document was reverse-engineered from the source code of Thunderbird Mail.
An XML namespace is used: "urn:forumzilla:".
(Note that Thunderbird checks for the namespace prefix fz, not the namespace itself.
Thus, to support Thunderbird, the xmlns declaration should be xmlns:fz="urn:forumzilla:".)
(Thunderbird uses the same namespace within RDF as well, but that's outside the scope of this document.)
Attributes
Within the namespace, the following attributes are added to OPML <outline> elements where type="rss" (no behaviour defined for other types):
fz:quickMode
Optional. Defaults to "true".
If "true", for each item the reader should show the user a feed message summary (such as from RSS' <description> element).
If "false", for each item the reader should show the user a web page (such as linked from RSS' <link> element).
fz:options
Optional.
JSON containing the following name/value pairs:
(While I've tried to document their types here, you should probably be prepared for these values to be absent or null or an unexpected type. Their default values may be user-selectable.)
version- A Number. Has been known to be
1or2. A reader setting this value must set it to2ifupdatesis present. updates- An Object. Contains information about when a reader should request the feed.
updates.enabledtrueif the reader should ever request the feed andfalseif it shouldn't.updates.updateMinutesandupdates.updateUnits- The frequency at which the feed should be requested.
updateMinutesis a Number andupdateUnitsis a String.
IfupdateUnits' value is "min", thenupdateMinutesis the update frequency in minutes.
IfupdateUnits' value is "d", thenupdateMinutesis the update frequency in days. updates.lastUpdateTime- A Number, or
null. The date, in milliseconds since the Unix epoch, when the feed was last requested. updates.lastDownloadTime- A Number, or
null. The date, in milliseconds since the Unix epoch, when the feed was last requested and successfully parsed. updates.updatePeriod,updates.updateFrequency, andupdates.updateBase- The same content as the corresponding elements from the PURL RSS module.
updateFrequencycould be a Number or a String.
category- An Object. Contains information about how the feed's items' keywords should be displayed to the user.
category.enabled- If
false, keywords should not be displayed to the user.
Iftrue, keywords should be displayed to the user. category.prefixEnabledandcategory.prefix- If
prefixEnabledistrue, thenprefixshould be prefixed before every keyword.prefixmight be a String, or sometimesnull.
Example
(This example doesn't include every possible name in fz:options)
<?xml version="1.0" encoding="utf-8"?>
<opml version="2.0" xmlns:fz="urn:forumzilla:">
<head/>
<body>
<outline type="rss" text="Example Feed" xmlUrl="https://example.com/feed" fz:quickMode="true" fz:options='{"version":2,"updates":{"enabled":true,"updateMinutes":100,"updateUnits":"min"}}'/>
</body>
</opml>