Track Package Extension
 

Projects
   About
   Features
   Latest
   History
   Instructions
   FAQ
   Contact


  FAQ


What is Track Package?

Track Package is a Firefox extension designed to alleviate the annoyance of copying and pasting package tracking numbers into a separate carrier page.

What applications does Track Package support?



Firefox and Thunderbird.

What carriers does Track Package support?



Track Package, by default, currently supports UPS, FedEx, DHL, USPS, Canada Post, and Purolator. You can also add support for other carriers yourself via the options menu.

How do I delete an individual item in Tracking History?



Highlight the item and press the 'delete' key. Note that the changes are not saved until you close the Tracking History window.

Can you add support for XXXX carrier?



I have decided to freeze the carriers that the extension supports by default (see previous question), since you can now add your own support for more obscure (or non-U.S.) carriers. Note that you can specify the URL of an XML file with support information for an unlimited number of carriers. The default XML file (which is hosted on this site) only supports these carriers. However, it is quite possible someone else will come up with a new XML file that supports a ridiculous amount of carriers. You can then point the extension to their XML file if you wish.

Can I add support for XXXX carrier?



Yes! You need two pieces of information:
  • The company's tracking URL format
  • The company's tracking number format (optional)

Let's try an example using UPS, which is already supported by Track Package.
When you go to UPS's tracking page, enter your number and click Track, it takes you to a specific URL. This URL generally has the following format:

  <URLFrontText><TrackingNumber><URLBackText>

Again using UPS as an example, say you have the tracking number 1Z4B662R0968275582. When you plug this into UPS's tracking page, you are directed to the following URL:

 wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber1=1Z4A662R0318275582
 &TypeOfInquiryNumber=T&AcceptUPSLicenseAgreement=yes&submit=Track

In this case, the "URLFrontText" is:

 wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber1=

The "TrackingNumber" is:

 1Z4B662R0968275582

And the "URLBackText" is:

&TypeOfInquiryNumber=T&AcceptUPSLicenseAgreement=yes&submit=Track

Keep these values written down in a text editor somewhere - you will need them. Next, open up the options dialog for Track Package, and navigate to the URL section. Here, you'll need to click "Add New URL". The new URL row needs a Carrier, URLFront, and URLBack. The carrier is the name of the company, e.g. 'UPS'. The URLFront and URLBack are what you looked up as specified above. When you have entered all this data, click 'OK' to save it and exit from the Track Package options.

You've now setup a new carrier that is supported in non-smart-sense mode only. To support the carrier in smart-sense mode, you need to add a Regular Expression to tell Track Package what the format of the carrier's tracking numbers looks like. To do this, open up the Track Package options dialog once again. This time, navigate to the "Regex" tab. Click "Add New Regex". Fill in the carrier field with exactly the same value that you entered in the URL tab. Next, fill in the regular expression to tell the extension how to parse the tracking string. I am not going to attempt to explain regular expressions here, as there is plenty of information available on them at Google. Once you've completed this section, your carrier is now supported in smart-sense mode.

Note that some shipping companies only allow tracking via sessions and POST data. Track Package cannot support these shipping companies. If you can't figure all this out, feel free to email me and I'll be happy to help.

Your extension doesn't work! Why am I so angry at you?



Perhaps you should seek therapy. Until then, first make sure you are highlighting the tracking number in question, and then right-clicking the highlighted text. You should see an option in the context menu called "Track Package". If you don't see this option, there are 4 possible reasons: you have an invalid tracking number, the carrier for the tracking number is not supported in your current regex/URL defs (see above question), the regex/url preferences are incorrect, or the extension has a bug. If you have verified that none of the above is incorrect, feel free to contact support@trackpackageextension.com and report your bug. I try to fix all the bugs I can in a timely manner, as I know some of you depend on this extension to make your jobs/lives easier. Make sure you include the following information when you email me: what version you have installed, what versions you've previously installed, the steps you took to find the problem, and an example tracking number (with a digit swapped out if you're worried about privacy). Also, before emailing me, try resetting your regex/URL preferences. Go to the Track Package options screen, and under the Regex and URL tabs, hit Reset to Defaults. There was a bug with an earlier version of the extension that set these slightly incorrectly.

Why don't you fix a problem if I send you a nasty email or post a negative comment on AMO?



I develop this extension for free, in my spare time, out of the kindness of my heart. I do not have to continue to release new versions, you are not "entitled" to anything, and making these sorts of comments discourage me from releasing new versions. That said, I'm a reasonable, friendly person, and if you act the same, I will be happy to work with you to resolve your issue.

How does the regular expression and URL stuff work?



Regular expressions are a powerful, concise way of parsing strings. There is plenty of information on them available on Google. Every regular expression defined in Track Package must have a corresponding URL. When the regular expression is matched to a string, that string is used, along with the URL information stored for the matched carrier, to build the final website URL. Each carrier has two pieces of URL data, a front and a back. The final URL is constructed as follows: URLFront + matchedString + URLBack. Note that a URL for a carrier can be specified without specifying a matching regular expression. In this case, the carrier will only be supported in "non-smart-sense" mode. However, every regular expression specification must have a matching carrier URL in the URL window (and the carrier's case must match between the two).

How does the toolbar button work?



This was a deceptively difficult feature to implement. I eventually decided on a divide-and-conquer strategy. First, the HTML is split into an array of strings, splitting across whitespace, breaks, and tags (to avoid linking text that's in a tag). Then, this array is run through using all the defined regular expressions, and a final set of all matching text is built. This final set is then run through the original HTML, doing a regex replace. Currently, this does not account for numbers that are already linked, and it can produce false positives (e.g., order numbers that look like tracking numbers). I may fix the linking problem in the future, but nothing can be done about the false positives.

I have an idea for a new feature. Can you add it?



Probably. Shoot me an email.


  a
Site Design By Dave Kahler