Products Review Reminder Email Template Not Showing Products

For general questions and discussions specific to the AbleCommerce GOLD ASP.Net shopping cart software.
Post Reply
webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Products Review Reminder Email Template Not Showing Products

Post by webmaz » Fri Feb 13, 2015 1:29 pm

I'm testing out the Products Review Reminder Email Template and it does not show any products.
As far as I know, it is the AbleCommerce default template. I've only tested this email template by going to Administration > Manage > Orders > View Order #123456 > Send Email.
It has not yet been sent as an automated email from the product reviews feature.

Is this a bug or does it only work correctly if the email is sent using the Review Reminders?

I am using Able Gold version R8.

Code: Select all

<html>
<head>
</head>
<body>
<table class="Email">
<tr>
<td class="Email">
Thanks for your recent order with us!

If you have a few minutes, we'd like to invite you to review the products you ordered. Just click on the link below to write a review and share your opinion with other shoppers.

<ul>
#foreach($product in $products)
<li><b>$product.Name</b> - <a href="${store.StoreUrl}Product.aspx?ProductId=${product.ProductId}#reviewsPane">Review this product</a></li>
#end
</ul>
Thanks in advance for taking the time to review the products you purchased!

<p><strong><a href="${store.StoreUrl}">$store.Name</a></strong><br />
$store.DefaultWarehouse.FormatAddress(true)</p>

<p>If you do not wish to receive emails for review reminders, click the link below to opt-out.<br />
<a href="${store.StoreUrl}Members/MyCredentials.aspx">${store.StoreUrl}Members/MyCredentials.aspx</a><br />
If clicking the link doesn't  work, you can copy and paste the link into your browser's address window, or retype it there.</p>

</td>
</tr>
</table>
</body>
</html>

nadeem
Captain (CAPT)
Captain (CAPT)
Posts: 258
Joined: Tue Jul 31, 2012 7:23 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by nadeem » Sun Feb 15, 2015 10:56 pm

Is this a bug or does it only work correctly if the email is sent using the Review Reminders?
This is not the bug. Review reminder email can't be sent forcefully. It requires certain parameters for the Review Reminder Email Template to work properly. For example, there should have some processed orders with the products qualifying for Review Reminder Email i.e. the products for which RRE isn't already been sent.

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Thu Feb 19, 2015 11:11 am

It sounds like there isn't an easy way to test review reminder emails. We'd have to stop shipping orders for a day so that the email isn't sent out to customers.

I have 2 additional questions:
At what time of the day does the review reminder service run?

How can I add product thumbnails to the review reminder email?
I found the code below on another forum post, but I am unable to test if it works correctly since the emails can't be forcefully sent.
I'd like to make sure I'm not sending customers an email with a broken image.

Code: Select all

<ul>
#foreach($product in $products)
<li>#if ($product.ThumbnailUrl.Substring(0,2) == "~/")
    <img src='$store.StoreUrl/$product.ThumbnailUrl.Substring(2)' border="0" />
#else
    <img src='${store.StoreUrl}${product.ThumbnailUrl}' border="0" />
#end <b>$product.Name</b> - <a href="${store.StoreUrl}Product.aspx?ProductId=${product.ProductId}#reviewsPane">Review this product</a></li>
#end
</ul>

User avatar
Katie
AbleCommerce Admin
AbleCommerce Admin
Posts: 2651
Joined: Tue Dec 02, 2003 1:54 am
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by Katie » Thu Feb 19, 2015 2:17 pm

It's actually easy to test if you can create a mock customer using an email that you create for this purpose. I don't think there is a particular time of day setting. A lot of the maintenance runs every 360 minutes. You can change some settings in the \app_data\ablecommerce.config file, but I don't believe we have something specific for the review reminders.

To test the image code, you could always create a test email template and put this code into it. Then send the email to yourself manually via the user management page or the order summary page.
Thank you for choosing AbleCommerce!

http://help.ablecommerce.com - product support
http://wiki.ablecommerce.com - developer support

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Thu Feb 19, 2015 3:21 pm

Katie wrote:It's actually easy to test if you can create a mock customer using an email that you create for this purpose.
If I turn on review reminders, customers will also receive these emails. How can I make sure that only the mock order will receive the email? If we mark orders as shipped, then the email will send. We mark orders as shipped daily.
Katie wrote:To test the image code, you could always create a test email template and put this code into it. Then send the email to yourself manually via the user management page or the order summary page.
I've tested using this method and the email was empty. It sounds like the content will only display if it goes through the review reminder trigger. It doesn't show up when the email is sent manually.

User avatar
Katie
AbleCommerce Admin
AbleCommerce Admin
Posts: 2651
Joined: Tue Dec 02, 2003 1:54 am
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by Katie » Fri Feb 20, 2015 6:01 am

I guess this is where a separate testing/dev install comes in real handy. All orders come with a free dev license, so you might want to take some time to set one up. I think that will give you the testing environment you need to work around this issue.
Thank you for choosing AbleCommerce!

http://help.ablecommerce.com - product support
http://wiki.ablecommerce.com - developer support

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Fri Feb 20, 2015 8:16 am

I have a dev installation and manually marked two orders as shipped (2/18 and 2/19). I have not yet received a review reminder. Is this because the site is in demo mode? I haven't seen review reminders work on the dev site. Am I missing something?

Review Reminder Settings
Run reminder service once every 1 days
Send the review email 1 days after order fulfillment
Do not process orders fulfilled more than 30 days ago

User avatar
Katie
AbleCommerce Admin
AbleCommerce Admin
Posts: 2651
Joined: Tue Dec 02, 2003 1:54 am
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by Katie » Fri Feb 20, 2015 8:54 am

If you have a dev license, you should use that in lieu of running the install in demo mode.

1. Make sure the product purchased has reviews enabled.
2. Make sure the user is registered and not an admin (I would use a new email for a clean test)
3. Confirm your email server configuration is working.
4. Place the order and mark it paid and shipped.

Let us know if it worked.
Thank you for choosing AbleCommerce!

http://help.ablecommerce.com - product support
http://wiki.ablecommerce.com - developer support

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Fri Feb 20, 2015 9:55 am

I was testing using an admin account and I may not have marked the correct status.
I tried additional tests and hopefully the review reminders send. Thanks for the tips!

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Fri Feb 27, 2015 3:57 pm

When I test review reminders using my development site an error occurs:

Code: Select all

Error initiating review reminder notifications. 
Exception: could not execute query [ SELECT o1_.UserId as y0_, p2_.ProductId as y1_, o1_.UserId as y2_, p2_.ProductId as y3_ FROM ac_OrderItems this_ inner join ac_Orders o1_ on this_.OrderId=o1_.OrderId inner join ac_Users u3_ on o1_.UserId=u3_.UserId left outer join ac_OrderShipments os4_ on this_.OrderShipmentId=os4_.OrderShipmentId inner join ac_Products p2_ on this_.ProductId=p2_.ProductId WHERE this_.OrderItemTypeId = @p0 and p2_.AllowReviews = @p1 and not (p2_.VisibilityId = @p2) and (this_.ParentItemId is null or this_.ParentItemId = this_.OrderItemId) and ((p2_.ShippableId > @p3 and os4_.ShipDate is not null and os4_.ShipDate < @p4 and os4_.ShipDate > @p5) or (p2_.ShippableId = @p6 and o1_.OrderDate is not null and o1_.OrderDate < @p7 and o1_.OrderDate > @p8)) and p2_.ProductId not in (SELECT distinct this_0_.ProductId as y0_ FROM ac_ProductReviews this_0_ inner join ac_ReviewerProfiles rp1_ on this_0_.ReviewerProfileId=rp1_.ReviewerProfileId WHERE rp1_.Email = u3_.Email) GROUP BY o1_.UserId, p2_.ProductId ] Name:cp0 - Value:0 Name:cp1 - Value:True Name:cp2 - Value:2 Name:cp3 - Value:0 Name:cp4 - Value:2/26/2015 12:06:10 AM Name:cp5 - Value:1/28/2015 12:06:10 AM Name:cp6 - Value:0 Name:cp7 - Value:2/26/2015 12:06:10 AM Name:cp8 - Value:1/28/2015 12:06:10 AM [SQL: SELECT o1_.UserId as y0_, p2_.ProductId as y1_, o1_.UserId as y2_, p2_.ProductId as y3_ FROM ac_OrderItems this_ inner join ac_Orders o1_ on this_.OrderId=o1_.OrderId inner join ac_Users u3_ on o1_.UserId=u3_.UserId left outer join ac_OrderShipments os4_ on this_.OrderShipmentId=os4_.OrderShipmentId inner join ac_Products p2_ on this_.ProductId=p2_.ProductId WHERE this_.OrderItemTypeId = @p0 and p2_.AllowReviews = @p1 and not (p2_.VisibilityId = @p2) and (this_.ParentItemId is null or this_.ParentItemId = this_.OrderItemId) and ((p2_.ShippableId > @p3 and os4_.ShipDate is not null and os4_.ShipDate < @p4 and os4_.ShipDate > @p5) or (p2_.ShippableId = @p6 and o1_.OrderDate is not null and o1_.OrderDate < @p7 and o1_.OrderDate > @p8)) and p2_.ProductId not in (SELECT distinct this_0_.ProductId as y0_ FROM ac_ProductReviews this_0_ inner join ac_ReviewerProfiles rp1_ on this_0_.ReviewerProfileId=rp1_.ReviewerProfileId WHERE rp1_.Email = u3_.Email) GROUP BY o1_.UserId, p2_.ProductId] Stack Trace: at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results) at NHibernate.Impl.CriteriaImpl.List(IList results) at NHibernate.Impl.CriteriaImpl.List[T]() at CommerceBuilder.Services.Scheduler.ReviewReminderService.DoReviewAlerts() at CommerceBuilder.Services.Scheduler.ReviewReminderService.ProcessReviewReminders() Inner Exception: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Inner Exception Stack Trace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session) at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) Inner Exception: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.Inner Exception Stack Trace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session) at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)

WebDev7
Lieutenant, Jr. Grade (LT JG)
Lieutenant, Jr. Grade (LT JG)
Posts: 49
Joined: Thu Oct 14, 2010 7:25 am

Re: Products Review Reminder Email Template Not Showing Products

Post by WebDev7 » Thu Mar 05, 2015 10:33 am

Just wondering if anyone else experienced this or still having these issues?

Im on a gold DEV9 site and it still is not working. Is there a Trigger in the email template that must be set? is it a Hardcoded value (name of template) in the code that is passed through (i.e., Product Review Email) ??
If so, this may be the issue if templates are added or deleted and not coming through for testing?

Thank you in advance

User avatar
jmestep
AbleCommerce Angel
Posts: 8164
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by jmestep » Tue Mar 10, 2015 2:50 am

I was able to get the review reminders to work on a local test site of mine. Here is approximately what the logic looked like in the source code:
Makes sure site has reviews enabled
Checks the last run date in the store settings
Checks the review reminder days in the store settings
If last run date + review reminder days > now
Gets the products that allow reviews and visibility is not private and that it is a parent basket item product
If it is a shippable item, checks to see that the ship date is not before the days ago limit (like not before 60 days ago)
If it is not a shippable item, checks to see that the order date is not before the days ago limit
Looks to make sure user has not already been sent a reminder (ac_ReviewReminders table)
Makes sure user has not opted out of review reminders(user setting)
Sends the emails
Updates the last run date
Adds user info to ac_ReviewReminders so that the user won’t receive another email for the product
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Fri Mar 13, 2015 10:15 am

Review reminders are working correctly on my development site. I think the errors occur when there are no review reminder emails to send.

Any recommendations for the Review Reminder Settings?
What are other people doing? I don't want to send these emails too often.
Run reminder service once every XXX days
Send the review email XXX days after order fulfillment
Do not process orders fulfilled more than XXX days ago

User avatar
Katie
AbleCommerce Admin
AbleCommerce Admin
Posts: 2651
Joined: Tue Dec 02, 2003 1:54 am
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by Katie » Fri Mar 13, 2015 10:48 am

I believe the email will only be sent once. So, "when" you send the email is based more on how quick you can get your items shipped. I would think that you would want your customer to have the product in their hands before sending them a review reminder.

I am fairly sure this feature is working too, but we still have a pending bug report that is under investigation. I know that I get the email reminders in my test environment, so I'm not sure about the bug report and whether it is valid.
Thank you for choosing AbleCommerce!

http://help.ablecommerce.com - product support
http://wiki.ablecommerce.com - developer support

User avatar
jmestep
AbleCommerce Angel
Posts: 8164
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by jmestep » Mon Mar 16, 2015 2:36 am

webmaz- could you purchase a product that has no review reminders from anyone (no entries in the review reminders table for that product) and see if the email was sent? I think that is where the problem is-if there have been any reminders for anyone for a specific product , the email doesn't get sent.
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

webmaz
Lieutenant (LT)
Lieutenant (LT)
Posts: 52
Joined: Wed Apr 14, 2010 3:57 pm

Re: Products Review Reminder Email Template Not Showing Products

Post by webmaz » Mon Mar 16, 2015 3:44 pm

The review reminder emails have been sending on my test site. I'm only working with a single order, so I don't think the situation you're referring to applies.
I was trying to speculate why there were errors.

User avatar
jmestep
AbleCommerce Angel
Posts: 8164
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by jmestep » Wed Mar 18, 2015 2:22 am

Able has confirmed that there is a bug in sending the review reminder if the review reminder for a product had been sent to anyone in the past-i.e. if Joe has been sent a reminder for product x and Sally buys the product later, a review reminder will not be sent to Sally. They are working on a patch.
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

User avatar
Katie
AbleCommerce Admin
AbleCommerce Admin
Posts: 2651
Joined: Tue Dec 02, 2003 1:54 am
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by Katie » Wed Mar 25, 2015 8:51 am

Patches for R8 and R9 are available here -

http://help.ablecommerce.com/index.htm# ... s_gold.htm

A new CommerceBuilder.dll is required. Make sure to recycle the app pool after installing in the \bin\ folder.
Thank you for choosing AbleCommerce!

http://help.ablecommerce.com - product support
http://wiki.ablecommerce.com - developer support

User avatar
jmestep
AbleCommerce Angel
Posts: 8164
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Re: Products Review Reminder Email Template Not Showing Products

Post by jmestep » Thu Mar 26, 2015 1:07 am

Katie, thanks for the quick patch release.
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

Post Reply