Nie wiem jak za bardzo zatytułować tego posta, ani nawet jak googlać za tematem.
Załóżmy, że mam coś na wzór CMSa napisane w Railsach. I teraz chciałbym to wdrażać (najlepiej przy użyciu capistrano) do wielu katalogów na moim jednym serwerze. Sęk w tym, że dla każdego katalogu będzie inna zawartość app/view/layout jak i config/database.yml (config/deploy.rb pewnie też). Co więcej layouty powinny być wersjonowane niezależnie od aplikacji bazowej i powinna być możliwość hurtowego upgradowania “bazy”.
Sevos, zaciekawił mnie Twój temat. Sam jakiś czas temu zacząłem sobie bez zobowiązać myśleć nad czymś podobnym. Znalazłeś w sieci jakieś materiały na ten temat?
Standardowa procedura, to przerobić to na gem-a, który będzie pluginem railsowym. Dodać w configu dependency do tego gema i aktualizować go centralnie (bo rozumiem, że chcesz wszystko aktualizować “na raz”). W pluginie w zasadzie możesz mieć co chcesz (widoki, modele, kontrolery). No chyba, że potrzebujesz czegoś więcej…
Rzuć np. okiem na Comatose - jest to plugin (nie gem), który jest właśnie CMS-em.
Uwaga: nie jestem pewien czy to najlepsze rozwiązanie, ale wydaje mi się, że powinno działać.
EDIT:
To nad czym trzeba jeszcze pomyśleć, to migracje. Ale ponieważ w pluginach mogą być taski Rake’a, to myślę, że jakoś też można to rozwiązać.