• Toll-free  888-665-8637
  • International  +1 717-220-0012
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Steve95
#1 Posted : Wednesday, October 21, 2015 11:34:13 AM(UTC)
Steve95

Rank: Member

Joined: 4/29/2010(UTC)
Posts: 256

Thanks: 4 times
Was thanked: 11 time(s) in 10 post(s)
Just wondering if anyone had extended the Workflow functionality to expand upon the existing Product, Order, and Shipping etc. If so what was the best way of expanding upon the BVSoftware.Bvc5.Core.BusinessRules.AvailableTasks? I would like to be able to create a workflow for authentication for example.

I was hoping not to modify the core so I can only think of inheriting from BVSoftware.Bvc5.Core.BusinessRules.AvailableTasks and then referencing my own project within the TaskLoader.vb to reference a custom collection.

Any thoughts would be appreciated.
Aaron
#2 Posted : Wednesday, October 21, 2015 12:40:30 PM(UTC)
Aaron

Rank: Administration

Joined: 4/2/2004(UTC)
Posts: 2,393
United States
Location: Hummelstown, PA

Thanks: 6 times
Was thanked: 163 time(s) in 158 post(s)
Good question! What you describe makes sense. Extending workflows is a good idea and something that we've considered but never really given it much thought. Can you describe what you're trying to do with authentication? What other workflow 'tasks' would you like to see?
Aaron Sherrick
BV Commerce
Toll-free 888-665-8637 - Int'l +1 717-220-0012
Steve95
#3 Posted : Thursday, October 22, 2015 2:10:01 AM(UTC)
Steve95

Rank: Member

Joined: 4/29/2010(UTC)
Posts: 256

Thanks: 4 times
Was thanked: 11 time(s) in 10 post(s)
Aaron

Currently I am adding functionality which will create an account in a 3rd party application (to BV) upon creation of a bv user an account. Now I appreciate this is an edge case as far as the bv goes but you may want to enable some form of workflow for a variety of reasons (these are just off the top of my head).

• Authentication email address validation
• Affiliates services
• Mailing list Signup workflow email confirmation.
• Offers – feed data into a 3rd party marketing system
• Inventory – when low stock contact an ERP rest service and schedule the BOM/Product for re-order.

- Edit inshort anything where you are ammending or creating an entity within bv.

If you were to extend the workflow functionality it may be worth looking at the generics route. You could have a BVSoftware.Bvc5.Core.BusinessRules.AvailableTasks.CustomTasks which would hold a collection of custom tasks. As long as that is generic you could then derive your own Task Context whilst inheriting from BusinessRules.Task. With this as an option you could create a workflow for any given scenario of your choosing.

This would also have the advantage of allowing a variety of complex objects all strongly typed via their context.

Edited by user Thursday, October 22, 2015 2:11:50 AM(UTC)  | Reason: Not specified

Steve95
#4 Posted : Thursday, October 22, 2015 5:29:20 AM(UTC)
Steve95

Rank: Member

Joined: 4/29/2010(UTC)
Posts: 256

Thanks: 4 times
Was thanked: 11 time(s) in 10 post(s)
Just to let you know my original idea of creating a new workflow type without modifying the core might have been defeated by the Private Function FindAvailableTask(ByVal taskId As String) As Task function in workflow.

As its none overidable and utilises WorkflowType and therefore it will not locate any AvailableTasks outside of Product, Order or Shipping.

Aaron
#5 Posted : Sunday, October 25, 2015 7:26:24 AM(UTC)
Aaron

Rank: Administration

Joined: 4/2/2004(UTC)
Posts: 2,393
United States
Location: Hummelstown, PA

Thanks: 6 times
Was thanked: 163 time(s) in 158 post(s)
Thanks for the feedback, Steve! I really appreciate it. I agree that there could conceivably be a workflow for almost everything, but I don't think that would be practical (for numerous reasons). I wonder if creating an event model would make more sense. Then pieces of code could be plugged in by handling the appropriate event(s). I think workflows still have their place, but I wonder if they would be better used for handling 'big' events (e.g. order placed). A workflow could actually be kicked off by an event handler so I suppose that would give you the flexibility to create a workflow at any point that an event exists. Clearly I haven't given this a ton of thought so I'm just spit balling here...
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.

©2024 Develisys. All rights reserved.
  • Toll-free  888-665-8637
  • International  +1 717-220-0012