Developing the website for the Wallace Deer Management Association
22 May 2009 - Dave
So here are the first steps…
- Register wallacedeermanagement.com
- Setup web hosting on DreamHost.
- Create a couple static web pages to give visitors something to see.
ASP
- I’m most familiar with Microsoft’s Active Server Pages for data driven websites. I have created dozens of internal ASP web apps using both the legacy ASP and the newer ASP.net frameworks.
- The shared web hosting plan is not using Microsoft technology though.
- Over the last few years most of my programming has been in Python. Python is a very productive language to work in so I looked at web frameworks using Python. Django is a web framework like Ruby on Rails – but using Python.
- Most of my Python programming was system administration. The only web related stuff was just kicking the tires with the Python technologies.
- Ruby is a scripting language much like Python.
- Ruby on Rails is a programming framework optimized for productivity. RoR makes it easy to follow Agile Development practices that is customer focused.
- Having read several books from The Pragmatic Bookshelf I knew there was good help available. I was going to need the help. Even though I had more experience with the other technologies the RoR documentation helped make this the choice.
Setup the development environment
Programming editor
- The choice came down to TextMate and Vim . TextMate is the editor of choice for the Ruby on Rails creators. There’s lots of productivity features as well as documentation and tutorials. The main downside is TextMate is only available for Mac OSX. I have a Mac but need to work from Windows also. Vim is an old but powerful editor. Vim is difficult to learn but rewards those with patience. Because Vim is available for most operating systems it is my choice.
Source code management
- Source code management software keeps track of all the changes made to programming code. With hundreds of files and thousands of lines of code across many version SCM software tracks the changes.
- Subversion is the choice because it is reliable and I have a lot of experience with it. Git and Mercurial are new and interesting tools but I haven’t gotten comfortable with distributed version control yet.
Project management software
- Redmine keeps track of the programming tasks, the feature requests as well as bugs. I have it set up on the web so this information is available from most anywhere.
Staging development
- Most of the coding is on the Local computer. That is one of my Windows or my Mac PCs. Two of my Windows PCs died recently so the flexibility came in handy. Changes are often saved to the Subversion source code management.
- The Staging site is on DreamHost like the Live site. The DreamHost web environment allows me to catch some issues before going live. Using a Ruby on Rails tool called Capistrano makes it fairly simple to stage multiple sites for testing.
- I removed the static pages once I could deploy an application that worked to the Live site.