<tt><nowiki><LINK REL="commands" HREF="my_commands.js" TYPE="application/x-javascript" /></nowiki></tt>
In Ubiquity 0.2, the values of the <tt>REL</tt> and <tt>TYPE</tt> attributes will be used to locate an appropriate '''Feed Plugin''' for the feed. Once found, the Feed Plugin will serve the following roles:Much of what happens next is delegated to that plugin.
* The Creating a new Feed Plugin will control has the user experience from the moment they click the "Subscribe..." button in the notification box to subscribe to the feed, presenting any necessary information the user may need to know before subscribing (e.g., security warnings). It will also be responsible for communicating with the Feed Manager to actually subscribe to the feed, since it's possible that the user may ultimately choose not to subscribe.following requirements:
* # The Feed Plugin will be responsible for actually loading the feed and providing its functionality—generally in the form of commands and pageload functions—to Ubiquity using well-defined interfaces.# The Feed Plugin will control the user experience from the moment they click the "Subscribe..." button in the notification box to subscribe to the feed, presenting any necessary information the user may need to know before subscribing (e.g., security warnings). It will also be responsible for communicating with the Feed Manager to actually subscribe to the feed, since it's possible that the user may ultimately choose not to subscribe.# The Feed Plugin will have optional interface elements and information it can display on Ubiquity's feed management page (currently located on <tt>about:ubiquity</tt>). Requirement (1) will provide Feed Plugins with the freedom to implement whatever security model they need, while requirements (2) and (3) will give them the ability to present that model to the end-user in an understandable way. It should also be possible for one Feed Plugin to wrap another, creating possibilities for middleware. For instance, a social web-of-trust style model could be layered on top of an object capabilities model, thus providing multiple layers of protection for end-users.