FOSS Web Dev. w/o Dreamweaver

Mitch Wiedemann mc2 at lightlink.com
Wed Apr 7 19:09:58 UTC 2004


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):

   1.

      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:

Kate:
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");
?>
PAGE CONTENT
<?
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.

Konqueror:
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.

Quanta:
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.


Drawbacks:
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 at lightlink.com
http://www.lightlink.com/mc2





More information about the fedora-list mailing list