This is the P2PU Archive. If you want the current site, go to www.p2pu.org!

Introduction to Drupal

Week 6 - Workflows That Work and/or Workflow That Works for me

James R Stone's picture
Tue, 2010-11-02 17:48

What is your choice of version control?
I personally am using Git exclusively for my version control.  I set up a git repository in each of my local website directories, I also have a git repository set up in the folder that contains all of my website projects (I know, probably overkill).  Over the summer I was introduced to Git and Github and I have adapted to these tools quickly.  So far I have only two repositories hosted there but plan to host all of my work there as well for safety and backup reasons.
Migration from Web Enabled to local environment
I am using Beyond Compare and Navicat.
Working collaboratively
During the summer I was part of the Summer Learning Collaborative by Chacha Sikes called Drupal Open Source Project. I learned about git and important commands to work with github and other developers.  We used the Agile methodology called scrum for collaborating via Skype.  Set up our own development environments.  Shared ideas and code and experience with all of the things we were learning as we went along.
I work independently at this point, time off from a full-time job (not related) is allowing me to conceive, develop and enhance my skill as a freelance Drupal developer and consultant.  I have three full-time projects right now, two of them paying.
Backing up and maintenance best practices
I am using github for some of my code repositories and I will be expanding more in that direction.  I am regularly backing up my projects directory to an external hard drive (weekly) and I have an Amazon S3 account (it is surprisingly reasonable) for backing up my projects directory (daily) that I use.
Work environment & tools
For reference, here is the official Setting up a development environment.  I am busy with three production environments: testing upgrades, updates and modifications to them locally before I change anything on the servers.  I am learning Drupal 7 so that has its own directory (d7) and a couple of website projects inside of that directory.  I also regularly try out different modules in a couple of sample website projects inside of d6 (my Drupal 6 directory).  Downloading and installing a current d6 or d7 snapshot is esay as pie using gems, they were mentioned at drupal.org some time ago.  As easy as... drupal install core.
I use Komodo Edit (this is the lite version, not the complete IDE) for my project code, Navicat for connecting to and replicating my remote databases, Beyond Compare for syching my directories and files locally and remotely.
I have installed drush on all of my production websites (shared hosts) for the pure efficiency and ease of checking status, running updates, adding modules, enabling/disabling modules, and new commands that I am learning daily to make maintenance as effortless as possible.
In my /home/user directory I set up a projects directory:
/projects
    /d6
         sixteen drupal 6 installations, four of which are replicas of production environments, one is a feature server i am learning to use
    /d7
         two drupal 7 installations
    /temp
         a container for testing various php snippets
    /builds
         a container and test area for .build files
    /Site-Structure
         over the summer was a part of Drupal Open Garden Project a summer learning collaborative by Chacha Sikes, the project iteself
    /theming
         a container for various theming files and testing 

 

Comments

Here is a great recap I want

James R Stone's picture
James R Stone
Tue, 2010-11-02 22:15

Here is a great recap I want to share, from Victor Kane, about deploying content on an already existing site.