The personal Blog of Chris Dempsey

Chris is a web developer working freelance in Ayr nr Glasgow, Scotland. Other business interests include Underground Grapics, a company that manufactures vinyl decals for modified cars.

Wednesday 15 June 2011

MODx - Enable TinyMCE Table Controls

To add the Table Controls to TinyMCE in MODx Revolution:
  • Navigate to System > System Settings
  • Select TinyMCE from the dropdown filter
  • Under the General Area add table to the value of tiny.custom_plugin
  • Under the Custom Buttons Area add tablecontrols to the value of tiny.custom_buttons3
    The Table Controls have quite a few buttons and are best suited to being on a custom_buttons row on their own.

    Update 11 March 2013:  TinyMCE is not available in MODX Revolution 2.2.2, instead search for tiny.custom_plugin and add table to its value, then search tiny.custom_buttons3 and add tablecontrols to its value.

    Screenshots from MODX Revolution 2.1.1-pl.


    More information in the MODX Documentation at: http://rtfm.modx.com/display/ADDON/TinyMCE.Table+controls

    Saturday 3 April 2010

    Canon EOS 20D Drivers for Windows 7

    The Canon Europe website does not list Canon EOS 20D Drivers for Windows 7 at this time. I tried the Vista driver installer but the 20D would not respond. Google came up trumphs again with a Forum post that suggested: Set the D20 Camera Communications setting on PTP instead of NORMAL.

    Works for me.

    Sunday 21 March 2010

    Fixing Unable to find the socket transport "ssl" on Windows 2003

    If you receive the error below, often seen when using the Zend Gdata library follow the instructions below to correct the issue.

    Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Unable to Connect to ssl://www.google.com:443. Error #24: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?'

    1. run phpinfo(); to find the path to the loaded php.ini config file
    2. open the file and ensure extension=php_openssl.dll is not commented out
    3. restart IIS from command prompt with command iisreset

    Saturday 20 March 2010

    IIS 7.5 ASP Error

    On freshly installed IIS 7.5 classic ASP website returns following generic error:

    An error occurred on the server when processing the URL. Please contact the system administrator.

    If you are the system administrator please click here to find out more about this error.

    Issue is caused by IIS 7.5 being set by default to not send errors to the browser. To change open the relevant site in IIS, select ASP

    Expand the Debugging Properties tree and set Send Errors To Browser to True. Then click Apply in the top right of the window.

    IIS will now send errors to the browser allowing easier debugging. Sending errors to the browser is not recommended for production environments as it can give away information that you don't want to such as the path to an access database.

    These settings can also be configured using the command-line tool AppCmd.exe with the following syntax:

    appcmd.exe set config "Default Web Site" -section:system.webServer/asp /scriptErrorMessage:"An error occurred."

    appcmd.exe set config "Default Web Site" -section:system.webServer/asp /scriptErrorSentToBrowser:"False"

    Tuesday 2 March 2010

    Error '80040211' - when CDOSYS email goes wrong

    We had an issue on an asp shopping cart site over the past day after it was moved to a new server. Initially it wouldn't send emails out which was easily sorted as the new server doesn't have Jmail installed.

    I switched it to CDOSYS instead but in my haste forgot that CDOSYS should be authenticated causing the following error:
    error '80040211'
    /includes/functions.asp, line 537
    This was an issue because during the checkout process the shopping cart sends an email to the store owner and the customer but this was failing and people thought their order hadn't been taken. Worse still there is no error handling for this and customers were just seeing a white screen with a non descriptive error.

    Fortunately the shopping cart software wrote all the order details to the database before the error occurred so we were able to contact those who thought their order had failed.

    Moral of the story is not to migrate a busy website to a new server and not test it thoroughly.

    Friday 26 February 2010

    And this is why some people should not be allowed to have content management

    Was working on a site that a client maintains using Macromedia Contribute recently. They were told it was a bad idea at the time...

    Check this out for a single paragraph tag:

    <p align="center" class="txtWhosWhoName style9" style="margin-bottom: 0;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:times new roman;font-size:13px;"><span style="font-family:Times New Roman;font-size:16px;"><span style="font-family:times new roman;font-size:13px;"><img src="images/2010_000.jpg" width="700" height="525" /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>

    Wednesday 17 February 2010

    How to change an image filename in Picasa Web Albums

    Picasa Web Albums does not seem to allow users to edit the filename of an image once it has been uploaded.

    The filename can be changed using Picasa by doing the following:

    Select the image you wish to rename and press F2 to rename, or select the image and choose File > Rename and enter the filename you wish to use.


    To have the new filename shown in Picasa Web Albums simply select the image(s) you wish to update, right click and select Online Actions > Update Online Photo


    More details on changing an image filename in Picasa Web Albums, including notes on how to sequentially number a selection of photos is available at http://picasa.google.com/support/bin/answer.py?hl=en&answer=19548