Thanks for having this episode up! I am wondering, what could be the drawbacks of using engines for leave and attendance modules in HR application? Is that the right approach to start with in the first place?
One of the drawbacks is the added complexity of having an engine. If your main app is really complicated and has a lot of dependencies, it might be worth scripting a task to copy and modify the main app into the dummy app. Another drawback that I found a few years ago were that the ActionMailer Previews for the engine had to be within the main application. It was an annoyance, but got by with it.
Depending on the size of your HR application, it might be a good thing to separate the TLM (Time & Labor Management) stuff. If you added an onboarding module as well, you could make this into an engine as well.
Basically, If there is a group of users who would not have the need for a particular grouping of features, because they are either an additional cost or premium feature, then I would build this kind of functionality into a separate engine.
Thanks for having this episode up! I am wondering, what could be the drawbacks of using engines for leave and attendance modules in HR application? Is that the right approach to start with in the first place?
One of the drawbacks is the added complexity of having an engine. If your main app is really complicated and has a lot of dependencies, it might be worth scripting a task to copy and modify the main app into the dummy app. Another drawback that I found a few years ago were that the ActionMailer Previews for the engine had to be within the main application. It was an annoyance, but got by with it.
Depending on the size of your HR application, it might be a good thing to separate the TLM (Time & Labor Management) stuff. If you added an onboarding module as well, you could make this into an engine as well.
Basically, If there is a group of users who would not have the need for a particular grouping of features, because they are either an additional cost or premium feature, then I would build this kind of functionality into a separate engine.