Then a year ago, I found myself having a couple of weeks of free time between two jobs and I decided to give it a go. I sat in a café with my laptop for the next couple of weeks, and after a lot of coding and coffee drinking I released the alpha version of Epinova.CRMFramework.
So what was so wrong with the other frameworks out there? The main problem was that none of them were as generic as I needed them to be. You could only work with standard CRM entities, and as soon as you needed a custom entity you would have to make a hack in order to do this. The ones that supported both standard and custom entities were not able to retrieve many-to-many relationships or required extreme amounts of configuration in order to do this.
I set myself a list of goals, the framework would be
- generic and developer friendly
- able to do all necessary operations (create, read, update, delete) on all types of entities (standard and custom)
- able to retrieve one-to-one, one-to-many and many-to-many relationships between entities.
- easy to configure, the amount of configuration should be kept at a minumum.
A year later, the framework has been thoroughly tested and I have fulfilled these goals. It has been used by a large customer for half a year and they haven’t run into any problems so far. I plan on keeping it that way!
You can download Epinova.CRMFramework and read the documentation on codeplex.
Now that version 1 is out, it’s time to plan the next version. I’ve received a lot of questions regarding support for Microsoft Dynamics 2011, and this is my main goal for version 2. I also know that a lot of people want a membership provider to be included in the framework, but I’ll have to give this some thought.
I’ll keep you posted when I’ve thought my plans through! For now, enjoy my framework and let me know if you have any questions :) I’m getting myself a coffee to celebrate!