Microsoft’s new webmail “client” – and why I’m dropping gmail

Posted on August 6, 2012

I’ve had a account for a few years now, but haven’t really used it.  The one thing that I do use it for is the Family Safety feature.  With 3 kids in the house, it’s a nice extra layer of internet protection.

To this point, I haven’t really used the Hotmail/Live email side of things, outside of checking the messages that Family Safety gives me.  Well, now that Microsoft announced the new interface, I decided to give it another try.  Now that I’m almost a week in, I’m pretty sure that I’m going to ditch gmail and stick with Hotmail/Live/  gmail, and its Conversations has always annoyed me to no end.  I tend to prefer my mail to be chronological, not grouped together.  I know, you can supposedly disable that, but that STILL doesn’t solve the problem of how the gmail client on my Android phone works.  I’ve NEVER been able to get it set so that I can just see a simple listing of my GMail Inbox.  That, along with Google looking over my shoulder to see my email and watch where I surf, has pretty much turned me off to Google’s products.  I understand the idea that I have to give a little to get free stuff, but it’s still too much for me.

Anyway, last week, I went into gmail and set it to forward everything over to my account, but still save a copy.  I’ll leave it that way for a while, then probably eventually set it to delete off of there.  Since they’re generous with their storage though, I may just let it pile up.

Setting up both my personal Android phone (Droid) and my work phone (iPhone) to check my live account was simple.  Hotmail/Live/ only supports POP and ActiveSync and not IMAP.  Fortunately, with both phones, that’s not an issue.  Both of them support ActiveSync and, in fact, the iPhone has a Hotmail choice for setting up an account.  The nice thing about ActiveSync (and IMAP) compared to POP is that you can see all of your online folders.  This is great if you sort you messages into folders.

So, going forward, I’m going to start using account a lot more.  I’ll be able to stay logged into it and not worry, at this point, about Microsoft building a dossier on all my online activity.  Hopefully this will work out in the long run.

Jeff sounds good but…

Posted on August 3, 2012 founder Dalton Caldwell’s Audacious Proposal to create a paid-for messaging service sounds fine, but I think there’s a “but” that hasn’t been brought up yet.  I’m not sure what the “but” is, but my guess is that there will be more revenue generation than just membership fees.

Dalton proposes charging his users/developers for use of the service.  On the signup/promotional page, he lists 3 tiers – Member, Developer, and Pro with corresponding prices.  He talks about supplying APIs, documentation, etc. to differing degrees, depending on Tier.  That’s all well-and-fine, but I don’t understand who covers the infrastructure costs as things ramp up.  What happens if I build the next Twitter, or Facebook, using his API(s) and it’s a huge success.  Suddenly, I, the $100/year developer am incurring thousands of dollars a day in bandwidth usage, due to all of the non-paid users accessing my Twitter-killer service.  Who eats those costs?  Or, are all of my users going to have to stump 50 bucks to access my app, to cover there usage?  Is the membership price just padded to cover that?

Don’t get me wrong.  I hate being poked, prodded, and stalked all over the internet.  I really and truly hope it works, but I’m just not sure without seeing more specifics, like an actual business plan.

Anyway, just my 2 cents.



Targeted Ads Getting More Targeted

Posted on August 1, 2012

Is it just me, or are targeted ads getting more targeted?  For a while now, ads have been semi-relevant to my interests.  In the last couple of weeks though, it seems like they have gotten much more targeted. In fact, in some cases, they seem to almost mirror (Google) search results from my past searches…  I keep forgetting to logout of gmail, so I’m thinking that could be the problem.  Since Microsoft announced their new interface, I’m seriously considering switching.  I’m not really a Microsoft fan, but over the last year or so, I’ve become less of a Google fan also.


OTRS – Simple Web Service Example Using PHP

Posted on July 27, 2012

UPDATED:  I’ve changed employers and have moved on to other projects.  I no longer use OTRS, or have access to OTRS, so I won’t really be able to help you beyond what I’ve already posted here. 


A fair amount of my traffic seems to be people looking for information about using web services in OTRS.  I’ve written a couple of entries about this in the past.  One covers changes in the services from 3.1.2 to 3.1.4.  In the other entry, I briefly described how easy it is to create tickets via web services.  This time around, I’ll provide a basic example of how to actually create a ticket via web services, using PHP to make the TicketCreate() SOAP request.  I’m in the process of integrating this into a mobile front-end for OTRS.

UPDATE: 2013-2-25 – I’ve just tested this with version 3.2.1 and it still works, as is.

UPDATE: 2013-3-5 – I’ve added a post describing how to use the OTRS TicketGet() SOAP function also.

I’ve created a zip file that contains two files.

form.html is a VERY basic html page that has a form on it.  There are only 3 fields in the form – Customer Login ID, Title, Description.  You could very easily add, or even remove, fields in the form to allow more, or less, control by the end user.

add_ticket.php actually does the heavy lifting.  There’s a section towards the top where you’ll need to set some variables to match your implementation of OTRS.  I’ve commented the code, but I’ll go over the variable part below.

Here’s the section of add_ticket.php that will need to be updated to your specifics:


#  You can set others in the code below, but these should be the main  #
#  things that you may want to adjust.                                 #

$url      = “http://your_otrs_server/otrs/”;  // URL for OTRS server
$username = “SOAPusername”;  // SOAP username set in sysconfig
$password = “SOAPpassword”;  // SOAP password set in sysconfig
$typeID = 2; // id from ticket_type table
$queueID = 2; // id from queue table
$priorityID = 1; // id from ticket_priority table
$ownerID = 2; // id from users table


The first 3 – $url, $username, $password, are all pretty simple.  As the comment in the example above notes, and as Tomasz pointed out in his comment, you will need to set the SOAP username and password in the OTRS Admin interface at –


One thing to remember on the URL is that if you are using SSL on your server, you’ll need to change from http:// to https://.  The other 4 – $typeID, $queueID, $priorityID, and $ownerID,  will all need to be changed to ids from your system.

I use MySQL Query Browser to pull back this info but, due to the way OTRS works, you can gather that info directly from the application.  For instance, to find the id for the user that you want to use as the default owner, you can simply go in as an Admin and goto Admin > Agents.  Once you have the list of Agents, simply mouse over the Agent that you’d like to use.  When you mouse over, you should see the URL in the Status Bar of the browser.  If you look at the URL – https://otrs_server/otrs/;Subaction=Change;UserID=2;Search=, you’ll see UserID=some number (bolded in the example).  This number is the id that you need.  Same with the other values.  You should be able to find places within OTRS with links to the things that you need.  Within the URLS, there will be an id=number.  That number should be the value that you need.

If you understand PHP, forms, and form processing, it’s really easy to expand the usefulness of forms.  Some examples would be:

1> Add form fields to collect specific information from the customer that is necessary for solving the problem but isn’t readily available otherwise.  You then take those bits and pieces and combine them into the description, via the add_ticket page.  This can get you a more complete description of the problem than possible with a simple text box where the customer is responsible for trying to figure out what needs to be added.

2> Add a Type dropdown to the form and pass that id over to add_ticket.  That would allow the customer to indicate if it was a failure, request, etc.

3> Add a Priority dropdown to the form and pass the id.  That would allow the customer to indicate what they think the priority is.  In my experience, most will mark it as High Priority, no matter how mundane the issue…

Generally, in my experience, the less choices that you give to the customer, the better off you are.

Anyway, have fun.

Jeff Eske

Download the zip file – Simple Web Services example

OTRS – Web Services from 3.1.2 to 3.1.4+

Posted on June 6, 2012

UPDATE:  I’ve now created sample files and posted a quick run-through on what’s needed to use them.

When OTRS was upgraded from 3.1.2 to 3.1.4, it seemed that web services were broken.  After upgrading, my form-to-ticket processing page quit working.  I did some investigating within OTRS documentation, as well as looking at the included script to see if I could figure out what, if anything, had changed.  I went back out to their site and looked at the release notes for 3.1.4 to see if it could shed any light on the situation.  Well, in the release notes, it indicates that it fixes “Bug#8363 – SOAP Transport can’t send a value ‘0’”.   “OK then”, I say.  They did something with the web services and broke something else.  Since I knew 3.1.2 web services worked, and I needed them, I just stuck with 3.1.2.

It’s been a few weeks now and they’ve released 3.1.5 and 3.1.6 now.  I decided to download 3.1.6 and see if they “fixed” the web services problem.  Well, after upgrading my system to 3.1.6, web services STILL didn’t work!  Well, either they didn’t really care about web services, or I was missing something!

I started digging into things and found that, from what I can tell, there are now numerous other values that need to be passed in to successfully create a new ticket (not an article) via web services.  Also, as far as I can tell, the the script and the documentation haven’t been updated to indicate that.  Ive included “before” and “after” examples below.  I don’t remember for sure anymore, but I think that this blog post was my starting point for creating my original processing page.

Code that worked BEFORE 3.1.4


$TicketID = $client->__soapCall(
“Dispatch”, array($username, $password,
“TicketObject”, “TicketCreate”,
“Title”,        $title,
“Queue”,        “Raw”,
“Lock”,         “Unlock”,
“PriorityID”,   1,
“State”,        “new”,
“CustomerUser”, $from,
“CustomerID”, “some ID”,
“OwnerID”,      1,
“UserID”,       1,


Code that works for 3.1.6 (I skipped 3.1.4 and 3.1.5, but I assume it works there also.  I’ll test to see):


$TicketID = $client->__soapCall(
“Dispatch”, array($username, $password,
“TicketObject”, “TicketCreate”,
“Title”,        $title,
“TypeID”,    2,
“QueueID”,   2,
“LockID”,  1,
“PriorityID”,   2,
“State”,        “new”,
“CustomerUser”, $from,
“CustomerID”, “some ID”,
“OwnerID”,      1,
“UserID”,       1,


Note that I had to add TypeID, change Queue to QueueID and Lock to LockID, all with corresponding ids from the database.  Whether this is the ONLY solution or not, I don’t know, but it did get things back to where I can submit via web services again.

Jeff Eske

OTRS – Creating a Ticket Via Web Services

Posted on June 5, 2012

UPDATE:  I’ve now created sample files and posted a quick run-through on what’s needed to use them.

The self-service page in OTRS works well for submitting tickets, but it can be made even simpler.  OTRS comes with web services capabilities that are really easy to take advantage of.  By using the web services, you can create a form with specific fields to be filled in, to help guide the customer through providing the information that you want to collect.

You could make a single-page form with all of the fields listed in one place, or you could create a “wizard” that walks the customer through a series of questions to get all of the desired information.  Once it’s all collected, you send it to a submission/processing page that associates the collected information with the appropriate field(s) within OTRS and submits it.  With my setup, I’m collecting information via several form fields, then basically combining them all and placing them in the ticket body.  I’m also determining which queue the ticket will end up in, based on the form name.  If it’s FORM1, it goes to this queue, with this priority.  If it’s FORM2, it goes to this queue, with that priority, etc.   This allows us to collect very specific information from the customer and have it sent to the correct people with no outside intervention.  It’s pretty handy.

Jeff Eske

OTRS – Web services appear to be broken in OTRS 3.1.4

Posted on May 3, 2012

I’ve upgraded my test machine to OTRS 3.1.4 and now my web services seem to have quit working.   They did a fix (Bug#8363 – SOAP Transport can’t send a value ‘0’. ) and now, that’s all I get!  I get no error message indicating that there’s a problem, but no ticket is created and it tells me that it created Ticket 0.  At least it can pass me that zero now…

UPDATE:  Well, it appears that the web services might not have been broken, but they changed some of what needs to be passed in to be successful – see Web services from 3.1.2 to 3.1.4+ for details.

Filed Under OTRS, Web Services, Web Stuff | Comments Off on OTRS – Web services appear to be broken in OTRS 3.1.4

Adding PHP to IIS 7.5

Posted on October 4, 2011

Got php up and running successfully on IIS 7.5 (Windows Server 2008R2) today.  Will post the step-by-step instructions shortly.  I’m hoping that this will allow me add the ability to create web forms that can submit tickets directly ITSM.  We’ll see how it pans out.

Web Services – Slowly but surely…

Posted on August 23, 2011

Just figured out how to get a SOAP request to submit successfully in ITSM7, via soapUI.  Now to figure out how to do something constructive with it.

Learning Old-School Web Services

Posted on July 21, 2011

I’m in the process of bringing up a new version of ITSM (Version 7), and we have an outsourced call center that needs to be interfaced with it.   ITSM has old-school web services (SOAP) available, but they’re not terribly well documented.   Consequently, it’s given me a lot of reason to spend time pounding away learning how to implement web services.  It’s pretty interesting.  I’d like to dive in and learn more about REST APIs, but don’t know when I”ll have time.

« Previous Page

© Copyright Jeff's Blog • Powered by Wordpress • Using Detour theme created by Brian Gardner.