ColdFusion Handler Fix for WebsitePanel

ColdFusion 3 Comments »

The current version of WebsitePanel does not setup the ColdFusion handler mappings correctly when you enable CF via the website properties page, it does not create the required Wildcard handler and instead only creates the regular individual file extension handlers.

This fix solves that problem and creates the wildcard handler instead.

The below zip contains 4 files, the 3 x .dll files need to be uploaded to each of your coldfusion servers in the root of the "websitepanel server" site. ths IIS60.cs file is the source code.

DOWNLOAD HERE

Do I have an Internet stalker

Jibber Jabber 11 Comments »

The internet is full of freaks and weirdo's and unfortunately I have come into contact with my fare share of them, but that is one of the pitfalls of using the Internet and especially if you regularly use forums and discussion lists. While i am not a fan of Facebook, at least this a medium where you have control over who you speak to and who can speak to you, if someone annoys you then you can block them, and only the people you know and trust can read your ramblings.

The other big problem you have on the Internet is that it is a very poor communication medium due to people misinterpreting things that are written and inserting their own perceived emotions or intentions into electronic communications which then often causes them to react in a confrontational and often aggressive way, which invariably  spawns an argument. We have all been guilty of this at some point, and I am certainly no exception and as anyone knows me well is aware, I unfortunately get sucked into these things far too often even against my better judgement and good intentions.
When these things happen the best thing to do of course is to walk away and not get involved, and preferably just try to ignore the other person or persons, sadly something I am not very good at due to an unabated need to defend myself to the bitter end, which is usually a fruitless endeavour when dealing with people who simply will never admit they are wrong, will never apologise or are simply plain ignorant.

A recent unfortunate incident spawning from an utterly ridiculous misunderstanding that blew all out of proportion causing smart and intelligent people who should know better to behave like degenerate teenagers, also resulted in the following  allegation which I found particularly odd.

"You often treat the folks on "list name removed" as your own private support team makes me very frustrated. You are the reason that
I've unsubscribed from "list name removed" twice over the years - at one point, over 50% of threads on "list name removed" were you trying to get help on various configuration and coding issues."

Now aside from the fact that "asking questions" to get help from your peers is exactly what a discussion is for, I knew this wasn't true as I simply do not have that many questions to ask as I am very competent in what I do as I have been doing it for a long time and I am not a developer anymore and have not been for many years, so I simply don't have coding issues. So in my quest to defend myself against this accusation, I decided to go and dig up some evidence. It was of course no surprise to discover that the above was not true, and after checking the list archive I discovered I had actually only posted 3 questions in total this year. I passed this information to the accuser to see what his response would be, and this is where it gets a bit spooky.

he responded with
"Go back to 2005 - which was when I unsubscribed because of the volume of threads you started, asking for help."

Now I wont sink down to the same gutter level by naming and shaming him, but I do know who this guy is and he is a respected member of one of communities I am also part and a generally smart (albeit big headed) guy in the programming world, but I am not friends with him and have never had any personal commination with him before now, so why on earth would someone I barely know have such a vivid memory of something I did 6 years ago or go to the effort of searching through 6 years worth of emails to find this information? 

Now I  have to say I actually found this quite disturbing and a bit creepy for someone to be this obsessive, I don't even know what I did 6 years ago, and I would imagine most people don't know.

Adding additional email headers to the Kayako SupportSuite parser

Kayako No Comments »

 

One the many problems I have found with Kayako SupportSuite is that it only checks the TO and CC addresses, this applies to email queues, parser rules and catch-all rules.
This means that if you have emails that are BCC'd into your ticket system, they wont work. Situations where this may be required is where you have an automated system that sends out overdue invoice alerts/reminders to customers and BCC's them to you so that you can action them.

The way round this is to tell the parser to check additional email headers, which headers you need will depend on your mail server. Google Apps for example uses a "delivered-to" header to record the final destination of the email.
To find out which header the destination email address is stored in, simply check your parser log and check the headers for a rejected email.

To add additional headers edit the file "<installation folder>\includes\functions_mime.php

Around line 130 find the following line

foreach (array('to', 'cc', 'x-rcpt-to') as $header)
and change it to
foreach (array('to', 'cc', 'x-rcpt-to', 'bcc','delivered-to') as $header)

Obviously you can add any number of additional headers in the same way.
I have also discovered that the CATCH-ALL rules do not work on the FROM address, presumably because the catch-all parser also uses the above code.
You may also be interested to know that the parser rules are post processors and will only parse emails that have already been accepted into a queue, so a queue must exist for the destination address.
The catch-all rules are pre-processors and will parse emails BEFORE processing them into a queue, so you can use these to process emails that would not otherwise be accepted as tickets.
Unfortunately resolving this issue was another painful battle with Kayako support, requiring screen shots, multiple repeat explanations and explaining how their own software works yet again.
As has been the case many times, their original work around/suggestion was to create a catch all rule with the following regex "(.)*", which will basically bypass all rules and queues and accept any email into the system, including every bit of spam.
I really wish their support staff would use a bit of common sense.

 

Railo default document management

Railo 2 Comments »

By default your installation of Railo on Tomcat may not handle default documents as expected, by this I mean when you go www.yourdomain.com it should load index.cfm by default but doesn't even though you have this set as a default document on the web server.  You may also find that you are having issues mixing CFML and PHP or ASP together on the same site.

To solve this you need to edit your uriworkermap.properties file and add the following line

/=ajp13

This will process all requests through Tomcat so will handle the default documents.

But what if you have a site that has CFML and say PHP or ASP pages and the default document is not CFML ? This is the situation I found myself with and the non CFML pages would not load the solution is in the tomcat documentation.

Add the following to the above file

!/*.yourdomain.com/=ajp13

This will do the complete opposite of the previous statement, it tells tomcat not to process ALL FILES for the specified domain, so only files with a .cfm extension will be processed

You will also need to exclude other non cfm extensions from being processed like this

!/*.asp=ajp13
!/*.aspx=ajp13
!/*.php=ajp13
!/*.shtml=ajp13

Which tells tomcat not to process these file extensions.

So here is what my entire uriworkermap.properties file looks like, which allows me to run CFML, ASP, PHP and SHTML pages on the same site, but bluethunder.co (which is mostly SHTML and PHP) will not process the default document through Tomcat but will still run CFM pages.

!/*.asp=ajp13
!/*.aspx=ajp13
!/*.php=ajp13
!/*.shtml=ajp13
/*.cfm=ajp13
/*.cfc=ajp13
/*.cfml=ajp13
/*.cfchart=ajp13
/*.cfm/*=ajp13
/*.cfml/*=ajp13
/*.cfc/*=ajp13
/*.jsp=ajp13
/*.do=ajp13
/flex2gateway/*=ajp13
/flashservices/gateway/*=ajp13
/messagebroker/*=ajp13
/=ajp13
!/*.bluethunder.co/=ajp13

How I got started in ColdFusion

ColdFusion , Jibber Jabber 5 Comments »

In response to Steve Bryant's post to have a "How I started in ColdFusion" day, here is my entry 

A very long time ago in a galaxy far far away (1998)  I got a lowly "web support" job for an ISP called Nacamar, it was a pretty low paid job and even though there was only 3 of us,most days I had nothing much to do as their senior web designer did everything, so I spent my time learning new stuff and generally fiddling/playing with webby stuff. I already knew basic HTML, JavaScript and CSS, but I wanted to learn something more and do some real coding. After the company Xmas party my opportunity arrived, the web designer got very drunk and managed to get himself fired due to his outrageous behaviour (at one point he actually jumped on the bosses back and attacked him LOL). This meant I was now the only web resource they had so I started to offer up my ideas of how to improve things. I managed to get my own office and my own development server setup and proceeded to investigate server side scripting technologies, there was not a lot of useful info on this topic back then, and while I may have briefly looked at CF, I think the info was rather sparse, Perl looked like a nightmare and so I opted to learn ASP and proceeded to make their website more dynamic, and also created a new intranet for them.
Not too long after this they employed a new Manager who I could only describe as "A corporate dick", he was prejudice against anything "different"  and so as you can imagine  my multi coloured mohawk did not go down well this chap.  So I decided it was time to move to pastures greener, and started job hunting. It didn't take long before I got an offer from a company called Redeye, a new startup, to help develop their new Analytics software using this technology called "ColdFusion".  So it was a learn on the job role, I had to learn CFML and Oracle (as well as SQL in general) while I was developing the App, which was no easy task I can assure you, especially as there was no real project spec, the only person who really understood what this app was supposed to do was the boss (Paul), and he could only really explain it to you from a business perspective rather than a technical perspective, so there was a lot of make it up as you go along and then rewrite it when it was wrong. I became proficient in CF quite quickly and really started to like it, it was definitely better than ASP I thought.

Then my 3 month review came up and I was rather surprised to be told by Paul that my work was not up to scratch and I was not producing results fast enough so he would have to let me go, which was disappointing as I did like it there, but it was quite a long trek every day. This however turned out to be a good thing thing as I walked straight into my next job at almost twice the salary and nearer to home. I also bumped into Paul some months later and he told me that he had been very wrong about me as every developer he had employed since had been no where near as good as me, did not grasp the concept as well and produced results at about half the speed, so it was clearly his expectations which had been too high, I didn't gloat (much), ok yes I did and I still am :-).

My next job was with a company called Online (now deceased) as a senior web developer. They did not use CF or in fact any technology in particular, they just had an exisitng  site which I was to build and maintain for a U.S. client who wanted to launch an ISP in the UK, which had a few ASP pages on it. This was the cushiest job you could possibly imagine, other than updating the odd page here and there, I had very little to do on a daily basis, I even built a rudimentary CMS for the ASP pages so the designers could update them themselves and reduced my workload even further. This gave me more time to play with CF, and this is when I really became part of the community and joined the UK CFUG discussion list and started answering every single question that was posted (it was quite active back then). It became quite comical because I was so fast at answering questions that often people would get my reply in their inbox even before the original post (not sure how). Spending so much time helping others is really what boosted my CF knowledge and skills to Expert or Guru level, I actually learned far more solving other developers problems than I did doing day to day coding. It was during my time here that I started CFDeveloper and became the first and only site to offer free CF hosting.
As new projects started within the company I of course did everything in CF and gradually replaced all the old ASP code, but eventually I saw Online's demise on the horizon even before they did and so again it was time to move on, which is  when I decided to start my first company Satachi back in 2000 doing ColdFusion development and consultancy and hosting, and then eventually led to CFMX HOSTING and now BlueThunder Internet.

Powered by Mango Blog. Design and Icons by N.Design Studio
RSS Feeds