Open Source Alternatives to Dreamweaver Templating
comforteagle writes "One of the greatest hurdles for people wishing to 'switch' to FOSS and Linux is finding a good replacement tool for what they are accustomed to using. In Open Source Alternatives to Dreamweaver Templating Mark Stosberg investigates what open source solutions are available to replace Dreamweaver's powerful templating capabilities." Update: 01/09 by J : Hey, just for the record, Template Toolkit, which provides the solution Mr. Stosberg settles on, also powers much of Slashdot.
I find it pretty amazing that dreamweaver templates are still being used. My school started with templates and found them too buggy and complicated so we switched to contribute. Now we're in the process of going to a CMS, because the non technical people who need to change the site are still having too many problems editing. The tech department was forced to hire a consultant just to teach everyone first how to use dreamweaver, and then contribute.
vi
... like the body or the subject!)
HTH
HAND
Cat got your tongue? (something important seems to be missing from your comment
Comment removed based on user account deletion
Dreamweaver templates are a bad idea, from the dark ages of the web. If you are still generating sites by hand, you can do something fairly simple with PHP and CSS or one of the Apache modules/filters.
A better solution is to use a content management system (CMS).
I think you're missing the point -- this is about having an OSS replacement for Dreamweaver Templates. Telling someone who has never edited HTML by hand to just jump in to HTML and PHP with a text editor is not a suitable replacement for Dreamweaver. The point here is to let someone switch without taking a hit in productivity.
People using Dreamweaver aren't going to switch over to ANYTHING remotely resembling "ttree" and use Perl to pre-process their HTML... OMFG, I'M ROTFLM - phew, that was a lot of acronyms.
However, IMNSHO, there is nothing that comes close to Dreamweaver (and it's templating) in the FOSS world that I've found. NVU, which is an excellent tool is about as close as I've seen.
As much of a raging POS as dreamweaver is, it still remains popular for that reason.
For anything beyond a few pages, I'm finding PHP and CSS to be the way to go, but then again, I code by hand with a text editor.
You know you're a geek if you've ever replied to a tagline.
When I was starting out I used Dreamweaver all the time. It was fine for small sites that didn't need too many updates. It also taught me the basics of html once I learned to press the view source button a few times.
The templates came in very handy when I moved onto doing larger static sites. They made keeping a consistent look and feel easy, especially when combined with CSS. As they do not need any server side technology they can be very useful.
But nothing will compete in the long run with server side technologies. It doesn't matter which one as they all do essentially the same job. But there is a huge learning curve that many people do not want to try to overcome. (I can remeber telling my PHB that he could use Dreamweaver like Word, I spent a lot of time cleaning up after him though)
Dreamwever and even Front Page and the like have been invaulable in getting large numbers of people creating their own web based material and probably have a far higher impact in this area than they are given credit for by some professional developers. An alternative that is open source and *good* would be a killer app for linux. Its all very well saying "learn to do it properly and use vi to write your code" for the average user the experience of seeing a web page being generated is something akin to magical and they would run a mile from a text editor.
another Roadkill on the Information Superhighway
and the authors suggestion to use Perl is better then PHP and HTML in what way?
You know you're a geek if you've ever replied to a tagline.
Once again someone misses the point. The "Killer Feature" isn't the templates. The killer feature is templates coupled with the editor & kitchen-sink that is Dreamweaver. By themselves they're nothing special.
And there really is nothing that is OSS that can compete against it right now. Nvu is slowly becoming usable, but last I checked even version 0.70 won't let you start by default using XHTML 1.1 rather than HTML 4.0. Tools like WYSIWYG web pager designer tools are going to be important to making OSS viable with many businesses and home users.
Click here or a puppy gets stomped!
I'm the author, and I'm a professional Perl programmer. I prefer Perl because I know Perl better.
I faced the same problem with friends and professional clients - a mixture of common problems left them mith a real mess, and wary of consultants and designers.
I ended up writing my own Content Management System, and am now trying to slow things down...
I haven't even finished writing it and the company I work for (a systems integrator) want to license it for commercial use for several big projects. I have agreed with them to let me keep it open source and free for non commercial use - so you can find out about it on the PluggedOut webspace where I give all kinds of code away.
Actually - the CMS project has been a real eye opener to the problems of getting corporates to understand open source... another story for another time :)
and this helps newbies that can't figure out anything but dreamweaver templates how?
;p
perl is the most complicated language for newbies to learn that i've ever found - most dreamweaver newbs will have a hard enough time figuring out php, let alone perl
endless 500 server errors - yeah real 'user friendly'
Gekido's Lair
FYI, I would say peobably most dreamweaver users have edited HTML by hand. The trial and error of editing stuff in a text editor and getting it formated correctly is time consuming. I used code the most hit pages on my website in notepad for speed/bandwidth reasons and do the rest of them in DreamWeaver, because updating a 200+ page webiste with notepad is not fun.
Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
Unfortunately the slowness isn't necessarily WINE's fault. When we installed the latest update to DWMX at my old job (it might not be the latest available), it became horribly slow. Especially when switching from another application to DWMX. We saw similar reports of this on the intarweb.
This was on WindowsXP by the way.
I've moved most of our site over to a database backend with users able to edit the page from within IE using the SPAW web editor from Solmetra. http://www.solmetra.com/en/disp.php/en_products/en _spaw/en_spaw_about.
Yes, I know, IE, but remember that's what most people use. They're working on a gecko version currently, but it's still in beta. The current version works fine in firefox now except that you don't get wysiwyg editing, just html.
The way it works is this:
We have a web page layout designed by a graphic artist. The content part of the page is stored in a database. The user logs into to the system and as the user surfs the site, any web page that the user can edit has a button at the bottom saying "edit this page". Permissions are done through a mysql database. Spaw doesn't care how you do security, they just provide the editor. When the user presses edit, the page is reloaded, but this time the content is loaded in the spaw editor embedded in the browser. User edits page, presses button to publish and the data is pumped back into the database and published instantly.
I *really* like this system. I can customize the menus and create my own styles for the style menu. I put the official company colors as a style on an external style sheet and then add it to the menu. People that want to hightlight text can then use the official company colors. If the colors change, I just edit one style sheet.
It really has worked well for us. No more licensing or software install hassles. Need to work from home? If you've got IE 5.5 or higher, and soon the gecko engine, you're set.
While it isn't quite the same as Dreamweaver templates, the result is similar. Users can only edit the parts of the page that we give them permission to edit. We don't have to worry about a user deciding not to go with the approved layout and template.
I really can't say enough good things about the SPAW product.
I'm surprised nobody's mentioned Smarty. It seems to be gaining popularity as a useful system for separating content from presentation. http://smarty.php.net/
Final Table Team - Poker Disc
I've done a few projects using Smarty. It's pretty nifty, keeps all your markup separate from your code... It has some simple flow control stuff in it that makes the code nice and clean too.
Recently, I've been using this to serve up XUL and it works remarkably well.
Telling someone who has never edited HTML by hand to just jump in to HTML and PHP with a text editor is not a suitable replacement for Dreamweaver.
Telling someone who has never edited HTML by hand to just use Dreamweaver and click and drool is not a suitable replacement for someone with a clue. The answer is for people to use WYSIWYG editors only long enough to learn how HTML works, then start writing REAL code. I'm FAR more productive with Kate (glorified text editor/project manager for KDE) than I am with any WYSIWYG editor. If all I knew was Dreamweaver, my pages would be 10x the size, less manageable, and less standards-compliant.
Do the Internet a favor, people! Write your web pages by hand. Web browser authors will thank you, as will your visitors. If it gets to be too many pages, that's what PHP (or hell, ASP or JSP if you must) is for.
(Yes, I'm being an elitist prick about it. But when the quality is so vastly different, it matters. People should be able to USE things without knowing how they work, but not BUILD things without knowing how they work. There is a difference.)
--GrouchoMarx
Card-carrying member of the EFF, FSF, and ACLU. Are you?
Isn't the lack of any particular program, its a lack of innovation and an inability to think outside of the box and produce new ideas for applications that provide a true advantage. I mean, 15 years ago probably if people were trying to get some hypothetical open source Unix system onto business desktop systems, probably everybody would have assumed that a big drawback was the lack of a top-rate text-based spreadsheet to compete with Lotus 1-2-3. And a bunch of competing projects would start up, and maybe a few years down the road you would have two or three almost-complete 1-2-3 alternatives for our OS. But would that make businesses switch? No, because in the mean time the commercial software industry would have moved on to the more advanced graphical paradigm as exemplified by Excel, and we'd still be behind. If all you do is copy existing commercial software, you'll ALWAYS be behind.
I maintain a fairly large PHP / CSS-based site. I use Dreamweaver MX 2004, and it's always get the code tab open -- except when I'm dealing with tables. Yeah, of course I know how to hand-code tables, but man, to be able to graphically split and combine cells, and completely reformat tables -- where by hand I'd have to edit each cell / row manually -- is a huge timesaver.
I also like PHP's Site Maintenance features and have found it to be flexible enough to handle a variety of different testing environments (local over the network, FTP, etc.). And finally, its site-wide search and replace capabilities are excellent.
Could I get away with a freeware editor and some sort or grep-type functionality? Sure . . . but in general Dreamweaver is a really solid tool specifically geared towards web development, and like someone already mentioned, nothing else comes close. The only problems are its steep price tag and mediocre CSS capabilities.
I use Dreamweaver. Extensively. Over 70 different sites are stored within Dreamweaver.
I also use PHP Includes. Extensively. Over half of my sites are PHP Include -based as far as templates are concerned.
One of the things that Dreamweaver MX 2004 blows everything else out of the water is the ability to *internally* understand PHP Includes, and render the contents in the edit window.
The only time things get dicy is when I need to edit any of the "common/layout-*.inc" files since they're partial HTML so Dreamweaver *does* have a little hard time dealing with those, but most of those edits are maintained in the Code view window anyway so it's not a big deal.
For any serious web developer, Dreamweaver is so much more than its templates, and is almost a must to have in one's toolkit.
Well, maybe I don't understand what it is that is so special about Dream Weaver's templating engine, but it sure doesn't sound like anything too special. It would be fairly easy to do the same thing with WebMacro (site down at the moment), or it's spinoff Velocity. Although both are intended as "Templating Engines" that run on the server, it's easy enough to set them up to generate static content the way that the article describes. Similarly, more extensive content management systems like Apache Forrest, which is based on Cocoon are available. I don't see what the big deal is.
Signatures are a waste of bandwi (buffering...)
(it's just a silly hack) - use realtime HTML, CSS and Javascript preview :)
The answer is for people to use WYSIWYG editors only long enough to learn how HTML works, then start writing REAL code.
Dreamweaver is not a tool for 'noobs' who don't know html - it's a tool that massively enhances the productivity of web developers, who generally do know html very well. It automates all the repetitive stuff, like generating tables or imagemaps, and helps with designing layouts, much a good IDE would for writing C/Java/whatever. A basic text editor is fine for putting together a small site, but a tool like dreamweaver helps enourmously with the task of managing a large site.
I've seen what the tigris guy's are doing with scarab issue tracking system via velocity templates and I'm very impressed. The recursive development with velocity is much faster than JSP's and allows for very complete scripting.
I currently am maintaining and building onto a TCL based templating engine that is albeit limited in some ways but still rock solid and fully extensible.
If full JS support is available for your users, you could always dump the server side templating model and switch to a server dump to JS native data structures (arrays & json) and just do your templating in Java Script. I've got ton's of this code in production and it's way faster than doing server side templating and the deveopment cycle time is considerably less. But you really need to set your browser support to just Mozilla (1.3+), IE (5.5sp2+) and maybe Konquorer (safari) to do this kind of DHTML application programming well.
I've dumped JSP's about a year ago and now have a very simple servlet based template model.
JsD
Hey Mark, I'm really surprised that you didn't explore something like Smarty or PEAR templates. Put it on a development machine with rewrite, then when you're done, just copy the whole tree to the real server, and BAM, static site that is as easy to update as a dynamic one.
Dan
Put identity in the browser.
Dreamweaver is an impressive behemoth of a tool, no doubt whatsoever. Back in 1999/2000 it was the only possible way to edit and manage websites on a professional level. Dreamweavers wysiwyg power with the older browsers and it's HTML editing features are unmatched. The template engine completely abstracts changes to a website in your developement directory and automatically keeps track of anything you what across multiple documents. If DW doesn't crash and screw up your template dir that is - which does happen more often than you like. It's the best thing you can use ... ...if you don't have a CMS.
;-)
Which gets me right to the point:
Sorry, but it's like five years since the early dot-bomb days where dynamic server side stuff was considered exotic and people got payed for klicking static websites together. You may haven't noticed, but the world has moved on. There are something like fifteen bazillion open source content management systems out there. One better than the next.
Who the fuck needs DW nowadays? You don't want DW! DWs concepts are ancient by todays standards. The last time I used it was about 4 years ago in some project where the system team couldn't get their stuff together and set up a halfway decent JSP framework and we had to hack the webdocs by hand in record time. And my web productivity has tripled by now, since I exclusively use content management systems (as every body else does), and be it "only" to generate the html docs offline and publish the output to static webspace.
Honestly now: Ditch DW allready, it's nothing but a huge waste of time these days. Trust me, I make a living with this stuff. And take a look at one of the frameworks above. To save your time, I recommend checking out one of the following: Plone/Zope, Callisto CMS, Mambo, Typo3, Mason, Slashcode, or (forgot this one above) Xoops. Save yourself half to three quarters of webdev time in the long run.
Oh, and welcome to 2005.
We suffer more in our imagination than in reality. - Seneca
I couldn't disagree more. Every contemporary tool like that I've seen is a child's toy, no matter how pretty or expensive.
Over the Christmas break, I was helping my father with the web site for his new company. He's not an experienced web developer, so he went on a short introductory course about HTML and such, and bought a copy of Dreamweaver MX. He actually didn't do a bad job of designing the appearance of his site and knocking up the basic pages, and for that the software was fine. But he wanted to do a couple of pretty standard things -- different link colours for links on his menu bar, for example, and a two-column layout -- that he just couldn't figure out how to do in Dreamweaver without using awkward tables that were breaking horribly in various browsers/text sizes. Neither the on-line help nor the two books on the package he'd bought brought enlightenment.
I showed him the routine tricks in CSS to achieve these goals in about fifteen minutes, and his problems were solved, giving him the appearance he wanted all along. In fact, I didn't even use the funky CSS editing stuff built into Dreamweaver. It was so cumbersome that it was faster to just edit the raw CSS and let the funky stuff pick up the changes than it was to work out how to use the funky stuff from the on-line hindr^H^H^H^H^Hhelp.
By the way, I also designed and help maintain a somewhat large and popular hobbyist site (maybe 100 significant pages, 30 of them visited frequently, and taking 1,000+ hits on our busier days) with nothing but a text editor, some graphics packages and a couple of scripts. We write the main content in XML, generate and customise the standard boilerplate during XSLT conversion to (X)HMTL, and use CSS -- also hand-crafted -- for the visual appearance, tweaking for printing, etc. In the nature of our site, it gets a major update (dozens of pages changing fundamentally) about 4 times a year, and minor updates every couple of days, often by fairly non-technical users, and this system has served us very well.
To my knowledge, the entire site also works correctly on screen and when printed, in every major browser. I've never encountered a web design package that achieves anything close to 100% success when using more than trivial mark-up. For a large, frequently-maintained site like this, there is simply no substitute for an informed and careful team sorting out the HTML mark-up (or, in our case, XSLT) and CSS to be used up-front, testing on lots of different browsers and doing their homework about browser quirks, checking out the appearance at different resolutions and text sizes, checking for accessibility issues, etc. Using a package like Dreamweaver might make the initial HTML+CSS design work easier in this sort of context, but it stops adding value pretty early on when you get to the serious stuff.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
For what I do it would be insane to spend 400 bucks on a copy of Dreamweaver. You can manage a nice looking business site with Nvu, if you're working with largely static content. The style sheet editor could use some work, but give them time.
Linspire is backing Nvu development and they seem to be making excellent progress. But, you're right about it defaulting to HTML 4.0.
Still, it's wonderful to watch the pace of development.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
First of all if your editing 96,000 pages without a content management system then you deserve the headache. If by chance you do have a content management system then it probably uses templating, so you can indeed use Kate to modify the template and then upload it and Bingo you've just edited 96,000 pages. Even really large complex sites get coded and updated in a Text editor. Some of them even get edited in the browser (gasp).
So actually your wrong he probably isn't assuming what you thought he was.
If you see spelling or grammatical errors don't blame me. I tried to preview but IE here at work borked the CSS
I'm not sure about dream weavers templating mechanism. I've used Dreamweaver 4 in commercial developing, but not totaly indepth. I wonder if templating can be accomplished by simple xml+xsl and sabcmd (Salbatron XSL processor) or any other XSL processors?
Giving IE users a taste of their own medicine since 2005 - http://pods.-is-a-geek.net/
Ah, the usual Slashdot "Eh, why don't they just use a dozen awk scripts and sed filters, glued together with some perl programs?"
These same people always seem to express endless frustration when people stay on Windows or Mac instead of Linux. And why shouldn't they when the sort of software they rely on isn't available?
I'm happy on Debian or Slackware writing my own PHP, but I'm the first to admit that this is not for the average folks. There are a lot of web developers who are more "web designers" (these people were often art majors, and don't know a lick of HTML) who focus on artistic design, and for them a WYSIWYG editor is a must.
Systemd: the PulseAudio of init systems
They use huge piles of static files for performance, but that doesn't mean that each one is created by hand. Considering how trivial it is to create a simple templated CMS to generate the page, anyone who even attempted to do that by hand is an idiot. In fact, I'd say that any site that has over 10 pages with similar styling that might ever have to be updated should always use some form of a CMS, even if the CMS is only a short perl script that reads in a template, reads the file to be added, applies the template, and writes the html (perhaps 10 lines of code). To change the styling, update the template and rebuild the site. Not all that different from Dreamweaver's handling, except you don't have to reupload the entire site again, and its easier to add dynamic elements.
If you're not familiar with these tools, the learning curve may be somewhat steep, but it's a very powerful method.
You don't know what the find command does, do you? It finds files, as its name implies, up to any level of directories.
That's the beauty of unix. You don't need specialized tools like dreamweaver, because the basic operating system utilities are so flexible and powerful. When you know a few commands, like find and sed, you can create a short line of commands that replace anything your bloatware can do.
Of course, you need a few weeks of study to start being productive in unix, compared to being able to create something with dreamweaver almost immediately. But then you need weeks of study to be truly productive in dreamweaver. And when you want to do something else, the cycle repeats with some other application, while in unix, once you know the commands you can be productive with everything.
Unix has a steep learning curve at the beginning, but the curve flattens out and it becomes very easy to learn new things once you get past the raw beginning. WYSIWYG applications are the opposite, they are very easy in the beginning, but you do have to study them in depth if you want to be a power user, and what you learn in one application is pretty much useless in another. Being a dreamweaver power user won't help you in doing advanced stuff in excel, and vice-versa. But if you learned unix commands to edit html files, you'll know everything you need to edit any text files, no matter what the application is.
Oh yes... and then there is Contribute which is The Right Tool for most of my clients. Read on....
It works like this.
I use Fireworks to draw the navigation bar and header for a page. Fireworks automagically creates all of the rollover images for the buttons and the HTML to slice 'n' dice and then reconstruct the thing. Dreamweaver sucks up the necessary JavaScript to make it all run. (Yes, it's ugly and bloated code but it has no typos, works "first time, every time," and my clients target visitors with broadband connections.)
I drop the header and nav bar into a template and then create the rest of the site based on the template. Easy as pie. The code generated for the rest of the site is quite clean. I'm pleased with the efficiency here.
Later, if I need to add a button to the nav bar, I do the following.
Now for Contribute... I give this to my clients so that they can edit their own web sites. Contribute "locks" the template stuff so that they cannot edit the nav bar, a/k/a cannot break the nav bar.
I'd love to leave Windoze but need something as powerful as Dreamweaver + Templates + Fireworks.
Cheers,
-- Art Z.
Hen's Teeth Network