ColdFusion 9 Training in Washington, DC on December 22, 2009 from Fig Leaf

My friends at Fig Leaf have developed the Advanced ColdFusion 9 Development class that will be rolling out soon and they have a special offer (call it a Christmas present!): participate in their 1-day beta class on December 22, 2009 in Washington, DC for only $99! They'll get validation of their class exercises, you'll get the full benefit of the training at this great, one-time-only price. Click here for full info and to register.

403 Forbidden Error on SharePoint Images (Images Broken, Won't Load)

Some terms for indexing purposes: SharePoint broken images, SharePoint images broken, SharePoint won't load images, SharePoint images won't load, SharePoint not loading images, SharePoint images not loading, SharePoint red X images, SharePoint images red X.

Well, when I ran into this issue I searched like crazy for a solution and came up empty. I don't want that to happen to the next person who runs into the issue so hence this blog post.

Here's the scenario: I did a new installation of SharePoint Server 2007 on Windows Server 2008 R2. Incidentally, this process itself was a major pain in the butt, but I finally got it done--only to find that none of the standard images (those located in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES and mapped in IIS so they load from http://[server]/_layouts/images) would load due to 403 Forbidden errors.

Now, these 403 errors are not immediately obvious--all you see at first is that the images are broken (that is, they won't load: instead you see a "red X" in place of the images). When you dig, you figure out the actual URLs being requested are in http://[server]/_layouts/images and that these requests are resulting in 403 errors.

For purposes of search engine indexing (that is, so others affected can find this post), here's the exact text displayed in the browser when you make a direct request for one of these images:

The website declined to show this webpage
HTTP 403

Most likely causes:
• This website requires you to log in.

What you can try:
Go back to the previous page.

More information
This error (HTTP 403 Forbidden) means that Internet Explorer was able to connect to the website, but it does not have permission to view the webpage.

For more information about HTTP errors, see Help.

As you may know, 403 errors are those that indicate that the requested file is present, you just can't get to it (the displayed message makes that pretty clear). So I knew I was dealing with a permissions issue--I just didn't know precisely what caused that issue. And to be honest, I never really figured it out. But what's important is that I did figure out--okay, stumble upon--a way to solve it: in IIS, for each SharePoint Web Site, there's a Virtual Directory for _layouts and inside of that is an Application for images; I simply deleted and recreated that Application for images and all was well. I had to do this for each SharePoint Web Site and in each case it fixed the problem so I am certain that this is reliably solves the issue.

UPDATE 2010-06-02: I just ran into a similar problem. I came back here to this blog post and followed my own instructions--only to find that it didn't work. The problem this time was that I could get to resources using http://127.0.0.1 but not using http://. Well, technically I could get to resources using http://, I just couldn't authenticate successfully. So how exactly did this cause broken images? Well, even when referencing a page itself as http://127.0.0.1, SharePoint has a penchant for using http:// for image URLs included in the page--and so the page itself would load fine but the images wouldn't because of the authentication issue. The problem turned out to be that I had misspelled "Administrator" as "Adminstrator" so watch out for stupid spelling mistakes causing you to waste lots of time! I don't have any reason to believe this had anything to do with the issue this blog post is about, but since it manifested similar symptoms, I thought it was worth including here.

PDF Portfolios & ColdFusion 9

I think that one of the coolest features in ColdFusion 9 is the ability to create PDF Portfolios. But this feature isn't one that I hear anyone talking about. Why? Well, I find that most ColdFusion developers--and I've talked to a whole lot about this--have never heard of PDF Portfolios. So what I need to do here first is point you to some info about PDF Portfolios themselves.

The best place to start is with this Adobe Acrobat 9 help documentation. Check out all those cool features!

Let's say you need ColdFusion 9 to send multiple pieces of content via email. Your options:

  1. Attach all the items to the email. This is messy.
  2. Put the items in a ZIP file and attach it to the email. Good luck getting this through email filters!
  3. Put the items in a PDF Package and attach it to the email. Your user gets a single attached file, opens it with Adobe Acrobat 9 or Adobe Reader 9 and browses through the content, even previewing it directly within Adobe Acrobat 9 or Adobe Reader 9!

Let's say you need a user to be able to get multiple logically connected pieces of content from your ColdFusion 9 web app; perhaps you even need to allow the user to select the pieces of content himself/herself. Your options:

  1. Display links to all the content; have your user click the link for each piece of content he/she wants. This is messy, plus the user has to do the work to keep the content logically connected when saving the content locally.
  2. Put the items in a ZIP file and display a link to it. This works and in certain situations may be the best approach, however the display of a ZIP file is rather bland.
  3. Put the items in a PDF Package and display a link to it. Your user gets a single file and, in many browsers, this file will open automatically for viewing with Adobe Acrobat 9 or Adobe Reader 9.

Starting to see how cool and useful PDF Packages can be? Want to see their use in action? Check out the related post linked below: you'll see that I have provided a link to the code for the PresentasticPlus app (and yes, that code is in a ZIP file but that's because ZIP files make sense for code) and in that app there is functionality for dynamically creating a PDF Package based on a user's selection(s).

I should point out that ColdFusion 9 creates a sub-type of a PDF Portfolio known as a PDF Package. Really, the main difference is that PDF Portfolios can have a custom user interface and PDF Packages can't (for more information on this, see this blog post from the LiveCycle Doc team). This is a cool feature and I recommend you learn more about how you can use it with Adobe Acrobat 9 (see Joel Geraci on Adobe TV).

Issue with ColdFusion 9 Accepting Standard License Keys during Installation on 64-bit Linux

We've recently seen an issue where the ColdFusion 9 installation program on 64-bit Linux will not accept (will reject) valid ColdFusion 9 Standard license keys (a.k.a serial numbers). You may see the following fail (failure) message:

The serial number that you entered is invalid

The workaround for this issue is to install ColdFusion 9 as Trial--that is, do not enter the license key (a.k.a. serial number) during installation--and then enter the license key (a.k.a serial number) via the ColdFusion Administrator after the installation has completed.

This issue only applies to ColdFusion 9 Standard license keys (a.k.a serial numbers); we have not seen any issue with the ColdFusion 9 installation program on 64-bit Linux accepting valid ColdFusion 9 Enterprise license keys (a.k.a. serial numbers).

2009-12-02 UPDATE: There is now an Adobe TechNote for this issue.

Short URLs for ColdFusion and ColdFusion Builder Bugtrackers

Good news: we now have short URLs for the public bugtrackers for ColdFusion and ColdFusion Builder. Here they are:

ColdFusion: http://www.adobe.com/go/CF_bugs
ColdFusion Builder: http://www.adobe.com/go/CFB_bugs

Tell all your friends! :)

Getting Started with ColdFusion

I'm giving the Getting Started with ColdFusion Lab at Adobe MAX 2009. You can get my presentation for it by clicking this link.

Presentastic: Working with PowerPoint Files in ColdFusion 9

Presentastic is a demo app I created to show off how easy it is to take advantage of ColdFusion's cool capabilities for working with PowerPoint files. The instructions for creating Presentastic are available via this link. Check it out!

2009-11-19 UPDATE: You asked for it, you got it: The actual code file for PresentasticPlus is available via this link. PresentasticPlus is the version of the app that implements the PDF Portfolio creation functionality referenced at the end of the instruction document.

2009-12-01 UPDATE: The one cool new ColdFusion 9 feature for working with PowerPoint files that the original app didn't showcase was converting HTML to PPT--so in order to showcase this feature, I created a new version: PresentasticGold. The code file for PresentasticGold is available via this link.

The Scoop on Scoping

I did a presentation called "The Scoop on Scoping" and it's high time I post it here. It has a lot of good information, however, if you don't plan to read it, let me at least give you the Golden Rule of ColdFusion Scoping:

Scope all references to all variables all the time (where ColdFusion allows it)

In ColdFusion 9, with the introduction of the "Local" keyword to identify the function local scope, there really won't be any good excuse to not refer to scopes by name all the time and so that "(where ColdFusion allows it)" part can pretty much go away. :)

The PDF version of the presentation is available via this link.

Getting Started with iPhone Development

My CFUnited presentation "iPhone Apps + Adobe ColdFusion," is about so much more than just using iPhone Apps and Adobe ColdFusion together! It's a really good place to start when you're looking to get into iPhone development, regardless of whether or not you're interested in making calls to a remote ColdFusion server. Certainly there is great information in the presentation for anyone who wants to make calls to a remote server, particularly a ColdFusion server, but you don't have to be interested in making remote calls from your iPhone apps to find the information in the presentation useful. So check it out! The related link for this blog post gives the link to my blog post "iPhone Apps + Adobe ColdFusion" from Friday containing links to the presentation in PDF format and to the code resources in a ZIP file.

iPhone Apps + Adobe ColdFusion

I'm presenting "iPhone Apps + Adobe ColdFusion" right now (well, right now as this post is going live anyway). And in this post, I am making the PDF version of my presentation file available via this link (note: the file location and link may change in the future but on this post on my blog itself the link will always be kept current).

UPDATE: I've been asked for my code samples from the presentation; you can find them here. To use them with NimbleKit, you'll need to create a new NimbleKit project in Xcode then drop these resources into wherever it is that you put the NimbleKit project; you'll need to overwrite the project's main.html file with this one. Note that the sayHello.cfc and sayHello.cfm files are not needed for your NimbleKit project; they are included so you can see what they do and so that you can deploy them to your own web server (of course, in that situation you'll need to change the NimbleKit code to make its calls to the server where you put the files).

Flash Player on Mobile Devices

I'm at CFUnited. If you're not here, we miss you!

Last night I attended the Birds of a Feather session (for those not familiar, this is a session that is a bit more of an open forum than it is a presentation) on iPhone development and those present asked me lots of questions about if and when Flash Player will be on the iPhone. That's outside my Adobe arena so I didn't have great answers for them (though I'm relatively certain that even if I did have great answers, I wouldn't have been authorized to share them). But I did do some asking and some research and so I give you:

The official(ish) statement:

We would like to work with Apple to bring Flash to the iPhone, meanwhile we continue to work towards bringing the full Flash Player to Symbian, Windows Mobile, Android and other smartphones enabling a more complete web experience.

Now, as I know that's not particularly enlightening, here are some blog posts I ran across which you may find of interest:

WhirlyBirthday Time is (Nearly) Here Again!

http://www.joshuaadams.com/bday

It's almost time for a birthday anniversary: the 10th anniversary of my 1st WhirlyBirthday! I'll be getting out the word via email as always, but this year for the first time I'll also be using social networking to spread the word which will hopefully mean that people who might not have heard about it via email will hear about it via facebook, twitter, my blog, etc. This is a good thing because everyone is invited. Yep, everyone--and if you don't live in Atlanta, you're additionally invited to crash with me while you're here.

So come on: check out the details and RSVP that you'll join us via this URL:

http://www.joshuaadams.com/bday

I hope to see you there!

Josh

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9.002. Contact Blog Owner