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.
|