Articles
- Creating a Microformat Action User Script (Basic)
- Creating a Microformat Action User Script (Advanced)
- Creating a Microformat Action User Script that uses POST
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.
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.
Can you give me an example site? It seems to be working for me. I test at corkd.com. For example:
http://corkd.com/wine/view/9103
On my site, I tried to integrate an example. ( http://www.markusbaumi.ch/tipps/thunderbird-erweiterungen.html ) But it doesn’t work with the new Operator. Maybe, there is an error in the code?!
I also tested the examples form http://microformats.org/wiki/hreview . The “Product” and “More review” aren’t working. The Tails-extension and the old Operator show them. Is there an error in die website-code?
Yes, there is a problem in hReview.js. I just fixed it. Sorry about that. I should have caught that.
Thanks for your support. Now it’s going!
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…
A user script for running pages through the http://triplr.org/ web service
http://www.getsemantic.com/wiki/Triplr_operator_userscript
A user script to launch Foaf explorer when RDFa is used to specify a person with a rdfs:isDefinedBy property.
http://rn7.net/b/amusons-nous-avec-RDFa-et-Operator
Demo page :
http://rn7.net/b/Charles-Nepote
The Tagzania userscript for Operator 0.8 available zipped here. Extends the capability of the adr and geo microformats detected by Operator. Read the documentation.
This tool has been created by a geohacker friend of Tagzania, Tony Farndon.
User scripts for a delicious-like service (in basque) called bildu.net
http://www.mundurat.net/kaxero/blog/2007/07/05/mikroformatuak-informazio-handia/
In lieu of a bluetooth application for Windows, what about a Semacode generator?
[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…)
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
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/
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.
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.
david:
Can you give me a page to try out?
It should at least light up the “Resource” button.
My bad: it does light up the Resource button,
example page : http://www.w3.org/2001/sw/BestPractices/HTML/rdfa-bookmarklet/bibtex-rdfa-example.html
It does seem like ‘instanceof’ (RDFa) is not recognized (not present in resources): Tried it out locally, ‘about’ is picked up, but not ‘instanceof’. See http://www.w3.org/TR/xhtml-rdfa-primer/ examples.
(example from that site: …
)
david:
This was written to the earlier spec that didn’t use instanceof. The code is in the process of being rewritten.
https://vx.valex.com.au/operator/
User scripts for…
* Find people on whitepages.com.au
* Find businesses on yellowpages.com.au
* Find properties on real estate sites
A user script to get directions to attend an event
http://sriramnarayan.50webs.com/directions_on_googleMaps.html
Try it out on http://microformats.org/wiki/hcalendar#Example
Give start address as SFO airport, CA
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.
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
adrianbj: thanks for the bug reporting. It’s definitely a problem with my FF microformats code. I already have a fix.
Thanks
I’ve reuploaded my script for the swedish blogosphere on my company site since my webhost killed my personal blog. Can you update the link to the new location? It’s http://kodfabrik.se/userscripts/
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?
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
Hello, I created script for Operator, which allows you add Location to Locify. For more informations about Locify please visit our site http://www.locify.com .
Is it possible to add this script to list of userscripts? Thanks
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.
plz make hproduct format addon 🙂
Is anyone working on scripts for hProduct and hRecipe?
I have written a user script for operator to use with Open streetmaps(http://www.openstreetmap.org/)
You can read and download it from
http://bhavesh.freeshell.org/blog/worklog/9011.html
I’m missing a userscript for the hMedia Microformat. Does it exist?
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
I would like to have a script for Google Contact, is it possible?
I miss the hAtom entries (and feed), so I still use the 0.9.4.1 version… however, this remains a great addon 😉
I have an updated hProduct with hReview and hReviewAggregate available for download:
http://www.loqus.nl/informatie-over-microformats.html
Martin McEvoy (@weborganics) has posted an improved version of the Species script at http://weborganics.co.uk/files/js/ – can you check it against yours and replace it if you agree it’s better, please?
The “export_vcard_21” javascript seems to be interpreting the URI for the website of the person in your comments to be the URI of the photo of the person.
tOM
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:[email protected]
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
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
Thanks for the auspicious writeup. It in truth used to be a enjoyment account it.
Look advanced to more delivered agreeable from you! However,
how could we communicate?
You likely already do a lot of integrating
without realizing it. Also, try to determine the frequency of the status updates or other relevant information. Content optimization and
originality are of uttermost importance.
Nowadays, it is important for people and their businesses
to maintain their position at the top. You can create one time
events, repeating events, and more. The impact of your landing page will affect your overall website rankings.
Great post! We will be linking to this great content on our website.
Keep up the great writing.