BV Commerce Forum
»
BV Commerce Support
»
Development
»
Customizing Email Replacement Tags and/or Workflow Items
Rank: Member
Joined: 7/24/2018(UTC) Posts: 2
Thanks: 1 times
|
Here's the situation: I'm working on a BVCommerce cart that we're trying to upgrade from BVC 5.4 to BVC 2018 SP1. The original cart has some custom code that was added to the BVSoftware.BVC5.Core.Order.ReplacementTags function and used to generate a pair of order emails (one to the admin, one to the customer). The code contained custom replacement tags
I want to be able to use those custom replacement tags in BVC 2018, and I'm trying to avoid editing/customizing the Orders/Order.vb file if at all possible. I'd like to create classes within App_Code that extend the classes and that will allow me ReplacementTags/ConvertToEmailTemplate/Email Order Execute functions, etc. to be able to utilize the custom replacement tags. I'm trying to figure out whether I can do that, whether I can create a custom workflow item to utilize the custom emails, or whether I'll need to copy/paste the appropriate functionality into classes and send the emails outside of the workflow to accomplish what I want.
Is there a way to extend those classes and/or create a custom workflow item with code without editing the BVSoftware.BVC5.Core files, or do I have to create my own code outside of the Order workflow completely?
|
|
|
|
Rank: Administration
Joined: 4/2/2004(UTC) Posts: 2,396 ![United States United States]() Location: Hummelstown, PA Thanks: 6 times Was thanked: 164 time(s) in 159 post(s)
|
Originally Posted by: nucoplus_adam  I want to be able to use those custom replacement tags in BVC 2018, and I'm trying to avoid editing/customizing the Orders/Order.vb file if at all possible. I'd like to create classes within App_Code that extend the classes and that will allow me ReplacementTags/ConvertToEmailTemplate/Email Order Execute functions, etc. to be able to utilize the custom replacement tags. Unfortunately there is no way to do this as there is no plugin architecture for replacement tags, though this is something that we've discussed internally. Further, classes in App_Code are only accessible from the website project, not any of the compiled assemblies, like the Core. Originally Posted by: nucoplus_adam  I'm trying to figure out whether I can...create a custom workflow item to utilize the custom emails... Originally Posted by: nucoplus_adam  Is there a way to...create a custom workflow item with code without editing the BVSoftware.BVC5.Core files... You can absolutely create a custom workflow step to handle this, and that workflow step class can live in App_Code. The only real downside to this approach is that only the email that your workflow step uses can leverage your custom replacement tags (since the workflow step is where the replacement tags are processed). This might be fine for your situation, but just remember that any other order email that the system sends will have no knowledge of your custom replacement tags. Assuming that works for you I believe this is the best approach since it keeps your custom code isolated. Some sample code you could review is in the /BVModules/Controls/ProductReviewDisplayInline.ascx.vb control. While this isn't a workflow step, the SendEmail function implements some custom replacement tags. You could do something similar in your workflow step. |
Aaron Sherrick BV Commerce Toll-free 888-665-8637 - Int'l +1 717-220-0012 |
 1 user thanked Aaron for this useful post.
|
|
|
Rank: Member
Joined: 7/24/2018(UTC) Posts: 2
Thanks: 1 times
|
Thanks, Aaron. I appreciate the reply. Originally Posted by: Aaron  Unfortunately there is no way to do this as there is no plugin architecture for replacement tags, though this is something that we've discussed internally. Further, classes in App_Code are only accessible from the website project, not any of the compiled assemblies, like the Core.
As a customer, I'd like to see a continuation of these conversations, please. I've created and used custom tags for other non-order email templates using the BVC architecture and they've come in handy, so it would be nice to see it worked into the architecture in future releases. Housing the code within App_Code is fine. I'm only customizing order emails within one project, so that works for me. Originally Posted by: Aaron  You can absolutely create a custom workflow step to handle this, and that workflow step class can live in App_Code. The only real downside to this approach is that only the email that your workflow step uses can leverage your custom replacement tags (since the workflow step is where the replacement tags are processed). This might be fine for your situation, but just remember that any other order email that the system sends will have no knowledge of your custom replacement tags. Assuming that works for you I believe this is the best approach since it keeps your custom code isolated.
Some sample code you could review is in the /BVModules/Controls/ProductReviewDisplayInline.ascx.vb control. While this isn't a workflow step, the SendEmail function implements some custom replacement tags. You could do something similar in your workflow step.
The /BVModules/Controls/ProductReviewDisplayInline.ascx.vb is exactly what I had in mind, and utilizing custom replacement tags within App_Code is fine (again, it's only for one project). The only part that I can't figure out is how to implement a custom workflow step. There doesn't appear to be any documentation for it, although I did find this forum post: http://www.bvcommerce.co...oding-Customization.aspxDo these steps still apply in 2018 SP1?
|
|
|
|
Rank: Administration
Joined: 4/2/2004(UTC) Posts: 2,396 ![United States United States]() Location: Hummelstown, PA Thanks: 6 times Was thanked: 164 time(s) in 159 post(s)
|
Originally Posted by: nucoplus_adam  The /BVModules/Controls/ProductReviewDisplayInline.ascx.vb is exactly what I had in mind, and utilizing custom replacement tags within App_Code is fine (again, it's only for one project). The only part that I can't figure out is how to implement a custom workflow step. There doesn't appear to be any documentation for it, although I did find this forum post: http://www.bvcommerce.co...oding-Customization.aspxDo these steps still apply in 2018 SP1? Yes, this is still current. |
Aaron Sherrick BV Commerce Toll-free 888-665-8637 - Int'l +1 717-220-0012 |
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.