Good news everyone: a customer wants to license our Rails-based app!
(Maybe we’ll be able to afford something fancier than ramen noodle for
dinner!!!) The bad news is that they want a custom logo, custom color
scheme and “a few tweaks here and there”.
What are the established techniques for managing “a few tweaks here and
there”?
Creating branch in git seems like it will do almost everything
necessary. The only complication I see is that we’ll have to
back-merge enhancements and bug fixes in the main branch, but that would
be true for any approach.
Simply stated: is there a compelling reason NOT to use git for creating
multiple ‘skins’?
can you write a skin loader instead? And use the fact that css was
created
to solve this problem?
A few tweaks can become a nightmare to manage if your not familar with
designing product lines.
On Aug 30, 2011 4:41 PM, “Fearless F.” [email protected] wrote:
back-merge enhancements and bug fixes in the main branch, but that would
You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
I would decide what customizations you are willing to support or not
support. For the ones that you want to support, create a separate git
and provide your customization gem/plugin there. In terms of skinning,
this will be fairly easy. You could supply options for using different
layout files which could include how the page displays, the CSS used,
etc.
Alpha B. wrote in post #1019380:
I would decide what customizations you are willing to support or not
support.
Life would be lovely if that were up to me. But the person with the
checkbook gets to make that decision. (Of course, I can charge more for
some customizations…)
For the ones that you want to support, create a separate git
and provide your customization gem/plugin there. In terms of skinning,
this will be fairly easy. You could supply options for using different
layout files which could include how the page displays, the CSS used,
etc.
That’s what I had in mind: swapping in different CSS files under git
control is straightforward. Swapping in different views isn’t much
harder. Mercifully, the customer has not requested any ‘tweaks’ that
would require changes to the models or schema – that could quickly
become a real PITA.
@Curtis S.: The customer is asking for more than just changes to
the CSS – he wants different content and some additional views. And I
agree that this could become a nightmare – I plan to maintain a bill of
materials, SKUs and ECOs for each variant of the app. That should help
some.
@Curtis S.: The customer is asking for more than just changes to
the CSS – he wants different content and some additional views. And I
agree that this could become a nightmare – I plan to maintain a bill of
materials, SKUs and ECOs for each variant of the app. That should help
some.
that will help you recoup costs - it will not help you maintain and
scale
your codebase - you are going to create yourself a nightmare the
direction
you are heading.
I know it seems like Git can do this - but this is not what Git is for
this
is what software is for - skip to making new and
original mistakes - don’t make the obviously avoidable ones.
As far as running a biz around this :
As far as software patterns:
Check out the work on ‘feature flags’
http://code.flickr.com/blog/2009/12/02/flipping-out/
http://napkin.highgroove.com/articles/2011/08/22/introducing-setler-for-feature-flags