hi, I've started developing websites with rails about 3 months ago,
and now I need to work with for people at the same project.
How can I do that?
first, I can't allow access of the entire code to everyone for security purpose;
second, it seems to me that rails works in a very coupled way, I don't
understand how I would be able to split the project in parts so I can
delegate one part to each member of the team.
if anyone can help me with any tips or website that explains how I can
work in groups I apreciate it.
hi, I've started developing websites with rails about 3 months ago,
and now I need to work with for people at the same project.
How can I do that?
first, I can't allow access of the entire code to everyone for security purpose;
second, it seems to me that rails works in a very coupled way, I don't
understand how I would be able to split the project in parts so I can
delegate one part to each member of the team.
if anyone can help me with any tips or website that explains how I can
work in groups I apreciate it.
At the risk of sounding unhelpful, start by finding people you trust.
If it's write access that is problematic, you could have them work on
a fork of your project and pull changes from them when you're happy
with them (similar to how a lot of open source projects work)
hi, I’ve started developing websites with rails about 3 months ago,
and now I need to work with for people at the same project.
How can I do that?
first, I can’t allow access of the entire code to everyone for security purpose;
second, it seems to me that rails works in a very coupled way, I don’t
understand how I would be able to split the project in parts so I can
delegate one part to each member of the team.
if anyone can help me with any tips or website that explains how I can
work in groups I apreciate it.
At the risk of sounding unhelpful, start by finding people you trust.
If it’s write access that is problematic, you could have them work on
a fork of your project and pull changes from them when you’re happy
with them (similar to how a lot of open source projects work)
As well, even if you did give write access to the main repo, github allows you to easily see all changes made and you would have control to revert anything which is ‘bad’. As well, I am sure you are – make sure everyone is writing tests and no commits are made if a test is not passing. I think you will have an easier way of keeping in sync this way, assuming the others in the group are committing (and needing to pull) regularly.
I think the idea of splitting a rails project is problematic from the standpoint of dev’s being able to operate their environments as well as to regression test. I guess you could ask for classes and tests for them on an individual basis but that just seems impractical. End of day if you dont have trust in your devs, maybe you need to find others, or revise your policies… as well NDA’s are an option too if that is your concern.
It is possible to break up a Rails app (e.g. push bits of functionality out to gems/engines/etc.) but unless those bits of functionality are genuinely self-contained and well-defined then it's likely to be a hassle, and/or you'll end up having to do a bunch of speculative architecture design up-front. I would seriously consider whether it is worth this extra burden.
There was a similar thread on this topic a few months ago:
Thank you everyone, and that link helped me with git.
Well, setting aside the code access concern, the other thing I wanted to know is how to work in a team with rails, and I mean, how should I split my project?
For example, one member will do the Controllers, other will do the Models, other will do the Views, one for Mailers, and one for Tests.
That is probably a wrong example, so thats what I need to know, how to explicitly split parts of my project for each one to work on. It seems to me that rails is like a one way straight coding, you can’t work on one part of the code without completing all the others that should come before.
I don’t know if I was very clear, so please give me some feedback if I wasn’t. If I was, thought, please give me answers =)
Thank you guys.
Ps.: Ruby (or Rails) community is awesome, every single question I’ve made was answered.
Thank you everyone, and that link helped me with git.
Well, setting aside the code access concern, the other thing I wanted to
know is how to work in a team with rails, and I mean, how should I split my
project?
For example, one member will do the Controllers, other will do the Models,
other will do the Views, one for Mailers, and one for Tests.
That sounds really wrong to me. Splitting along vertical slices of
functionality is normally how I do things
This is one way to partition application functionality, where you add specific models + controllers + views as one mountable engine into a gem, which can be developed independently. So you could have one for accounting, one for sales management, one for production planning or whatever your poison is. You might also want to look into SOD (service oriented design), there is a good book about it here: http://www.amazon.com/Service-Oriented-Design-Rails-Addison-Wesley-Professional/dp/0321659368
In any case, and please take don’t take that in a negative way: I think you are over-complicating things unnecessarily. Adding security requirements in a workflow is necessary when you work for the DoD, but in 99.9% of the cases it is just a huge waste of time and makes your project a magnitude riskier. Don’t worry about people stealing your code, worry about finding and making customers happy. It is much much harder than any coding you will ever encounter in your life.