I switched to using the Subscriptions module from a custom Perl script that some cohorts and I had put together. The script had many customizations, some of which the Subscriptions module provides as pretty much direct replacement, some of which are even better than what we had. One of the things that we did have implemented, that the Subscriptions module does not, is a tiny url feature.
Users often publish urls in their content. Many times the url is rather long. I had frequently received complaints from users that the links in the emails didn't work, they would complain that they'd click on the link and the site that they were linked to says the page was not found. Through troubleshooting with these people, we had discovered that the user's email client broke links when the text wrapped. So when they clicked on the link, they were only linking to a portion of the original link.
Our solution was to create a tiny url database. When the Perl script was run to send out the email, it found the urls in the content, created a hash of the url, stored it in the database, and put the site url / hash in the email as the link to the node. Obviously when the user clicked on the tiny url in the email, the site redirected them to the appropriate page.
Maybe this could be somehow be implemented in conjunction with the Path module (http://drupal.org/handbook/modules/path)? Use Path module to store the tiny url and redirect page requests?
Let me know your thoughts.
Comments
Comment #1
RobertNelsonVance commentedOr when linking to external sites too - of course.
Comment #2
salvisYes, I see the value in this, but it would need to be done in core, or at least a hook would need to be provided in core.
The text formatting, including extraction of URLs, is being done in the HTML to text module for D5, which is nothing more than a copy of the D6 core function drupal_html_to_text(). Support for tinyurls would need to be implemented in that function (actually in the _drupal_html_to_mail_urls() helper function).