Overview
If you are using the old workflow, you need to the following prior to enabling Generic Workflow:
- Collect customization details
- Configure payment plugins
- Configure Generic Workflow
- Enable new configuration
You will find a more detailed description of what needs to be done below. Feel free to contact our support at [email protected] if you need help with anything in these steps.
Collect customization details
The first thing you need to do is to query the database and see if you have any customization plugins enabled. Execute this query:
SELECT * FROM AtomiaBilling.dbo.plugin WHERE name LIKE '%CustomEventHandler%';
If the query return rows you should be aware of that the functionallity that exists in the customization will be disabled when you enable the Generic Workflow.
Configure payment plugins
Your current payment gateway configurations has to be transferred into a new location within the database. The existing configuration files is located in the AtomiaBilling folder. Follow the instructions under the Payment Plugin configuration section to transform your current settings into the new format.
Configure Generic Workflow
Next step in the migration process is to configure the Generic Workflow. A detailed description of all configuration options can be found under the Generic Workflow configuration section of this document.
Enable new configuration
You should now have configured everything that is needed for your workflow. The final step is to execute a set of SQL queries that disables the old configuration and enables the configuration that was inserted in the previous steps.
Disable old configuration
UPDATE AtomiaBilling.dbo.plugin SET enabled = 0 WHERE full_class_name like 'Atomia.Billing.Plugins.Demo%'
Enable Generic Workflow configuration
UPDATE AtomiaBilling.dbo.plugin SET enabled = 1 WHERE full_class_name like 'Atomia.Billing.Plugins.Generic%'
Fix schedulde tasks
DELETE FROM AtomiaBilling.dbo.scheduled_tasks WHERE class_name LIKE 'Atomia.Billing.Plugins.Demo.ScheduledTasks.DomainRenewalSmsScheduledEventHandler%'
UPDATE AtomiaBilling.dbo.scheduled_tasks SET class_name = 'Atomia.Billing.Plugins.GenericWorkflowPlugin.ScheduledTasks.InvoiceReminderScheduledEventHandler, Atomia.Billing.Plugins.GenericWorkflowPlugin', name = 'InvoiceReminderScheduledEventHandler' WHERE class_name = 'Atomia.Billing.Plugins.Demo.ScheduledTasks.InvoiceReminderScheduledEventHandler, Atomia.Billing.Plugins.Demo'
UPDATE AtomiaBilling.dbo.scheduled_tasks SET class_name = 'Atomia.Billing.Plugins.GenericWorkflowPlugin.ScheduledTasks.SubscriptionRenewalScheduledEventHandler, Atomia.Billing.Plugins.GenericWorkflowPlugin', name = 'SubscriptionRenewalScheduledEventHandler' WHERE class_name = 'Atomia.Billing.Plugins.Demo.ScheduledTasks.SubscriptionRenewalScheduledEventHandler, Atomia.Billing.Plugins.Demo'
UPDATE AtomiaBilling.dbo.scheduled_tasks SET class_name = 'Atomia.Billing.Plugins.GenericWorkflowPlugin.ScheduledTasks.RenewalHeadsUpNotificationScheduledEventHandler, Atomia.Billing.Plugins.GenericWorkflowPlugin', name = 'RenewalHeadsUpNotificationScheduledEventHandler' WHERE class_name = 'Atomia.Billing.Plugins.Demo.ScheduledTasks.DomainRenewalNotificationScheduledEventHandler, Atomia.Billing.Plugins.Demo'
UPDATE AtomiaBilling.dbo.scheduled_tasks SET class_name = 'Atomia.Billing.Plugins.GenericWorkflowPlugin.ScheduledTasks.TransferInNotificationScheduledEventHandler, Atomia.Billing.Plugins.GenericWorkflowPlugin', name = 'TransferInNotificationScheduledEventHandler' WHERE class_name = 'Atomia.Billing.Plugins.Demo.ScheduledTasks.DomainTransferNotificationScheduledEventHandler, Atomia.Billing.Plugins.Demo'