GoDaddy’s PHP support is questionable

Over the past few days I have had a back and forth e-mail dialog with GoDaddy Support regarding their PHP support (or lack there of).  Some of their responses are just silly.  Since they don’t support allow_url_fopen, I wanted to use cURL.  Well, apparently cURL isn’t supported with their Windows hosting service and even with that, requires a proxy configuration.  So then I decided to use fsockopen() since GoDaddy states it is supported for all PHP hosting plans.

Well fsockopen() times out when I try using it.  I got the following from GoDaddy support:

Dear Mike,

We apologize for the confusion.  While fsockopen() is supported you would need to be on an account that fully supports PHP.  You would need to switch to a Linux Hosting account.  If you do not wish to switch to a Linux Server, you would need to use custom coding.  Unfortunately, we do not provide coding or scripting support through this forum. I recommend performing a search on a search engine. I apologize for any inconvenience this may cause.

Please let us know if we can assist you in any other way.

Sincerely,
 
John B.
Online Support
Technician 

What kind of nonsense is this?  No where is it stated that it isn’t supported.  So respond to them and ask for a list of what is and isn’t supported with respect to running PHP under Windows.  This is what I got back in response – it is just nonsense – it points to me to a Linux configuration, how helpful is that?  Not only does it point to the wrong platform, but what it reports would indicate that what I want to do is supported!

Dear Mike,

As our Windows IIS 7 plans support PHP 5.2.5, please refer to the following link for a full list of supported PHP options:

•  http://gilahacker.com/info.php5

Please let us know if you have any further questions, comments, or concerns. Our service departments and telephone lines are open 24 hours a day, 365 days a year to accommodate your needs anytime.

You can reach us by phone to the following numbers:
(480) 505-8877 Technical Support, Sales and Service
(480) 505-8855 Billing

Or, you can send an email for speedy electronic service to the following address:
support@supportwebsite.com – Technical Support, Sales and Service

We look forward to serving you in the future.

Please let us know if we can help in any other way.

Regards,
Stacey P.
Online Support

It makes one wonder if their support people actualy read what is sent to them. So I responde back to them pointing out that their response was not very helpful and ask my question again as well as another request for what is and isn’t supported with PHP running under Windows.

My most recent response was a request for a code sample to see what isn’t working, hopefully this will resolve the issue once and for all, stay tuned!  The response also included a statement that they, GoDaddy, don’t have a document which articulates the differences between PHP support running under Windows and PHP support under Linux.

Dear Mike,

We apologize for any inconvenience this may have caused you. Currently fsockopen() is supported on your hosting account. Please send us the full URL of a page we can duplicate the error you are having so that we can troubleshoot this error. Unfortunately, we do not provide technical support with third-party scripting issues. However if the issue is being caused by a misconfiguration on our server we would be happy to resolve this for you.

Unfortunately we do not have any documentation available that will show you the difference in the php configuration between out Linux and Windows accounts. We apologize for any inconvenience this may have caused you.

Please let us know if we can help you in any other way.

Sincerely,
Jeremy T
Online Support Technician

More on Phoogle & Google Maps

The members of the WordPress Hackers mailing list are really helpful and usually a very clever bunch.  I posted my dilema last night and received a couple suggestions, one of which was to abandon cURL and use Snoopy because it is embedded with WordPress and therefore would always be avaialble.

Sounds like a good idea so I check it out.  While I don’t care for the way the class is implemented (direct access to class variables), it if works, I don’t really care.  So I set it up and sure enough, it works in my development area.  Off the production server and nope, it doesn’t work either.  Snoopy depends on fsockopen which GoDaddy says is supported on all PHP hosting plans but it times out so I am guess what they have stated in their help system isn’t true.

Now I am not sure what to do other than to pursue a Javascript solution.  GoDaddy is quickly going on my “less than happy with” list.  I wonder if a Linux server would be any easier?

Demo Site is running … sort of

The nice folks at WinSwim are interested in what I am doing with this plugin and have offered to host a demo site.  You can find it at:  http://wp.winswim.com  The demo site is running for the most part, if you are interested in trying it out, go ahead and register with the demo site then drop me an e-mail so I can change your permissions so you can actually do something other than register sample swimmers.

I say the demo site is running “sort of” because just about everything is working although there are a few bugs I know of (e.g. defining age groups).  The one thing which isn’t working and it is driving me nuts is the ability to display a Google Map.  This is a really nice feature that my own team used quite a bit this year.

I have encapsulated a class called Phoogle within wp-SwimTeam and it worked just fine in my development area and on the MacDolphins site.  Phoogle relies on a PHP configuration option known as allow_url_fopen which basically allows PHP to open a web page on an external site and read the content like it would a local file.  It’s a nice feature but one that a lot of web hosting providers turn off.  In fact, the host for the demo site has it turned off.

There is another technology called cURL which for all practical purposes, accomplishes what allow_url_fopen does although it is a little more involved.  I enhanced Phoogle to use cURL if allow_url_fopen is disabled and it worked just fine in my development area.  Great!  The change was pretty simple too.  Uploaded to the production server and nothing.  It doesn’t work there.  It turns out that GoDaddy (the web hosting provider) has a goofy cURL implementation which requires the use of a proxy.

After a much trial and error and a couple e-mails with GoDaddy support, all I have accomplished is a partial cURL request.  I am unable to get a complete response which prevents the map from being displayed.  I then got another e-mail from GoDaddy telling me that cURL is only supported on their Linux hosting environments not under Windows (even though it is enabled in PHP.ini).  Bleh.  ;-(

I think for now when I find a short code, I will check the allow_url_fopen setting and if it is off, will issue a warning during the short code processing.  There is probably a way to interact with the Google Maps API via Javascript, I guess I will need to look into that.  It is really too bad, the Phoogle solution was really simple to use.

Struggling with MS Access

While it isn’t really relevant to the wp-swimteam plugin, it is related to swim team.  Our team is using WinSwim for meet management which relies on Crystal Reports for generating reports.  I have been customizing reports for our team and am working on one which requires me to really poke into Access.

I have done quite a bit of work with MySQL so it is frustrating to encounter SQL constructs which Access doen’t support.  Right now I am struggling with how to determine if a table in Access already exists and if it does, I want to drop it.  What a PITA.  Access doesn’t support the DROP TABLE IF EXISTS construct which MySQL (and others) support.

If you know how to do this, please tell me how in the comments!  🙂

High on WinSwim, low on MeetManager

I have posted on this subject before but after spending a bunch of time with WinSwim this weekend I want to talk about it again.  I really like WinSwim.  Gary Wood (the author) provides top notch support.  I have run into a few bugs and his turn-around time to fix them is phenominal, usually within a day or so.

The last one was a wierd one though.  I was unable to run any of WinSwim’s reports.  I installed it on my wife’s computer and they ran fine.  WFT?!?  I provided a slew of data to WinSwim Support and got an e-mail back from Gary explaining that in his opinion, what was happening was I likely had Hytek’s Meet Manager installed (I do) as it uses an old version of Crystal Reports, the same Report Module which WinSwim uses.  Because WinSwim expects the newer version, they won’t work.  Bleh, what a mess.  I am still trying to figure out how to rectify this situation.  I can’t imagine what I’d do without Gary’s support.

It shouldn’t be this hard …

Today I finished the first pass on generating an SDIF file for the roster.  I sent it to Hy-Tek and it doesn’t import.  Great.  Apparently they don’t seem to support all of the SDIF specification, just some of it.  No mention of that anywhere on their web site.

On the plus side, I found a better version of the SDIF specification on the WinSwim web site.  If I can get WinSwim to digest the SDIF file I generated, I may push our team to use it.

SDIF Checker!

I have been trading e-mail with a support guy at Hy-Tek regading Team Manager’s ability to import SDIF.  After our dialog, I am not sure Team Manager can import the roster I am trying to generate.  It can import results but based on the samples Hy-Tek sent me, it isn’t clear if it will deal with the D1 and D2 records or not.  Since they won’t send me an evaluation version, only the Lite version which doesn’t support SDIF import, I have to sending them my SDIF file for them to import and see what I get back.

I am also looking at WinSwim which actually looks like a better solution for most club swim teams.  WinSwim also offers a really useful SDIF Checker which will help me out greatly.  Using the checker, I should be able to send Hy-Tek what I believe is a good SDIF file.

It really boggles my mind that Hy-Tek is the defacto standard when their tool is so hard to use and to get data in and out of.  Convincing our team that WinSwim may be a better choice for us will be no small feat.

Specification Inconsistencies

I haven’t had a lot of time to work on the plugin but got back to it last night and am really trying to get the roster export completed.  It isn’t hard but it is tedious as there is lots of data to output in the SDIF format.  I am close to being done and found an inconsistency with the D1 record.  It allocates 12 characters for the USS# field however the USS# field is 14 characters long.  Since it looks like it is only mandatory for submitting data to USS, I may omit it.  I also sent an e-mail to Hy-Tek to see how they handle it, we’ll see if they respond.  For now I think I will omit it and move on.  I need a copy of Team Manager to test with – that is my next dilema.

Hy-Tek Team Manager – bleh

I have learned quite a bit about Swim Team software in the past month or so that I have really been working on this project.  Once I got the basic plugin working, I started looking into how we can use the registration data we collect with some of the commercial Meet Manager software.  Hy-Tek seems to have the vast majority of the market for Swim Team and Meet management.  Unfortunately Hy-Tek has a really closed software solution and have no plans to open it up.

I find it amazing that Team Manager cannot import a roster from Excel or other ASCII (CSV, tab delimited, etc.) file.   I spoke at length with their tech support yesterday and they fully believe all of the data entry should happen in their tool.  That would be ok if it was the least bit user friendly but it isn’t.  One of our coaches shuddered at the thought of entering the roster in Team Manager this year – after enter a couple of swimmers, I completely understand why.  It will take a long time.  A really long time.

I am now on a mission to produce US Swiming’s SDIF v3 files from our database to try and import them into Team Manager.  If this works, then we should be ok.  The SDIF v3 specification is old – about 10 years old and reminds of old FORTRAN punched cards or CoBOL.  Each record has specific character widths and positions.  It doesn’t look to hard.  USA Swiming’s new XSDIF specification would be better but Hy-Tek has no plans to support it.  XML is absolutely the way to go with this sort of interchange data.