You’re looking to install Wordpress on your personal server, and don’t feel like learning Linux? Here’s your quickie guide to getting everything running quickly on Windows 2003 Server!

 I’m writing this tutorial using a clean install of Windows 2003 Web edition, Service Pack 2, and fully patched up via Microsoft Updates.  I’ve done this on two other Windows 2003 Standard Servers, both not fully patched up and one still on SP1, so this should be pretty universal.

 The first thing that you want to do is make sure that all of the web components are installed.

  1. Open Add or Remove control panel
  2. Click Add/Remove Windows Components
  3. Click on Application Server and click Details…
  4. Check off Enable network COM+ access
  5. Click on Internet Information Services (IIS) and click Details…
  6. Check off Common Files, File Transfer Protocol (FTP) Service, and Internet Information Services Manager.
  7. Click on World Wide Web Service and click Details…
  8. Check off World Wide Web Service
  9. Click OK until you are back at the original Components Screen
  10. Click Next> to get the install process started.  You’ll need the install CD or the CD copied to a network location.
  11. Once finished, go ahead and close everything.

Now we’ll go and download everything we’ll need for Wordpress:

  1. Wordpress 2.2 - Grab the .ZIP
  2. PHP 5.2.3 - Download both the .ZIP package AND the Installer
  3. MySQL Community Server 5.0.45 - Grab the Essentials package
  4. MySQL GUI Tools - Select the installer version
  5. David Catalano’s Handy PHP test files

Let’s start by installing PHP and making sure that it works.

  1. Double click the PHP installer
  2. Accept the license agreement, and leave the default installation location
  3. Select IIS ISAPI Module from the Web Server Setup screen
  4. Leave everything else default and just finish up the install
  5. Now take the PHP .zip package, and extract the contents to a new folder
  6. You’ll see that there are many more files in the .zip, just go ahead and copy all the rest of the files over.
  7. Open up the PHP installation folder, and edit php.ini in notepad (or another text editor)
  8. Find the line extension_dir = “./” and change it to point to your PHP installation directory. In the default case it will read extension_dir=”c:/program files/php/ext/”  [NOTE: Make sure that you use forwardslash (/) an not the Windows typical backslash (\)]
  9. Since we’re going to use MySQL for the backend database, we need to enable the MySQL module.  Uncomment the line ;extension=php_mysql.dll by removing the leading semicolon.
  10. Close and Save php.ini
  11. Next right click on My Computer and select Properties to enter the System Properties page
  12. Click the Advanced Tab, and then Envrionment Variables
  13. In the System Variables find the Path variable, click on it and click Edit
  14. The installer should have already added the first part pointing to the PHP root directory. Click into the Variable value: field, find the other PHP entry, and enter in another entry for the EXT subdirectory (in this case C:\Program Files\PHP\ext\;.  Don’t forget to make sure that each entry is separated by semicolons)
  15. Click OK out of each window and close the System Properties page.
  16. Now we’ll setup IIS.  Open the Internet Information Services (IIS) Manager from Administrative Tools menu
  17. Under IIS, click on Web Service Extensions and make sure that PHP: Hypertext Processor exists and is set to Allowed
  18. Expand Web Sites, right click on Default Web Site, and select properties.
  19. Click on the Home Directory tab and click Configuration…
  20. Scroll down the list until you find the .php extension. Click on it and click edit
  21. Click the Browse… button and select C:\Program Files\PHP\php5isapi.dll. Manually add quotes around the Executable path.
  22. Chave the Verbs to be limited to GET,HEAD,POST
  23. Tick off to Verify that the file exists, and click OK
  24. Click OK through all of the screens back to the Web Site Property Page.
  25. Click the Documents tab
  26. Click Add… button
  27. Enter index.php
  28. Click OK
  29. Repeat to add index.html
  30. Click OK until you are back at the IIS Manager
  31. Right click on the web server name, select All Tasks.. and select Restart IIS…
  32. Click OK to the dialog and let IIS restart.
  33. Close the IIS Manager
  34. Extract the contents of script_test.zip to the root of the web server (in this case c:\inetpub\wwwroot)
  35. Open Internet Explorer and point it to http://localhost/test.php
  36. If everything is working correctly, you should get a PHP informational setup page
  37. Go ahead and close all your open windows

With PHP up and running, it is time to install MySQL.

  1. Double click MySql Essential installer
  2. Select Typical install and let it go
  3. When prompted, select to Configure the MySQL Server now and click Finish
  4. Select the Standard Configuration and click Next>
  5. Make sure Install as a Windows Service is selected as well as Launch the MySQL Server automatically is slected.  Do not select to Include Bin Directory in Windows Path.  Click Next>
  6. Check Modify Security Settings and enter in a SECURE root password. do not check to Enable root access from remote machines. Click  Next>
  7. Click Execute button to finish the configuration and exit the installer
  8. Launch the MySQL GUI Tools installer
  9. Run through a complete installation
  10. On the Start menu, enter Program Files and launch MySQL Administrator
  11. Enter localhost for the Server Host, root for the username, and what ever you created as a root password previously.  Click OK
  12. Click on the Service Control item. Make sure that the MySQL Service is running
  13. Click on the Catalogs item
  14. Right click in the list of Schemata and select Create New Schema
  15. Enter in the name of what you want the Wordpress database to be called. I typically just use wp or wordpress.  Remember this name for later
  16. Click on the User Administration item
  17. Right click in the list of users (right now only containing root) and select Add User
  18. Give the user a name (I use wordpress), give it a different secure password from root
  19. Click on the Schema Privileges tab
  20. Assign the user all privileges except Create_Routine, Alter_Routine, and Execute.
  21. Click Apply Change button.
  22. Click on Service Control tab then stop then start the MySQL service.
  23. Close the MySQL Administrator

So that’s really it for backend setup. PHP is installed and processing pages and MySQL  is setup and ready to start recording your posts.  Now lets get into setting up Wordpress.

  1. Unzip the downloaded Wordpress install into the wwwroot folder inside Inetpub.  It should look like C:\Intepub\wwwroot\wordpress
  2. Copy and rename wp-config-sample.php to wp-config.php
  3. Open wp-config.php in a text editor
  4. Replace the information in the config file with the information setup previously in the spots for DB_NAME, DB_USER, and DB_PASSWORD. If you’re planning on running more than one blog, you can also set the table_prefix variable.
  5. Now point Internet Explorer to http://localhost/wordpress/wp-admin/install.php
  6. This will run the setup sequence and you’ll be just a few steps away from blogging.
  7. Procede to the next step, give your blog a title and your e-mail.
  8. That’s it!  Your blog is done.

 The last thing that we’ll do it set up FTP so you can upload themes and make updates.

  1. Open Internet Information Services (IIS) Manager
  2. Expand your server and FTP Site, you’ll see that there is a Default FTP Site
  3. If you’re not going to use FTP for anything else on this server, then the easiest thing to do is point the FTP directory to the wordpress directory.  If you want to use FTP for something else, skip down to the info section at the bottom.
  4. Right click on Default FTP Site and select Properties
  5. Click the Home Directory tab
  6. Click the Browse… button to change the local path
  7. Point to to the wordpress directory, in this case it is c:\Inetpub\wwwroot\wordpress
  8. Check off Write permissions in addition to Read and Log Visits
  9. Click the Security Accounts tab
  10. Uncheck Allow anoymous connections
  11. You will get a warning stating that FTP sends passwords and usernames in clear text over the network, so you’ll want to set up a user with limited access rights and again, a SECURE password.  (Discussion of how to set up a secure user is outside the scope of this topic, so hit up Microsoft’s site for more information regarding FTP Users).
  12. By Default, you’ll be able to use what ever local users you have setup to access the FTP site.  To test open Windows Explorer and go to ftp://localhost, You’ll be prompted for your username and password then will get the directory listing.

Now that you’re up and running, of course you’ll want to customize the look and feel of your blog. Prebuilt themes is a great starting point, then you can move into the many plugins available for wordpress.

  1. How to Use Themes 
  2. Wordpress Baisc Themes
  3. More Wordpress Themes
  4. Wordpress Plugins

Other Notes:

 If you’re also using FTP on your server but want to also use FTP for uploading wordpress files, you’ll need to create a FTP Virtual Directory.

  1. Open Internet Information Services (IIS) Manager
  2. Expand the server name and FTP Sites
  3. Right Click on the FTP Site and select New then Virtual Directory
  4. Click Next> and give the virtual directory an alias (such as wordpress)
  5. On the next screen, specify the path to the wordpress directory
  6. Allow Write permissions and finish the setup.
  7. The virtual directory will take on the security setup of the main FTP server. If you already disallowed anoymous connections, then so will the virtual directory
  8. To test open Windows Explorer and go to ftp://localhost/wordpress, You’ll be prompted for your username and password then will get the directory listing.

Have any additions or corrections? Please let me know!  I’ll try to keep this updated with any changes or new versions as I try them.

We had a group of users that are running a program in the office called “Affinities” which meets every few months.  Rather than have the announcement e-mail come from any of the three organizer’s addresses, they wanted a separate e-mail that all three of them could access to send out the messages.  Luckily, Exchange allows for this functionality.

-First, you’ll need to create a new user for the group e-mail address (Affinities), and create an e-mail alias.
-Next, create a new universal group to contain the users that you want to have access to the new e-mail account. Make sure to set up an e-mail alias (in this case AffinitiesAdmin) and add the other users to the group.
-We don’t want this e-mail address to just fill up with any replies, so next log into the mailbox for the new user, and create a filter to redirect any mail sent to Affinities to the AffinitiesAdmin group.  Redirect will not store the message in the local account, but forward it off to the group.
-Lastly, we need to grant Send Ad permissions to the AffinitiesAdmin group for the Affinities e-mail account:

1 ) Log onto the server running Exchange.
2 ) Run Active Directory Users and Computers.
3 ) Under the “View” menu ensure that “Advanced Features” is ticked.
4 ) Find the user’s account that you want to be able to send as, and open up the account properties.
5 ) Select the “Security” tab.
6 ) Click [Add …] (under “Group or user names”) and add the user (users or group) that is to be granted permission to send-as this account.
7 ) For each account added, highlight the account under “Group or user names” and in the “Permissions for …” window grant the account “Send As” permission.
8 ) Click [OK] to close the account properties dialog.

Now you can have the users try to send as the Affinities group.  Have them open a new outlook message, go to the View menu, and select “From Field.”  Users should be able to click on From… and select the new e-mail from the list they wish to send as.  Outlook will allow you to select any user, but will fail if you do not have the correct permissions.

Resources:
http://www.cryer.co.uk/brian/msexchange/exch_howto_grant_send_as.htm

While many admins are familiar with Microsoft’s Tweak UI for really getting in and tweaking everything about windows, Microsoft actually has a whole page of so called “PowerToys.”  There are a few fluffy ones, but good ones include ClearType Tuner, Alt-Tab Replacement, Image Resize, and HTML Slide Show Wizard.  If you’re in design or publishing and struggle with color management on Windows XP workstations, then you’ll love the one simply called Color Control Panel Applet. In my opinion, this one should have been shipped as part of the SP2 update.I’ve used both Monaco EZ-Color and GretagMacBeth Eye-One Match with a USB Colorimeter.  While very easy to use, and produces good results for the cheaper price, there are no instructions on calibrating dual monitor systems.

Here’s the quick version:

By default, Windows only allows one color profile per video card. Not per display, per video card. That means all of us using dual head video cards were out of luck until recently.  Luckily now most video cards support one LUT (Luminance Lookup Table) per output enabling windows to assign profiles per display.  Ok, but that’s only half of the battle since Windows also automatically only assigns profiles to the primary monitor.  That means when you take the time to calibrate your secondary display, that profile gets assigned to only the primary display!  As you can imagine, if the displays are very different, then you’ll be looking at some pretty funky colors on your primary display.

This is where the Color Control Panel Applet comes in. After you create the profiles and named them in a way that you know which one is from what monitor, launch the control panel (after installing it of course).  On the device tab, you’ll see a pull down for Monitors, Printers, and Scanners.  When you’re on the Monitors tab, there should be a device listed for each display.  The Primary display is on the one with all of the profiles listed, and there will be no profiles on the others. Remove all but the profile for the Primary device, switch over to the other displays and attach the profiles to the correct device.

That’s it. It was that easy.

You can get all of the PowerToys from here: 
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

NOTE: I just switched to Wordpress so I won’t be updating this post!

I  haven’t yet found a comprehensive install guide to Movable Type on Windows Server 2003 that actually works yet so I’m going type up my own guide from all of the sources that I’ve used.  Most of the guides will get you almost there but are just outdated enough to fail to give one or two pieces of information that really make the whole thing come together (and this includes the guide on Six Apart’s site).Ok, so first download all of the software that we’re going to use:
(The versions listed are the ones that I finally found to be compatible with each other)

1 ) Movable Type 3.3.5:  Make sure to grab the .zip file for Windows Servers
2 ) ActiveState’s ActivePerl 5.8.8.820: Grab the Windows MSI package
3 ) MySQL Community Server 5.0.37: Download the whole essentials package
4 ) MySQL GUI Tools 5.0-r11a: This will install the MySQL administrator in addition to some other tools
5 ) PHP 5.2.1 Stable: Download the zip package
6 ) ImageMagick 6.3.3-10-Q-16: This will allow your server to resize image for thumbnails, etc.
7 ) David Catalano’s handy Perl and CGI test files.  Unzip them and place them into the root of your Movable Type install Directory.

Now that you have all of the downloads, let’s get into the installation process.

0 ) This assumes that you have already set up IIS on the server and it is web addressable! I’m doing this install on a completely default install of Windows 2003 Server Web Edition fully patched up with everything on Windows Update (Server 2003 SP2 as of this writing).
1 ) Open up the Inetpub folder, then the wwwroot folder. Create a folder called mt, right click on the mt folder you just created and select properties.
2 ) Click on the Security tab, highlight the IUSR_MACHINE Internet Guest Account, and click to allow Modify rights. Even though it sounds scary from a security standpoint, If you don’t do this, you’ll have trouble changing themes and doing rebuilds.

Now lets install Perl

3 ) Go ahead and install ActivePerl, just accept all of the defaults and it will configure itself
4 ) Next we need to define the Web Extentions for Perl in IIS.  Open the IIS Manager.
5 ) Right click on Web Sites, select Properties, select Home Directory tab,then click Configuration…
6 ) Find the .pl extension and click Edit…
7 ) Change the Executable: line by clicking on Browse… and navigating to the Perl directory, by default it is C:\Perl\bin\perlis.dll.
8 ) Click ok to the edit, and then click Add…
9 ) Again click Browse and select perlis.dll from the Perl directory. Enter .cgi as the extension, and limit the verbs to GET,HEAD,POST
10 ) Click OK to the Add dialog, click Ok to the Config dialog, and you will most likely be greeted by an Inheretince override dialog.  You can pick the sites that you want this change to apply too, and then click ok. I choose all.
11 ) Just configuring the extensions is not enough, you also need to allow them. In IIS Administrator, click on Web Service Extensions.
12 ) Select Perl CGI Extension and Perl ISAPI Extension and click Allow
13) Restart IIS to enable the extensions. Right Click on the server name, select All Tasks, and select Restart IIS…, Click OK to the dialog and IIS will reload
14 ) Here is where those great test scripts come in handy.  Open a web browser, and go to http://localhost/<directory>/test.pl and test.cgi where <directory> is the name of your Movable Type directory. (e.g. http://localhost/mt/test.cgi)
15 ) If both pages load properly then you’ve properly installed and configured Perl.
16 ) The last Perl piece is installing packages to allow it to access databases since the system will be built on SQL.
17 ) Open a command prompt and type PPM install dbd-mysql. Status messages will appear and install a number of files. When it is complete, close the cmd window.

Perl is now completley installed and configured for Movable Type and MySQL.  Next we will install PHP.

19 ) Extract the contents of the PHP zip package that you downloaded to the C:\ drive. You did download the .zip and not the installer package correct? Best bet is to put them right at c:\php.
20 ) Enter the PHP directory and find the php.ini-recommended file. Rename to just php.ini
Note: when ever modifying configuration files, make sure to make a copy first then make edits to the original. That way if you screw something up, fixing it is as simple as deleting and renaming the copy back to the way it was.
21 ) Edit the php.ini file in notepad. There are two edits that we need to make in here.
22 ) First, find the line that reads extension_dir = “./” and change it to extension_dir = “c:/php/ext/” (make sure to use forward slashes! PHP uses unix paths)
23 ) Next find the line that reads ;extension=php_mysql.dll and change it to extension=php_mysql.dll (remove the ;). Removing the semicolon activates the line in the ini.
24 ) Close and save the file.
25 ) To make the system aware of where the files are, we need to edit the Path file. Right click on My Computer and select the Advanced Tab.
26 ) Click Envrionment Variables
27 ) In the System Variables section, find the Path variable, clic Edit.
28 ) Append ;C:\php;C:\php\ext (Note the preceding semicolon, this is the separator character between the items). Click OK to close out of all the Dialogs.
29 ) Now we need to setup the Web Extension for PHP.
30 ) Open IIS Manager and click on Web Service Extensions
31 ) Click Add a new Web Service extension…
32 ) Enter in PHP ISAPI Extension for the name, and click the Add… button to locate the PHP files.
33 ) Click the Browse button and find C:\php\php5isapi.dll (or where ever you installed it to)
34 ) Click to set the extension status to Allowed and click OK
35 ) Now we can associate the extension to the web sites. Right click on Web Sites and select Properties.
36 ) Click on the Home Directory tab and select Configuration…
37 ) Click on the Add… button, and click browse to find C:\php\php5isapi.dll
38 ) Enter in .php for the extension and limit the verbs to GET,POST,HEAD
39 ) Click OK out of all the dialog, you may get the Inheratince override again, do the same thing that you did last time.\
40 ) While still in the Web Sites dialog, click on the Documents tab.
41 ) Click on the Add… button and enter in index.php
42 ) Click OK out of all the dialogs, and take care of the Inheritance Overrides again.
43 ) Restart IIS again (right click on server name > All Tasks > Restart IIS)
44 ) Now we can test PHP by entering this address into a web browser: http://localhost/mt/test.php
45 ) If you see the PHP page, then you’ve installed it correctly.

Now we’ll configure the database using MySQL and the GUI tools to set up the service accounts.

46 ) Launch the MySQL-Essential package.  This will be a pretty vanilla installation, so unless specified otherwise, just accept the defaults.
47 ) Do a Typical install
48 ) When prompted, skip sign-up for a MySQL.com account (unless you really want one)
49 ) Opt to configure the Server now
50 ) Select a Standard Configuration
51 ) Allow to install as a Windows Service and to Launch the Service automatically
51 ) Enter a STRONG root password. This will be facing the net, so make sure that it’s a good one. Do not check to allow root access from remote machines.
52 ) on the next screen, click Execute to finish setup.  Click finish when it is done
53 ) Now we need to install the GUI tools. Launch the gui-tools installer.
54 ) Do a complete install, accepting all of the defaults
55 ) When that is done, launch the MySQL Administrator from the Start Menu
56 ) For Server Host, enter localhost, for username enter root, and for password enter the password that you just created. Click OK.
57 ) Click to the Service Control item, make sure that the Service is running
58 ) Click on the Catalogs Item
59 ) In the lower pane, right click and create a new schema and name it mt
60 ) Click the Startup Variables item, click the Security tab, and check Use Old Passwords. Click Apply Changes.
61 ) Click the User Administrator Item
62 ) In the lower pane, right click and add new user. Name the what ever you want and that you can remember easily. For this example I will use mt_admin.  Give the user a strong password. (This user will be the initial user that you use to log in with).
62 ) Click the Schema Privileges tab. Click on the mt schemata.
63 ) Assign the user the following privileges:  select, insert, update, delete, create, drop, grant, referencfes, index, alter, create_temporary_tables, lock_tables.  Click Apply Changes.
64 ) Restart the MySQL service by selecting the Service Control item, click stop service button, wait for it to stop, and click Start Service.
65 ) Close the MySQL Administrator console.

Great, you’ve now installed PHP, Perl, and MySQL.  All that is left is to plug in Movable Type and hope it all works.  Reboot the server for good measure if you can.

66 ) Open up the MT directory under your web directory (or where ever you are installing the software.
67 ) Go ahead and delete the test files in the directory.
68 ) Unzip the contents of the Movable Type zip file to the working directory
69 ) Open the mt-config.cgi-original file in the root of the Movable Type directory. Rename the file to mt-config.cgi
70 ) Edit the mt-config.cgi file using wordpad this time.
71 ) Find the line CGIPath    http://www.example.com/cgi-bin/mt/ and alter is to read the path to your server’s mt.
72 ) Edit the MYSQL section to reflect the information that you put into the MySQL setup.
73 ) Remove the entried for the other databases, you don’t want them in the file.
74 ) Save and close the file.
75 ) To ensure that the correct permissions are set, locate the MT directory again, right click on the directory, select security tab, hit the Advanced button, and check off Replace Permissions, then OK of of all the dialogs.
76 ) Test Movable Type!  Open a browser and type http://localhost/mt/mt-check.cgi  If everything is workig correctly, you’ll get a long page with the status of the installed modules. If things are listed in red, most likely this isn’t a problem if the bottom of the page reads successfull.

Assuming that your server past the check, we can now install ImageMagick to allow us to make thumbnails of images.

77 ) Launch the ImageMagick installer. Start to just follow along, but at additional tasks, check off everything. Complete the installer.

78 ) Open a command prompt and type in  convert logo: logo.miff  then type in imdisplay logo.miff  If a little wizard pops up, you’re golden.

Final Steps

79 ) Now is a good time to reboot the server to make sure that all of the system updates are seen.
80 ) Once rebooted, now run mt-check.cgi again.  Check to make sure that ImageMagick is seen (sometimes the check doesn’t go past imagemagick, this is ok I guess. It passed the full test previously)
81 ) This is the big step. Run http://<serveraddresshere>/mt/mt.cgi where <serveraddresshere> equals what you put in for setp 71.  This should be the DNS name that others will use to access the server.

If you get a nice little Welcome to Movable Type screen, you’re in the money! If you get some other weird errors, then you’ll have do some digging.  I once just uninstalled IIS and reinstalled IIS and started from the beginning. Helps to practice on a non-critial server.

82 ) If you get the welcome screen, enter the username of the main admin of the site, an e-mail address, and a password.
83 ) click Finish Install!
84 ) Wait for the database to Initialize and then you can log in for the first time.

Once you get to that point, the server is ready for work and you can start consulting the documentation on Six Apart’s site.

Happy Blogging.

———————————————-
I couldn’t have done all this myself! Here are my sources that I started with for instruction:

1) Install Movable Type 3.2 on Windows Server 2003 (IIS 6.0) with PHP and MySQL server
2) Installation Under Windows 2003 Weblog

3) Six Apart Install Guide for Windows

Archvision’s RPC content is really quite good.  If you’re unfamiliar with RPC, they are essentially 3D photos that you can drop into your digital models.  If you’ve done a good job placing them, when you render the scene they’ll look pretty seamless and way more realistic than 3D modeled people. They are photographs after all.From the management side, Archvision has made it pretty simple. After you login and purchase the software.  There is a little service that you need to install on a server somewhere that handles license and content management.  Just point it to your content, register the app on the Archvision web site, and then you can install the applications on the client machines… but not if you register the Content Manager to an account that does not have access to the licenses you bought.  There is no user accessible way to change the registration of the ACM to another computer.

Big D’OH!

Luckily Archvision didn’t give me grief about moving the registration over to the real account, but they said it might take a few days since everything needs to be done manually. So if you’re installing this software, verify the e-mail address that has the licenses otherwise you’re in for a wait to use them.

One note about the Archvision Content Manager.  It installs itself to run as a local service.  This won’t work too well if you have your content stored on a separate file server that requires domain privileges to access.  In that case you’ll need to open up the service manager, set it to log on as a domain account, and restart the service.  The only down side is that services run as other than local services will not allow interaction with the desktop (there is a tray icon that will run allowing you access to the ACM interface).   To make any changes, you’ll need to stop the service, open up the ACM from the start menu, make your changes, close the ACM, and then restart the service.  It’s a pain, but a small trade off for software that works and works well.

Oh, and as of April 2007 support was very responsive.  Good chat interface and he even called me.  Thanks Jon!

Here’s a good one.  When our firm moved to our new office last August, we had designed an office with many team rooms to promote collaboration and allow spaces for design teams to interact.  Rather than make people move their clunky desktop computers and monitors all over the place, we installed wireless internet and purchased some high power laptops with docking stations and a second monitor.  Great, now people can feely undock and go to the team rooms to work together and when they are at their desk work with dual monitors gaining more productivity and work space.Right?

Well, for the most part the answer is a resounding yes! The laptops have gone over great with the staff, and we’ve seen great things with designers collaborating in team rooms.  Their computers in front of them available to do actual work rather than just talk about the designs then individually go back to their desks to work.  In the space between talking about something and going back to your desk to work, something always gets lost. It is really great to see three people in a team room, each with a laptop, working away and getting more work done together than separately.

What’s the catch?  The Adobe Creative Suite 2 applications (Photoshop, InDesign, and especially Illustrator) don’t really like it when you dock and undock.  They will consistently place dialog windows into outer space, completely off any monitor and leaving you unable to do things such as “Save As…” or edit preferences.  Brilliant.  The reason for this is somewhat known, but I’m sure that I’ll explain it wrong… I’ll try anyway.  When Windows sees a second monitor attached, it expands the coordinates of the desktop to include the extra pixels.  When you undock, it again revises the coordinates to eliminate the space from the second monitor.  After a while, either Windows or Adobe doesn’t update properly and the coordinates that the dialog boxes <em>were</em> at still get used, pushing dialogs off the screen <em>never to be found again.</em>  [queue “dum-dum-duuuuummmm” music]

I did a ton of searching and never quite found real fool proof solutions.  But here is what I did find:

1) Always run the adobe apps in a maximized window.  This means clicking the maximize button next to the close button (red X in the upper right of the window). Or right click on the program box in the task bar and select Maximize.  This lets Windows know the extents of the screen.  Also, make sure to never drag the Adobe windows partially off the screen.
2) Reboot, then open Photoshop and create a new document.  Select SAVE AS… then drag the dialog box a little bigger and move it slightly on the screen. This can help the application reset the position of the dialog boxes for all Adobe applications. Relaunch which ever app you were having problems with.
3) While a pain, this is really the best fix. Select SAVE AS… from the file menu, and with the dialog box off screen press and release ALT and SPACE keys at the same time, then press the M key once.  This selects the MOVE WINDOW command and then you can use the arrow keys to move the window back on screen.. Problem with this is you’re not sure where the window is, so it may take a little time to bring it back on the screen.  Try it with a window that you can see so you can get a feel for how fast the window moves.  After you hit the arrow keys a few times, you can also try to wiggle the mouse and see if it snaps back into the window

I’ll keep this post updated as I find more info, but what a pain. Thanks Microsoft and Adobe!

While I typically take a stance bucking the trend of everyone and their half-sister having a random blog to spew personal information into the Internet ether, here I am starting my own blog.   I’ve always been in the Information Technology field, always had some sort of web site, and, am a long standing member of a few internet forums. But I’ve honestly never wanted to start a blog, especially a personal “here’s my daily life in a Petri dish” kind. No offense to anyone who does, but I’ve just never wanted to put myself out there like that. I’ve now found a purpose for my becoming part of the blogging world though. Frequently in IT, especially IT in a Design firm, solutions to problems take a little bit of ingenuity and hours of Google searching for that one other user who has experienced the same little quirk in XYZ applicaion.  Always it is a little quirk that is preventing a user from getting his or her work done… therefore preventing you for getting your work done.  The real problem in this situation is what do you do with the information that you’ve spent hours trying to find?  You know that in 6 months someone else is going to have the same exact problem and you’re going to be spending the same amount of time finding the solution again, only this time twice as frustrated.  This is why I’m starting to blog. You see, it’s really all about me (like most blogs), but at least it can help boost productivity in the long run.  Instead of sifting through the entire internet with a spork again looking for the same information, I can just search through my previous posts looking for information that I’ve already validated as useful.  My hope in publishing it is that you may find it useful as well and it can save you time in the first place.

That said, there are only two guarantees that I can make in this endeavor:

1) That I won’t make every fifth post something along the lines of “sorry, I’ve been too busy to update my blog in a while and here’s some random fact I just pulled out of my neighbors circular file…”

2) That I will try to keep the scope of the blog focused on tips and tricks that I’ve come across that has already saved me time in my daily work.

ok, so a third guarantee is that there will be spelling and grammar mistakes from time to time. It happens. While I generally try to write properly and notice when other people do not, I’ve never been a good self-editor. Consider that your job if you wish.

First post to the blog is a pseudo mission statement.  We’re off to a good start!