I am creating a SuiteCRM 7.2.3 module to support a large civic event held annually in my city. The name of the event is CFWC.
This event consists of several sub-events, called things like “Rising Stars”, “Saturday Day Market”, and “Friday Grand Tasting”, all under the umbrella of CFWC 2015.
I am wondering what the best practice would be for setting the events & sub-events up in SuiteCRM.
I’ve currently got an Event called “CFWC 2015” and everyone that is participating in any sub-event(s) is listed under that, but I’d like a way to have each of the sub-events be an individual Event. But I cannot figure out how to “unify” all the Events under a specific year (so I can search for only 2015 Events and not receive results for 2014 Events).
I’d thought about adding an “Event Year” field to the Event module, but I am not sure how to relate to that from the other modules (including my custom modules), or if that is the best way to approach it. Ideally, I’d be able to search for “Event Year” from my custom module to show everyone who is participating in that year’s events.
–Rising Stars 2015
–Friday Grand Tasting 2015
–Saturday Day Market 2015
–Rising Stars 2014
–Friday Grand Tasting 2014
–Saturday Day Market 2014
Can anyone offer any advice? I’d appreciate it… I think I am capable of implementing the best-practice. I am just not sure what that best-practice is!
I am thinking that I will create custom Event modules for each of the different event types (“Rising Star”, etc.) and create a “glue” module that contains an Event Year field and relates all the custom event modules to that Event Year.
That way, each of the different Events, which are all slightly different in what they require, can have their own layouts and field-sets. They will all be related to the “glue” module as one-to-many relationships (right?) – each “glue” module can have many relationships.
I think I’ll be able to see EVERYTHING happening each event year by searching just on the “glue” module’s “Event Year” field. I’ll be able to see the participants in each event type (“Rising Star”, etc.) by selecting that Event module. I’ll be able to go to Contact or Account and see their related Events…
It really depends on how you want to use the data. You could use a model similar to Product Categories where one Category can be a parent to another, or you could have a separate module which handled each year. Personally I think you were going down the right track with adding a field which fills the year, I would then generate reports based on that field/sort my list views on that field.
If you were to create a separate module you could have it relate to events and also to the individuals, then when an event is related to the parent module have a Logic Hook which also relates all individuals. The thing to think about is how you want the workflow to look and how you need the data represented/accessed.
Sorry I can’t be more helpful but it is hard to know the best solution without the how or why of what you would like to do with the records.
Due to the nature of a relationship with itself, each Event can be
a Child to a Parent Event
a Parent to other Child Events
I think that’s the cause that Events is listed 2 times.
You might want to try to change the label in your relationship setup for your related module to something like “Child Events”. The Reports editor might display this label so you can see what relationship represents the child role, and what relationship represents the parent role.
For example, I have an Event called “CFWC 2015” (which is the parent Event, containing that year’s sub-events).
Then I have Sub-Events, like:
Rising Star Brunch 2015
EatWise Kitchen 2015
Each of the sub-events are related to the parent Event. The sub-events each require different fields to collect information relevant to that specific event. “Rising Star” has (some) different fields than “Demo”, for example.
I’m thinking of modifying the Event entity with tabs for each Sub-Event type (so if the user is recording information about Demo, they would click the “Demo” tab in the Event entity), but is there a better way to solve this so I can collect appropriate information about each Event?
I think creating Tabs inside the Event entity for each Type of Event (Demo, Grand Tasting, Competition, etc.) and containing within those Tabs the information specific to the Event Type is the route I will explore.