[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

FOSS Web Dev. w/o Dreamweaver

I've put together some details about how I switched from being a heavy Dreamweaver (version 3.x) user to developing Web sites with Free/Open-source software. No, my current system isn't a feature-for-feature replacement of Dreamweaver's functionality, but I like it, and it works for me!

I've posted it in HTML format on my Web site: http://www.lightlink.com/mc2/dw_switch.pl

Here's the plain ol' text:

The story of how a once heavy user of Macromedia's Dreamweaver switched to Web development in Linux...

First, some notes:

* I liked using Dreamweaver v3.0. It's a darned good program. I hear that later version are even better.
* I wanted to use Free/Open-source Software (FOSS)
* Despite it's goodness, I was frustrated with the limitations of templates and libraries in DW v3.0
* I administer my own Linux/Apache/MySQL/PHP Web servers
* I'm pretty darn good at throwing together a PHP script in a pinch. (read: I've been coding PHP Web apps full-time for many years now)
* This is not a guide for how to run Dreamweaver in Linux.
* This article will not suggest a replacement WYSIWYG HTML editor for Linux that will let you do all the things that DW does, because there currently aren't any.
* Your mileage may vary (YMMV). etc., etc.

My Problem(s):


I had developed a rather large Web site (no, not this site, this one's tiny) consisting of about 600 - 800 static pages, and a fair number of Web applications using:
* Linux, Apache, MySQL, PHP (a.k.a. a "LAMP") server
* Windows 98
* Dreamweaver 3.0 with lots of templates and libraries
* TextPad v4.x (a terrific text editor for Windows)
2. DW v3.0 templates and libraries were limiting what I wanted to do with the site. Updating a template or a library required that I check-out and update hundreds of files. That just sucks.
3. I realized that I was getting more and more dependent on the functionality of Dreamweaver. I didn't like this idea. I wanted my content to be completely separate from the program used to create it.
4. I was tired of Windows, and wanted to switch to Free/Open-source software.

How I switched:

1. Began using PHP includes to replace DW templates and libraries. The idea being that I never wanted to have any bit of HTML duplicated in more than one file. This was the beginning of the end for Dreamweaver in my case! I now have so much more control and almost no duplication of code. The PHP includes can be designed to be much more powerful/smarter than DW's client side content tools. This of course requires that you have a server that runs PHP...
2. I had to gut all of the content files of their DW markup and replace it with the PHP includes. This took a while, but a text editor that can find and replace text using regular expressions over multiple files (TextPad v.4.x in Windows) helped tremendously.
3. Once free of Dreamweaver's grasp, I had to find a way to keep working!

My FOSS tool kit:

* Linux: Fedora Core 1
* KDE: version 3.2.x
o Kate: a good general purpose GUI text editor
o Konqueror: In split vertical window mode for transferring files via FTP between my workstation and the Web server.
o Quanta: An HTML editor for KDE

My Procedure(s):

Coding/Creating Content:

I primarily do all of my work in Kate (or occasionally Vim, or Nedit if I have regular expression find/replace to do). I set up Kate to show line numbers, set my tab spacing to "4", and show the list of open files on the left side of the screen. I have a text file that I call "clip_library" (a hold over from using TextPad for Windows) in which I store commonly used bits of code for quick copy, paste, and modify jobs. I usually have Kate running all day on Desktop 2. Since I'm using PHP includes to include the various bells and whistles, my content is very straight-forward, and I use only HTML H1 - H4 tags, P (paragraph) tags, UL/OL (lists) and the occasional TABLE. I use CSS to style my content as needed.

The basic layout of my Web pages looks like this:
require_once("the header php script");
require_once("the footer php script");

There are probably more elegant ways of doing this, but it ain't causing me many problems currently, so I haven't bothered to change it. The header and footer scripts (which include other php files as needed) set up all of the structure and features that surround the page content.

I use KDE's Konqueror to transfer files between my workstation and the Web server. I set it up as follows:
* Hit F9 to get rid of the left sidebar
* Click "Split View Left/Right" on the Window menu
* Set the veiw mode (on the View menu) in both windows to "Tree view"
* Set the left side to my local file store
* Set the right side to my Web server file store. (To do this simply type ftp://user my webserver com in the Location: box.)
* Save the setup using the "Configure View Profiles" on the "Settings" menu. And give the setup a name.
* Restore the setup at any time by choosing its name from the "Settings > Load View Profile" menu.

I really only use Quanta for quickly creating new content from sources like text files, MS Word documents, etc. After than, I just use Kate/Konqueror.

Heck no, this system isn't perfect! But it works...
Here are some things that I still need to do
* Find a WebDav, CVS, or other versioning system that will make it easier for a group of people to work on the files without stepping on each other's toes.
* I should probably find a more elegant way of doing the header and footer includes.
* I'm most of the way toward a simple CMS, so I'll probably just go ahead and build one, and thereby solving the above two problems.

In Conclusion:
I hope this has been helpful in some way. Feel free to send me suggestions, questions, or comments.

Mitch Wiedemann
mc^2 Computer Consulting
mc2 lightlink com

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]