Open source support system architecture (ROR) query

33 views
Skip to first unread message

Vivek Sampara

unread,
Sep 6, 2014, 8:11:31 AM9/6/14
to rubyonra...@googlegroups.com
Hi guys, 

Intro - Me and a few members have developed a self hosted support system on rails 4 and we are building more features around it so that projects can easily adapt it. 

Problem - Customizing the project for another client without effecting the core project. 

What we're trying to do - 

1. Support Project will have features added by a couple of members in our team regularly. 
2. MyCustomSupportProject is a fork of SupportProject. 
3. We want to pull in SupportProject new features into MyCustomSupportProject and still have MyCustomSupportProject features being added without conflicting with SupportProject features. 

Is there a way to handle a situation without using rails engine / gem? 

Any recommendations to handle a situation like this in a clean way ? 

Thanks
Vivek sampara

Timothy Mukaibo

unread,
Sep 6, 2014, 9:26:14 PM9/6/14
to rubyonra...@googlegroups.com
You have removed the two options that would allow you to do this. Why can't you make SupportProject a Rails engine, or break out some of it's functionality into Gems?



--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/67b977e7-6692-4c3a-bc03-461f9a18d87a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Allen Maxwell

unread,
Sep 7, 2014, 10:15:26 AM9/7/14
to rubyonra...@googlegroups.com
A rails engine is how I'd do it myself but if that's off the table, the only way I see that could remotely (and poorly) work would be to manage the work in git branches somehow.  

you'd have to be very careful and it's a bad idea - but could be possible.

have a core branch of code and a set of production branches... when the core changes you can merge it over the production branches.  just don't ever merge the production branches over the core... lol

it's a bad idea... use an engine - they work nicely and aren't very hard to do

Jason Fleetwood-Boldt

unread,
Sep 7, 2014, 4:42:23 PM9/7/14
to rubyonra...@googlegroups.com
Sounds to me like a gem that represents some of your core domain logic, being developed by a singular or group of teams (and possibly being forked for development by multiple teams as you say) is a great solution to your problem.

Why don't you want to use a gem? 
-Jason



Vivek Sampara

unread,
Sep 8, 2014, 2:44:04 AM9/8/14
to rubyonra...@googlegroups.com
I think I'm convinced to go via rails engine as doing via git branches makes it difficult to manage later on ( as Allen suggested ) but as the SupportSystem is already half way through, Can i turn that app into rails engine using any scripts/tools without having to create a new project and move the code over. We're planning to follow this


Thanks 
Reply all
Reply to author
Forward
0 new messages