There is not much of a lesson here (although I do propose a very practical business use for this a little later on) other than it is something I wanted to do to show the flexibility of the platform (and because I am now doing the cooking in the house and wanted a way to ask “If I have ingredient ‘x’, what can I cook”). As usual, everything I have done here I have done without code and all up has only taken a few hours at the keyboard while watching TV.
Pretty simple stuff, although I will likely extend it as time goes on.
Essentially, we have a recipe with ingredients. These ingredients are basically a food item with a measure e.g. 1 teaspoon of vanilla essence. A recipe also has equipment used to make it.
The Screens: Recipe
Not much to report here. I added the grids to the form to make data entry easier and at the bottom I added a multi-line text box to store the instructions.
The Screens: Ingredients
The complication here is I did not need the default text attribute. To get around this I added a new section, made it hidden by default, made the default field non-compulsory and set up a workflow to populate it when the record is created or when the Measure or Food Item fields change.
“To Serve” marks if the ingredient is a garnish or not a key component of the recipe.
The Screens: Food Items and Equipment
Again, simple stuff.
One thing, which is always a hassle when putting together recipes is the shopping. Thanks to the Reporting Wizard, I can now select the recipes I am cooking for the week and generate a list of ingredients to check against the pantry and work out what I need.
I added in the Serves column because different recipes serve different numbers of people. I could have scaled the recipes to a common unit or split out the numerical component of the Measure field and done something clever by feeding it the number of people I am cooking for and scaling the values with code but this requires effort so I have left it as an exercise for the keen. For now, to use as a list to check what I need, it does the job.
Using Mobile Express, I can also access all of my recipes on my IFD-enabled or Online version of CRM anywhere. Very useful for clarifying whether a recipe needed dried or fresh herbs, for example.
Other things I have thought of but not implemented are:
- Adding Calorie information to the Food Items (and then bringing this down to the Ingredients and rolling it up to the Recipe to get the total Calories in the meal)
- Linking Food Items to each other to record substitutes (or possibly using Connections)
- Adding matching wines to the recipes
- Incorporating Food Pairing to create completely new recipes
Using CRM For Socialisation
While this and the two games I previously put together are a bit of fun, there is a way you could use this for business in fostering a collaborative culture. The recipe configurations could easily be incorporated into a production CRM system. Why would you do this? To bring people together. A recipe database is something people can contribute to for the fun of it and give them an opportunity to discuss cooking tips in the office.
The rule could be all new starters must add a recipe to CRM. This gives them an opportunity to learn the system as well as letting others in the team know a little bit about them. Maybe it could form the basis of an office cook-off.
Alternatively, perhaps your team are keen gamers or movie buffs. If so, why not add a review section to the CRM system. Maybe you want to add a swap-meet section so people can sell old items through the corporate CRM system and deliver them through internal mail in the name of bringing people together.
The Dynamics CRM platform is very flexible and allows us to store organised information for practically any purpose with little, if any, coding. While a recipe database may not the obvious choice for an enterprise CRM system, it is easy to implement and provides a reason for people to come together through something other than the daily grind. However, if recipes are not your thing, try something else. The only limit is your imagination and the courage to do something different for the greater good.