Goldlilys Media

San Diego Web Design and Development Company

Basic Theming and Development Process

To make web development and design as productive as possible, I've learned ways throughout my career to make these process efficient by using tools to make life simpler. Anyone who has ever tried something new and challenging can get intimidated by the amount of new concepts and ways of thinking that needs to be memorized. However, the more you do them, the more they become repetitive and will be part of you instinctively. The clutter of new ideas presented needs to be filtered down to the smallest # of tools that can make theming and development practical and save time.

  1. Very important tool is to develop websites locally first using MAMP for Mac or WAMP for Windows.

    • Both have phpMyAdmin included where you can setup a database for Drupal and WordPress.
    • Make sure to include the url to your project in the hosts file: /etc/hosts for MAC or c:\WINDOWS\system32\drivers\etc\hosts for Windows.
    • Configure httpd.conf and to include the path to your projects:

      <VirtualHost *:80>
          ServerName project.local
          DocumentRoot /Users/<path to project>/project
          <Directory /Users/<path to project>/project>
                  Options Indexes FollowSymLinks
                  AllowOverride All
          </Directory>
      </VirtualHost>

      <VirtualHost *:80>
          ServerName project2.local
          DocumentRoot /Users/<path to project>/project2
      </VirtualHost>

  2. Theme your projects with Dreamweaver or do both theming and development in Eclipse, an open source editor tool for developers.
    • Recommend using Indigo for Javascript Developers version of Eclipse and install the "PHP Development Tools (PDT) SDK Feature" to develop PHP sites.
    • Customize perspective to include the windows that you mostly use to theme and develop websites. Remove the unused ones. Save perspective.
    • Download free addons including GIT or SVN support. Can also download Aptana plugin to develop javascript applications. Indigo version is also recommended so that EGit can be installed for Eclipse because its newest version does not install correctly for Helios.
    • Whichever version you choose, Eclipse can do just about everything. Downside, make sure your computer has enough memory and resources to run all the new addons you included. Or basically, only include the ones you need for development.
  3. To make adding and updating Drupal simpler, install Drush.
    • Drush is a command line tool that will make downloading, installing and updating modules for Drupal similar or faster than updating plugins for WordPress.
    • Of course, some may take awhile getting used to command line to begin with. But after you've used Drush so many times, you'll start to wonder what's all the complaints about in updating modules for Drupal?
  4. As easy as it may sound, WordPress simply works with MAMP when updating plugins locally. However, I have come across permission issues trying to make updates for WordPress through the interface in my development server. Make sure the entire plugins directory is readable and writable by WordPress in your server to fix this problem.
  5. Once the projects are ready to launch, if you have a team of developers, use GIT or SVN. Or via FTP, Filezilla is the best way to transfer your files.

For now, these are my suggestions for tools to use while developing websites if you are a developer. If you are a client, these are some of the basic process that I use to develop websites. Of course, this doesn't include the actual development and theming work. Those will be covered in other posts. 

Blog Category: Web Tools: Services:

Grow Your Business!

Want more business insights and website improvement tips ?

Contact

619.265.6389
Address:

Hera Hub Mission Valley
8885 Rio San Diego Drive, Suite 237
San Diego, CA 92108

Hera Hub Sorrento Valley
4010 Sorrento Valley Blvd, Suite 400
San Diego, CA 92121

Office Hours:

Monday - Friday 10am - 5pm

For a consultation, schedule an appointment.