Closed Bug 68406 (protozilla) Opened 24 years ago Closed 21 years ago

W3C CUAP: Allow registration of new URI schemes

Categories

(Core :: Networking, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Future

People

(Reporter: gerv, Assigned: darin.moz)

References

()

Details

(Keywords: meta)

[ This bug is one of the recommendations in the W3C's "Common User Agent 
Problems" document, URL above. One bug has been filed on each recommendation, 
for deciding whether we do it and, if not, whether we should. ]

1.5 Allow the user to add new URI schemes in a straightforward way.

     For instance, allow users to associate external programs with URI
     schemes. The user agent should inform the user when it does not
     recognize a URI scheme in content.

     Example:

     A user may want the "tel" scheme (e.g., tel:+33-4-12-34) to interact
     with their telephone. Or they may want the "irc" scheme (e.g.,
     irc://irc.example.org/) to activate an IRC client on their desktop
     with a connection to the specified server.

     Wrong: Some user agents ignore the scheme part (before the ":") when
     the scheme is unknown to them, interpret the colon character as though
     it were encoded as '%3A' and then treat the URI as though it were a
     relative URI, usually producing a broken link (and confusing users).
Blocks: 68427
This bug basically means "Protozilla". :-)

Gerv
This should be done in the `Applications' category of preferences -- instead of 
specifying a MIME type, you specify a protocol. See, for example, the `Helper 
Apps' section in the Internet control panel on Mac OS.
Hardware: PC → All
See also:
bug 33282 support telnet: urls
bug 28649 support irc: urls using chatzilla
See also
bug 11459 -- using an external client for mailto:
bug 34819 -- altmail support
bug 37637 -- support the tel: and sip: protocols
bug 44317 -- support the dict: protocol
bug 56478 -- another mailto: report

Protozilla (http://protozilla.mozdev.org/) is already written; moving it into
the codebase and integrating its UI into the Preferences panel would solve these
bugs/feature requests, and future requests of this type.

Note that the alternate-mail and telnet registration are 4xp bugs, and that
registration of additional URI schemes is a "3xp" bug.
[At least some of those bugs are dependent ...]
Blocks: 11459, 33282, 44317
see also bug 2110
see also bug 2110
Summary: W3C CUAP: Allow registration of new URI schemes → [RFE]W3C CUAP: Allow registration of new URI schemes
This bug depends on newly created bug 68702, which is a request to implement
inter-process communication (IPC) in Mozilla. A separate bug is needed for that
feature of Protozilla because it is architecturally distinct from the rest of
Protozilla. Although one can use Protozilla without IPC, it will limit many of
its features, such as using client-side CGI to implement protocol handlers.

cc'ing dougt@netscape.com per his request
Security issues: Launching helper applications or running CGI scripts to handle
new URI schemes raises several security concerns. Although Protozilla, the
candidate code for implementing the new URI schemes, is designed with security
in mind, independent reviewers are needed to carefully check the design and
implementation of Protozilla. Any volunteers?
Depends on: ipc
Target Milestone: --- → Future
*** Bug 73003 has been marked as a duplicate of this bug. ***
Blocks: 73003
*** Bug 68962 has been marked as a duplicate of this bug. ***
mass move, v2.
qa to me.
QA Contact: tever → benc
Blocks: 82776
+meta
Keywords: meta
Blocks: 92390
Depends on: 56052
No longer depends on: 56052
Some RFCs have recently been published defining URN schemes for bibliographic
references:

http://www.faqs.org/rfcs/rfc3187.html
RFC for ISBN URNs

http://www.faqs.org/rfcs/rfc3188.html
RFC for National Bibliography Number URNs

It would be neat if Mozilla had some way to support them, like by translating
them into query URLs to a site where you could look up information on books --
if it's something like amazon.com, it could even be a revenue source for the
Mozilla project if it had a referral ID embedded.

The ideal, of course, would be for there to be a configurable setting in Mozilla
to allow various URI / URL / URN schemes to be mapped at the user's option to
either a query URL (with the content segments of the URI inserted at
configurable places), a launching of a helper application, etc.  For instance,
somebody might want to have URNs like "urn:isbn:1-2345-67890" translated to
"http://www.somesite.example/cgi-bin/isbn.pl?search=1-2345-67890".

This stuff is pretty minor in terms of actual likely use by normal Web users,
but it's the sort of thing that would help give Mozilla a reputation within the
computer geek community of being at the leading edge in supporting standards
regarding information structure (as opposed to eye candy).
Alias: protozilla
*** Bug 82776 has been marked as a duplicate of this bug. ***
Keywords: mozilla1.2
moving neeti's futured bugs for triaging.
Assignee: neeti → new-network-bugs
[RFE] is deprecated in favor of severity: enhancement.  They have the same meaning.
Severity: normal → enhancement
Summary: [RFE]W3C CUAP: Allow registration of new URI schemes → W3C CUAP: Allow registration of new URI schemes
No longer blocks: 11459
Don't we do this now?

What does: network.protocol-handler.external.<scheme> do?
Assignee: new-network-bugs → darin
*** Bug 202715 has been marked as a duplicate of this bug. ***
No longer blocks: 33282
Depends on: 33282
i agree with benc.  this bug as originally posed seems to be solved.  it does
not require protozilla.

marking WORKSFORME
Status: NEW → RESOLVED
Closed: 21 years ago
No longer depends on: ipc
Resolution: --- → WORKSFORME
No longer blocks: 82776
I believe the 'WorksForMe' resolution is incorrect, or if not incorrect, then 
there is inadequate documentation in this bug to tell me why.  Darin Fisher 
apparently resolved this based on comment 18.  However, I have added
  network.protocol-handler.external.irc
to my prefs.js (in an install that does not include Chatzilla) but entering an 
'irc:' URI into the address bar gets me "irc is not a registered protocol."  
Also, displaying a message containing an irc: URI in the MailNews program does 
not linkify that string.

you have to set
  network.protocol-handler.app.irc
to the full path to the application you want to use. This will work on
unix/linux only though. For Windows and MacOS, just register your protocol as a
system-wide protocol handler.

Here's the checkin comment that should explain this a bit:
"This allows setting external protocol handlers via a preference setting:
network.protocol-handler.app.<scheme>
This is supposed to be a string value.
Mozilla will first try to interpret this as an absolute path, then as a filename
relative to $MOZILLA_FIVE_HOME, then as a file in $PATH.
If an application is found in one of these places, it will be called and passed
the complete url as first (and only) argument."
Christian Biesinger wrote:
> "This allows setting external protocol handlers via a preference setting:
> network.protocol-handler.app.<scheme>

I added 
  user_pref("network.protocol-handler.app.mailto", "/tmp/foo");
to user.js, restarted mozilla, and clicking on mailto links still
gives me "mailto is not a registered protocol" (in a Mozilla that
does not have Communicator.)

Is this in fact believed to work on Linux?  In what version?

Mozilla 1.5
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031031
1.5 is too old. I can't remember if 1.6alpha is new enough; 1.6beta will
definitely have it, as do current nightlies.
For the benefit of any Unix users who might stumble across this bug -- I have
updated my "gsendmail" program ("http://www.jwz.org/gsendmail/") to work with 
Mozilla 1.6b.  By adding this to user.js:

    user_pref("network.protocol-handler.external.mailto", "true");
    user_pref("network.protocol-handler.app.mailto", "gsendmail");

you can have a simple GUI mail-composition window pop up when you click on
mailto: URLs even if you don't have the full Confusicator suite installed.
>    user_pref("network.protocol-handler.external.mailto", "true");

hm, it works with the "true" in quotes?
No longer blocks: 73003
You need to log in before you can comment on or make changes to this bug.