Forum Moderators: phranque
I have been developing in Zope for a few years, and decided to try and switch to Java or PHP, however Zope has a very different model for managing code on a site (i.e. the scripts and resources are all stored in a virtual filesystem, and accessed via the web)
I was wondering what others out there feel are the "Best Practices" for managing development of a java or php website?
For example:
Do you use CVS to manage everything? How are uploads to the production server handled? Do you use staging servers, database replication, etc...? Is your design team trained in the use of source code versioning?
-rt
well, in my personal environments I do whatever I feel like at the time ;)
for a team environment, we use dev/qa/live sets of web servers and db servers plus a few extra dev boxes for breaking the os on. We use CVS on dev, we check out to qa and then qa to live is a whole other process. We use all kinds of shell scripts we created to move from server to server and do replication and such.
All the programmers are familiar with cvs and versioning but we keep one person in charge of it, well 2, 1 programmer and 1 admin.
This whole thing works for us but it took us a long time to streamline this process and find what worked for us and our particular environment.
At what point in that chain do your designers get involved?
One problem we're having is how to integrate the designers into the picture. As a site becomes more and more dependent on code to render properly, the designers need to be able to "run" the site project to see the final HTML. With our java based efforts, that became a problem since our designer couldn't build and run the app. And due to the way we structured the .war, if she made any changes, a new upload by one of the programmers would blow away her changes.
What we're considering doing is keeping the site templates outside of the code project completely and managing them separately. That way the site's code is basically an engine, and the templates are just a skin that operates over the engine.
-rt
in the past I have worked with artists, not designers, and our artists created very complex photoshop and illustrator docs that they supplied to the html'ers then the coders went from there.
It has been very different for all the projects i have worked with. Some had systems in place when I started, some didn't so I helped create systems. All of my projects have been php and some perl. The designers can see what they need to through a browser, makes life easy. For a compiled/built environment it becomes a little murkier.
The system you are thinking of seems to make sense, I am not sure how else you would do it. The engine approach sounds smart, though who knows, things never seem to work out how you expect the first time when multiple people are involved.
Thanks for all the info!
-rt