Operator User Scripts

Articles

Operator 0.9.X User scripts

ALL OF THESE SCRIPTS HAVE BEEN UPDATED TO WORK WITH THE LATEST OPERATOR! To use these user scripts with Operator, you must download them and then use Options->User Scripts to add them to Operator. After adding them, restart the browser.

  • Actions
    • blogmarks.js - "Find bookmarks on BlogMarks" action for searching blogmarks.net. Works with the tag microformat. (Last updated May 31, 2007)
    • bluetooth.js (Mac only) - "Send to Bluetooth Device" action for sending ICS and VCF files via Bluetooth. Works with the hCard and hCalendar microformats. (Last updated May 31, 2007)
    • corkd.js - "Find wines on Cork'd" action for searching corkd.com. Only works on corkd.com. Works with the tag microformat. (Last updated May 31, 2007)
    • goto_url.js (updated 7/3/2007 for Operator 0.8b)- "Go to web page" action for opening web pages. Works with the hCard, hCalendar, hAtom (hEntry) and XFN microformats. (Last updated November 8, 2007)
    • liveclipboard.js - action for copying microformats to Live Clipboard. Works with the hCard and hCalendar microformats. (Last updated May 31, 2007)
    • google_maps_rdfa.js - action for searching Google Maps when latitude/longitude is specified via any RDF ontology (RDFa, eRDF). This is an example of how to extend an existing action to support RDF. (Last updated September 25, 2007)
    • export_vcard_21.js - action that exports vCards at the 2.1 level. This is especially useful for applications like Palm Desktop which do not work with the vCard 3.0 specification. (Last updated September 25, 2007)
  • Microformats
    • hAtom.js - the hAtom microformat. This microformat is actually represented in Operator as two "subformats," hEntry and hFeed. This file also adds functionality to the "Bookmark with Firefox" action to include bookmarking hEntrys. (Last updated December 3, 2007)
    • hResume.js - the hResume microformat. This file also adds functionality to the "Bookmark with Firefox" action to include bookmarking hResume, as well as to the Yahoo! and Google Search actions to include searching for the contact. (Last updated February 15, 2008)
    • hReview.js - the hReview microformat. This file also adds functionality to the "Bookmark with Firefox" action to include bookmarking hReview, as well as to the Yahoo! and Google Search actions to include searching for the item. (Last updated January 3, 2010)
    • XFN.js - the XFN microformat. This file is not very useful unless you also install the "Go to web page" action. (Last updated August 22, 2007)
    • license.js - the license microformat. This file also adds an action for viewing the license. (Last updated December 3, 2007)
    • hProduct.js - the hProduct microformat. This file also adds functionality to the "Bookmark with Firefox" action to include bookmarking hProduct, as well as to the Yahoo! and Google Search actions to include searching for the item. (Last updated October 14, 2009)
    • hToDo.js - the hToDo microformat. This was written by Phill Sparks. It also adds multiple semantic actions to hTodo. You can see the code here. (Last updated July 13, 2010)
  • Experimental
    • GRDDL.js - GRDDL support. This file adds a new data format for GRDDL and adds an "Extract RDF" action to transform a page with GRDDL into RDF. (Last updated December 3, 2007)
    • species.js - the proposed species microformat. Martin McEvoy (@weborganics) created this version. (Last updated July 8, 2010)
  • Third Party
    • Søren Johannessen has updated his actions for the Danish Blogosphere for Operator 0.8. You can read about them and download them at microformats.dk.
    • Pelle Wessman has updated his actions for the Swedish Blogosphere for Operator 0.8. You can read about them and download them at http://pelle.vox.nu/.
    • Charl van Niekerk has created actions for the African Blogosphere for Operator 0.8. You can read about them and download them at http://blog.charlvn.za.net/.
    • Tony Tones Farndon has created actions for Tagzania. You can read about them and download them at http://www.tagzania.com/doc/about/tools/microformats
    • The Minimap Addon gives you a suite of built-in maps and mapping tools for your web browser. And it also supports integration with Operator.
    • Egon Willighagen is using RDFa combined with an Operator action to allow for searching PubChem from the Chemical Blogspace. More information is available in his post.
    • Rosie Morales from MITRE has created actions based on the Simile project:
      • The Simile Timeline action (Updated 8/5/2007) is an action that acts on all events on a web page. It creates a local file that contains a Simile Timeline representation of the data and then displays it.
      • The Exhibit Timeline action is an action that acts on all events on a web page. It creates a local file that contains a Exhibit Timeline representation of the data and then displays it.
      • The Exhibit action is an action that acts on all contacts on a web page or one contact on a web page. It creates a local file that contains a Exhibit representation of the data and then displays it.
    • Dan Noble has created an action that extracts hCard and hCalendar items from a page and plots them in Google Earth. It's available here.
    • Thorsten Panknin has created an action for tags that connects with the Mister Wong social bookmarking site. What is interesting about this action is that it connects to different language versions of the site based on your browser language. The script is available here.
    • Matthias Pfefferle has created actions for the German Blogosphere for Operator 0.8. You can read about them and download them at http://notizblog.org/.
    • Tom Morris has created an action for Skype for Operator 0.8. You can read about it and download it at http://tommorris.org/blog/.
    • Gautier Poupeau has created RDF actions for Dublin core encoded ISBNs and for SIOC/delicious integration.. You can read about it and download it at http://www.lespetitescases.net/.
    • NEW - Joaquín Moriche has created an action that displays all hCard addresses on a page on one Google map. He did this by creating a web page that he passes all the addresses to. You can download it here.

Please note: I reserve the right to delete comments that are offensive or off-topic.

Leave a Reply

Your email address will not be published. Required fields are marked *

54 thoughts on “Operator User Scripts

  1. Is there a problem in the hReview.js? It doesn't show the microformats on my test-site. I copied the examples form microformats.com. But the new Operator doesn't catch them. Some other sites (linked in the microformats-wiki) don’t work also. I don't know JavaScript, so I haven't an idea.

  2. It would be nice if there were some indication in the post or the code as to which actions work with / make sense with the uF userscripts. If I install the XFN script, what do I get? Microformats is the data, but actions are the goal of this...

  3. [Ed: I consolidated these all into one comment so I could reply]

    The hAtom script seems busted. It shows nothing on either my blog or microformats.org, both of which are hAtom.

    Oh… you have to restart firefox…

    go to webpage needs an in new tab counterpart…

    On my blog (http://singpolyma.net/tech) the hEntries all show up with a 0 at the end of their title…

    Can’t I display ALL microformats? Pleease? It won’t let me add new ones to the list, just change existing items…

    XFN should support bookmark. It would be cool if icons for the different relationships were put next to XFN links too (or just the rel contents put in the title or something…)

  4. To open web pages in a new tab, you can Ctrl Click or use the middle mouse button. This is consistent with how Firefox bookmarks in the chrome work today.

    I'll take a look at the the hEntry issue.

    As far as the "ALL microformats" thing, I'm not sure what you mean. The only way to know a microformat is to install support for it. So if you can't add new ones to the list, it means there are no more that Operator understands. Unless there is a bug :)

    I'll add bookmarking support for XFN. As far as icons go, do you mean in the menu? Or when it is added as a bookmark? And when I bookmark it, should it book mark as:
    Joe Schmo (friend, colleague)

    Thanks

  5. Hey Mike, great addon.

    I've been trying to implement rel-tag support for my blog, but redirection isn't available to me, thus my rel-tag hrefs look something like this:

    rel="tag" href="?tag=foo"

    Instead of

    rel="tag" href="http://page.com/tag/foo"

    as required by the rel-tag spec.

    However, checking the sites listed under 'Examples in the wild'^1, it would appear that a number of sites (e.g. MyOpera^2) implement rel-tag in the manner I'm forced to aswell.

    Would you consider adjusting rel-tag parsing in Operator so as to pick up non-spec rel-tags?

    Thanks, kl.

    1: http://microformats.org/wiki/rel-tag
    2: http://my.opera.com/community/blogs/

  6. kl:

    This debate rages in the microformat community :)

    The problem is that basically there are so many ways of doing tags out there, that I can't really determine how to parse out a tag from a specific URL.

    If the tag is invalid, I could probably do something extra, but I'm not sure if that is the "right thing"

    Can you give me a URL to your blog? I'm curious if your links show up as invalid, or we just think the tag is something else.

  7. could you elaborate a little more on how RDFa / eRDF is supported? Not really picking up much of it right now when browsing RDFe examples.
    Also the add new dataformat button is always grayed out.

  8. This certainly is a lovely firefox addon; thank you for developing it.

    One feature that might be useful is some way for sites to advertise to Operator that they offer userscripts for download. Rather like the search engine box lights up when a site offers a search thingy. I think it would be great if a site could offer both microformatted data, and the actions to do stuff with that data.

  9. There seems to be a problem with 0.9b and full dates - I thought it was just my coding, but noticed that you can't export the second example at: http://microformats.org/wiki/hcalendar
    which uses full date format. The first example can be exported, but it uses a condensed date format.

    I am using FF 3.0b3 - not sure if that would matter or not.

    Thanks

  10. Sometimes the "New" button for the data formats is "greyed out" - just added the XFN.js script, after adding a new XFN format, the button is unclickable. If I delete XFN, and add GRDDL instead, then I can add XFN afterwards.

    Weird!

    I thought that this extension was going to become a core part of Firefox 3 - what happened?

  11. Hey,

    Just wanted to say good job on the Operator Extension. I really like it. I do have one small request - could you add GMail support for the Contacts menu, since I'm a GMail user. I'm using version Operator 0.9.2

    Thanks in advance,

    Andrew

  12. Hi, I've got Operator 0.9.3 and I'm having real trouble getting it to detect hatom (hentry, hfeed) on sites that other tools can parse correctly - the Highlight bit seems to pick up on it, but the toolbar stays greyed out, and neither the address bar or status bar bits show it. Can't seem to find a hatom.js version for Operator 0.9 either.

  13. Not sure this is the right place to ask this question. I'm currently getting events from Tripit into (an oldish version of) Lotus Notes by copying the vCard/iCalendar debug page into Lotus. Is there a way of automating this (copy the iCal into the clipboard, and maybe modify it a bit to remove the alarm)?

    Thanks
    Alexis

  14. Apparently the problem, at least for import to my Palm desktop (v4.2.0), is the empty UID: . Why is this generated if there is no unique identifier? I suggest that empty (or blank) data entries not be generated as vCard fields.

    A test export from my Palm reads (the entries beginning ~ are the data):
    BEGIN:VCARD
    VERSION:2.1
    N:~yyyyyyyyyyyyyyyyyyylast;~xxxxxxxxxxfirst
    FN:~first ~last
    UID:
    TITLE:~title
    ORG:~company
    ADR;WORK:;;~WkAddress;~WkCity;~WkProv;~WkPostcode;~WkCountry
    ADR;HOME:;;~homeAddr;~homeCity;~homeProv;~homePC;~homeCountry
    ADR:;;~OthAddr;~OthCity;~OthProv;~OthPC;~OthCountry
    NOTE;ENCODING=QUOTED-PRINTABLE:~note line=0D=0Aline 2
    BDAY:20090707
    URL;WORK:~web site
    TEL;WORK:~work
    TEL;HOME:~home
    TEL;FAX:~fax
    TEL:~other
    EMAIL:~email
    TEL;PAGER:~pager
    TEL:~other
    X-Palm-Custom1:~club#
    X-Palm-Custom2:~Role
    X-Palm-Custom3:~gender
    X-Palm-Custom4:~memExpires
    X-Palm-Custom5:~cust5
    X-Palm-Custom6:~cust6
    X-Palm-Custom7:~cust7
    X-Palm-Custom8:~cust8
    X-Palm-Custom9:~cust9
    X-PALM-IM;MSN:~AIM
    X-PALM-IM;Yahoo:~MSN
    END:VCARD

    and my Palm accepts the example at http://en.wikipedia.org/wiki/VCard which reads:
    BEGIN:VCARD
    VERSION:2.1
    N:Gump;Forrest
    FN:Forrest Gump
    ORG:Bubba Gump Shrimp Co.
    TITLE:Shrimp Man
    TEL;WORK;VOICE:(111) 555-1212
    TEL;HOME;VOICE:(404) 555-1212
    ADR;WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
    LABEL;WORK;ENCODING=QUOTED-PRINTABLE:100 Waters Edge=0D=0ABaytown, LA 30314=0D=0AUnited States of America
    ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
    LABEL;HOME;ENCODING=QUOTED-PRINTABLE:42 Plantation St.=0D=0ABaytown, LA 30314=0D=0AUnited States of America
    EMAIL;PREF;INTERNET:forrestgump@example.com
    REV:20080424T195243Z
    END:VCARD

    I also fed the palm desktop this more complete version:
    BEGIN:VCARD
    VERSION:2.1
    ADR:Delivery Address test
    AGENT:Agent test
    BDAY:Birthday test
    EMAIL:Email test
    FN:Formatted Name test
    GEO:Global Positioning test
    KEY:Public Key test
    LABEL:Label Address test
    LOGO:Logo test
    MAILER:Email Program (Optional) test
    N:Name test
    NOTE:Note test
    ORG:Organization Name or Organizational unit test
    PHOTO:Photograph test
    REV:Last Revision test
    ROLE:Role or occupation test
    SOUND:Sound test
    TEL:Telephone test
    TITLE:Title test
    TZ:Time Zone test
    UID:Unique Identifier test
    URL:URL test
    X-ABUID:Apple Address Book UUID for that entry
    X-AIM:Instant Messaging (IM) contact information; TYPE parameter as for TEL (I.e. WORK/HOME/OTHER)
    X-ANNIVERSARY:2009-12-31
    X-ASSISTANT:assistant name
    X-EVOLUTION-ANNIVERSARY:2009-12-31 test
    X-EVOLUTION-ASSISTANT:assistant name (instead of Agent)
    X-EVOLUTION-BLOG-URL:string/URL test
    X-EVOLUTION-CALLBACK test
    X-EVOLUTION-FILE-AS:file under different name (in addition to N = name components and FN = full name
    X-EVOLUTION-MANAGER:manager name
    X-EVOLUTION-RADIO test
    X-EVOLUTION-SPOUSE:spouse name
    X-EVOLUTION-TELEX test
    X-EVOLUTION-TTYTDD test
    X-EVOLUTION-VIDEO-URL:string/URL test
    X-GADUGADU:(some value)
    X-GENDER:value (some value)Male(some value) or (some value)Female(some value)
    X-GROUPWISE:(some value)
    X-ICQ:(some value)
    X-JABBER:(some value)
    X-KADDRESSBOOK-BlogFeed:string/URL test
    X-KADDRESSBOOK-X-Anniversary:ISO date test
    X-KADDRESSBOOK-X-AssistantsName:assistant name (instead of Agent)
    X-KADDRESSBOOK-X-IMAddress:im address
    X-KADDRESSBOOK-X-ManagersName:manager name
    X-KADDRESSBOOK-X-Office:office description
    X-KADDRESSBOOK-X-Profession:profession
    X-KADDRESSBOOK-X-SpouseName:spouse name
    X-MANAGER:manager name
    X-MOZILLA-HTML:TRUE
    X-MS-CARDPICTURE:Works as PHOTO or LOGO. Contains an image of the Card in Outlook.
    X-MS-IMADDRESS:(some value) (IM address in VCF attachment from Outlook (right click Contact, Send Full Contact, Internet Format.)
    X-MSN:(some value)
    X-Palm-Custom1:~club#
    X-Palm-Custom2:~Role
    X-Palm-Custom3:~gender
    X-Palm-Custom4:~memExpires
    X-Palm-Custom5:~cust5
    X-Palm-Custom6:~cust6
    X-Palm-Custom7:~cust7
    X-Palm-Custom8:~cust8
    X-Palm-Custom9:~cust9
    X-PALM-IM;MSN:~AIM
    X-PALM-IM;Yahoo:~MSN
    X-PHONETIC-FIRST-NAME, X-PHONETIC-LAST-NAME:alternative spelling of name, used for Japanese names
    X-SKYPE
    X-SKYPE-USERNAME:(some value)
    X-SPOUSE:spouse name
    X-YAHOO:(some value)
    END:VCARD

    and it only objected that the "photo could not be read"

    tOM

  15. By the way, for convenience in identifying and displaying or editing imported vCards in the Palm desktop (or whatever), I suggest creating a Category such as "~web imports" and switching to display just that category before processing the vCard. After viewing/editing, change the category to what you want.

    Suggested enhancements to the script:

    1. generate the REV property automatically if not present:
    - REV:1995-10-31T22:27:10Z - date microformat or web page last revised

    2. add to the NOTE: property the line:
    Captured by Operator from http://example.org/index.html at 1995-10-31T22:27:10Z

    tOM