Posted by ronliskey on February 4, 2010 at 1:06am
I'm still coding in DreamWeaver (embarrassed). Have tried switching to other apps/methods, but always drift back to what I know and where I can stay productive. Is there documentation anywhere on how to move to a more professional workflow that covers integrating a real code editor (perhaps Eclipse) with Drush, CVS, SVN, Dig, etc? I can find snippets on each but can't get my head around linking the whole process together--at least not fast enough to also stay productive.

Comments
hi, my name is duran, and I'm a dreamweaver user also...
I keep trying to kick the habit.
I keep trying to find an IDE that works best for me, and a workflow that is as efficient for my needs...
... But I keep getting sucked back in to whats working for me...
... when did this become an AA meeting???
Seriously though.
On my PC... (win7, which is SO much better than XP or -vomit- vista)
I'm also a dreamweaver user. After turning off "design notes" in the project/site settings, its nothing more than a glorified html/css/php editor with a good upload tool.
I use it for two reasons.
Site/Project management.
All of the files are organized nicely on the left hand side of my screen, I can scroll up and down and open what ever I want, with a right click. I can see the WHOLE site in one place.
SFTP compatibility.
Yes there are other tools out there, and opensource tools, but the push button SFTP, (and surprisingly, I've yet to find another tool with this out of the box, "CTRL+SHIFT+U" to upload the file) is just brainless easy. AND many other editors simply don't have SFTP compatibility.
Its lacking, painfully, a great SVN (or git, or CVS, or what ever...) interface, so I use TortoiseSVN in explorer. I think it could be less clunky, but it works well.
So, I have an editor that works, and it works decently well. It doesn't have built in debug tools, or anything that makes it REALLY elite/pro developer. but 90% of my Drupal work is based on theming my tpl files, and occasionally hacking the template.php to get it to slightly alter how things turn out.
I've been extremely blessed, and lucky with the wide array of contributed themes, modules, and documentation that exists to achieve what I need with the designers I work with, and with the clients who are paying me for the work.
I use SVN ALL THE TIME.
I follow a mostly manual "local->dev->stage->production" pattern of working, and deploying. (dev and stage are usually the same thing, just depending on when I let them look at it)
Upgrades follow the same pattern, preceded by backups, and backups of my backups :) At the worst, they take an hour, mostly its 30 minutes, and most of that is waiting for file transfers between directories (I usually deploy the new version to a different directory, followed by a virtualhost change to point to the new file path)
So, as it goes, I do alright, and nothing seems broken, or tooooo laborious. I can't wait till Aegir has matured some more, but I know I have to wait some more on that.
But where can I as well find awesome documentation on how to make my IDE/Dev environment "professional".
I've tried other dedicated PHP IDE's, and have found them amazingly frustrating. The best so far, Aptana, is a buggy, undocumented, Java IDE thats being shoe horned in to being a PHP/HTML editor. I even tried the latest release that came out today (2.0.3) because they claimed the file transfer tools were radically overhauled... But they still don't work.
And I can't for the life of me figure out the difference between subclipse, and subverse ...
And don't get me started on the plugin management tools.
I find that most of the alternatives are re-done C++ or JAVA IDE's that have some plugins thrown on top to make then "web site builders" (for a lack of a better term) and are based around a different work flow then interpreted languages need to worry about. And simple features, like version control tools, and SFTP or even FTP are distinctly lacking. Komodo, which is said to be the best windows PHP IDE... doesn't have built in FTP? and (I'm not a total idiot about this) I wasn't able to get SVN integration to work, at all.
Everything else seems to be very very nice text editors, but with poorly thought out UI's, and the "file browsing tools" I like, just plain missing. NodePad++ on the PC is really nice, and very fast. But lacks the larger project tools I want in an easy to use interface.
On my MBP, I use CODA exclusively for devel work, and it works better, and less intrusively then dreamweaver. But I know its also just a glorified HTML editor with extra features. Much like DW, its not a "pro" programmer environment, and it wants you to work a certain way, that isn't quite in tune with a version control iterative style of work.
I'm going to stop ranting now, but its an important rant.
There are a lot of drupal developers out there like me. both better and worse, more and less successful that I'm sure could use a really great run down of how to "do it right".
I want to get better at Drupal work, and feel like I'm doing my job as best as I can.
Where can we find the documentation we need to answer this part at least?!
Thanks :)
two pennies
Hi,
I think the workflow's massively important and have spent quite a while trying to find out the best way to set things up. Not 100% happy yet tho. The handbook page Development tools is, as you say, more of a load of snippets than a real guide to creating an integrated chain of dev tools. Maybe it's because there's no one 'right' solution; maybe there should be a couple of pages with example workflows for different situations (individual, small team, large team w/ multi-server setup, etc.). (Before the shouts come, I'd be happy to do it myself if the ideas come out here;)
I come from a C++ background and am not an experienced Drupal/PHP developer, so would love to hear other comments. Here's what I've got so far, working a) by myself and b) only with a dev and live server.
tools
I'm currently using Eclipse with PDT, xdebug on my dev server, subclipse (tho I really only use it for visual diffs), drush, and sftp for filesystem transfers.
process (think new site)
process after live for small changes
bigger changes
Well, dunno if I'm missing something, but so far I think it's not so difficult to encapsulate your changes nicely into a module, so that's quite easy:
updating core
If you haven't patched core I think it makes things easier. There's a perl file called svn_load_dirs.pl that I understand handles (re)moving/changing files for just this sort of situation, ie a library update. Disclaimer: I've never used it. If you want to source control your changes to the core and also allow yourself to easily (perhaps) update the core with official releases, there's a description in the svn manual under Vendor Branches (hope that's the right link, didn't read thoroughly). And test before uploading to live:)
This is not something I consider the perfect workflow, and would love to hear more experienced folk with their ideas.
If you want a more complex workflow, there's an interesting script called migraine that tries to let you migrate db changes from your staging server to the live one without modifying the live content. I've not needed it, so haven't looked at it thoroughly yet, but I'm afraid that a number of tables in Drupal might not be separable as only content or only settings, but I don't know the Drupal db schema intimately. Oh, and there was some talk about code templates for Drupal for Eclipse and Netbeans.
I hope something here might help. If anything's unclear pls shout.
Andy
Hi, I am using PhpED from
Hi,
I am using PhpED from NuSphere. It is commercial, however it is a swiss knife for PHP projects.
It provides you with all the tools you need for PHP development and HTML/css theming. Moreover it integrates tortoise SVN, has own CVS client, has a shell terminal so you can directly work with drush, database client that works with MySQL and Postgres, and probably others, support for FTP/SFTP and some kind of smart synchronization, code templates that I really use a lot for Drupal (ie. menu item or form item definitions, etc). Besides these it has debugger and profiler tools that gives you so much power over the code you create. Moreover it allowes you to do remote debugging on server, which is extremly helpfull in cases when something goes wrong on production and all is fine on test/staging.
I am using this tool for almost a year and would never return back to develop PHP on eclipse or even ZendStudio.
NetBeans?
I've used NetBeans for years now and it's free. Originally it was a Java IDE, but now there is a PHP only download package. It's got SVN and CVS integration. HTML, PHP, CSS pop-up help. Database client. Just a thought if you want to try it out. NetBeans PHP Info
Netbeans does it all
and more (via it's plugins) if you're interested in documentation tools like UML...