views:

14

answers:

0

I'm planning to make a white-label product that will be delivered to clients.

The product is developed using an MVC framework (CakePHP in particular), and the idea is to let the customer modify not only basic stuff like the CSS, but also the templates.

Now, templates, although they are "views", they still have some logic to them. Lots of looping over lists and doing stuff to show them differently based on data in those lists, mainly.

My concern is about updates. Like any software, we'd be sending out updates every now and then, fixing bugs and adding new features.

The question is how can I minimize the pain for the customer when doing these updates (assuming they'll download them and install them by themselves). I'm just talking about the View layer here, which is what they're supposed to modify. If they touch Models or Controllers, all bets are off.

Some obvious thoughts are:
- If the customer is technical enough to use a merge tool, this is not a big deal really.
- If we do the update installations ourselves and we include that cost in our maintenance fees, that's also not a big deal (although i'd love to not be the one having to do it).

But if you've had experience doing things like this (or working with systems that do and whose updates are installed by the clients themselves), I'd love to hear your thoughts on non-obvious things I could do to make things easier for everyone.

UPDATE: Hosting the code ourselves is NOT an option, for good business reasons that I can't work around. Clients will have their own copy of our PHP website running in their own servers.