I had an interesting chat with the guys from Sponge today over whether the bespoke folder was working and you could use it. The answer was 'no' and that was simply because we haven't adjusted the Gruntfile to respond to it as we haven't needed any bespoke work done to the core.
This was then followed by a conversation as to whether we actually need a bespoke folder?
At Kineo we use the bespoke folder for customisations - changes to a theme, small bespoke components or plugins and even core overrides.
With the open source version of Adapt we decided upon going with a plugin architecture that enables plugins to tap into events fired off by the core, components or extensions.
One place I can see the bespoke folder being used is when a core event is not available in that current version of Adapt. So a file could overwrite a core model or view giving that event as an available hook.
However this could be built as a plugin. Talking to Sponge and going over a few other situations with them, we questioned whether a bespoke folder is the right thing to do.
The bespoke folder offers a way to overwrite files. Is this something we want or should we be giving these code changes their own issues list and commit history by having them act as extensions.
Maybe we want to change a little template in the graphic component (move the graphic above the text). This could be achieved by either creating a new component. This means it gets it's own git repo and people can track issues, helps the open source project by pushing these out as plugins so other people can use them or if you're not technically minded you could make an issue on the existing plugin (would be a json setting attribute).
Could the bespoke folder become a dumping ground? Could we lose valuable core changes by putting it in a bespoke folder and not raising this as an issue?
Does the bespoke folder become a place where we put our quick fixes? Working on projects can have a situation where you pressure code and quick fixes are the only way. I remember taking something away from the initial meeting in Derry where Ryan mentioned something along the lines of - "I don't see us using the bespoke folder as we would develop them in a sufficiently generic way that we could configure them in content or adjust them using themes. If a component requires so significant a modification that we'd use the bespoke folder then we'd create a custom component to perform that function."
The bespoke folder can also have an affect on the page load and how much we download. If we have core files and then some other files overwriting these do we download all of these? Or do we check over the bespoke folder and swap out the files?
A little note about themes too. If you change a theme, does that become a new theme?
Would be great to here what people think. Especially on how they would see the bespoke folder being used.
Thanks,
Daryl