However, some features are trickier to deal with, such as adding new
attributes to events (e.g. age requirement). The easiest way to add
this would be to just alter the Rails app, but this has serious
downsides of creating a fork that will make it harder to merge changes
between our repositories. In an ideal world, one could add some kind
of setting or a small customization script that injects this
functionality. For example, a new field in settings that might look
like:
event_attributes_add:
age:
label: "Age requirement"
kind: select
value:
- "All ages"
- "18 and over"
- "21 and over"
Obviously adding the ability to do this would take some effort, but
it'd make it easier for people to add their custom fields and have the
code for this live entirely in their theme, rather than altering the
Rails app itself.
That's exactly what I was thinking of doing.
> However, some features are trickier to deal with, such as adding new
> attributes to events (e.g. age requirement). The easiest way to add
> this would be to just alter the Rails app, but this has serious
> downsides of creating a fork that will make it harder to merge changes
> between our repositories. In an ideal world, one could add some kind
> of setting or a small customization script that injects this
> functionality. For example, a new field in settings that might look
> like:
>
> event_attributes_add:
> age:
> label: "Age requirement"
> kind: select
> value:
> - "All ages"
> - "18 and over"
> - "21 and over"
>
> Obviously adding the ability to do this would take some effort, but
> it'd make it easier for people to add their custom fields and have the
> code for this live entirely in their theme, rather than altering the
> Rails app itself.
I agree that avoiding doing a major fork of the code is something I'm
trying to avoid. I don't have a lot of time to maintain the site so
anything that makes it easier is good. I like the idea you have.
Unfortunately I probably won't have time to work on this and its not
that urgent I think. Maybe we can iron out the details at the next
code sprint. But I also realize everything is busy with osbridge!
Thanks for the input!