My $18 Standing Desk – One Year In

General,Health and Fitness — Jeff Eske on June 28, 2012 at 1:42 pm

I’ve been using a homemade standing desk for a little over a year now.  I’ve tried this off and on for a few years now and haven’t been able to stick with it.  In fact, the first few times, I wouldn’t make it for more than a few hours before I would give up.

I finally decided, after reading yet another study about the hazards of sitting all day, that I needed to really try it.  This time around, rather than using boxes or whatever I could find, I actually purchased something to serve as my keyboard/mouse stand.  It was kind of a fluke, but on a trip through Target, I happened onto a closet organizer that cost $18 (It’s available online for under $15).  I bought it, hauled it to work, and assembled it.

 

It ended up that it was slightly low, so I had to raise it, using a book about Sharepoint and a book about Outlook 2003.  They weren’t needed for anything else anyway…

My Standing Desk

My Standing Desk

 

In addition to raising the keyboard and mouse, I had to raise my monitor, to be more ergonomically correct.  We were cleaning the office and there were 3 KVM switches that were destined to be thrown away.  It ended up that they were the perfect height.

My Monitor Stand

My Monitor Stand

The nice thing about this setup is that I still have room at the end of my desk that I sit and use if I need to write, etc.  Or, due to the mobility of the whole setup,  I can clear it all off of my desk in under a minute and have a regular, health-sapping sit-down desk.  I found that it took me probably 2-3 weeks before I consistently felt like my legs weren’t lead weights by the end of the day.   Anymore, I don’t even think about it.  I can’t say that I’ve lost any weight or feel any healthier, but I’m still glad I’m doing it.  Sitting on my a$$ all day didn’t feel like I was killing myself either, so…

Anyway, I’m glad that I’ve switched to standing.  I still occasionally sit while I talk on the phone, or when I’m planning on paper, etc. but the majority of my workday is spent standing and I wouldn’t have it any other way.

UPDATE – February 2014 – Two Years In: I’ve just found out that I may not be able to use this standing desk going forward.

Jeff Eske

OTRS – Remove “Company Tickets” from Customer Portal

OTRS — Jeff Eske on June 21, 2012 at 2:27 pm

I’m not totally sure what a person is supposed to do with the “company” options within OTRS.  The way our organization is setup, I don’t see any real use for it.  In fact, in our situation, it probably wouldn’t do anything but confuse our end users.  To help eliminate that possibility, as well as to simply help simplify the interface, I wanted to remove the “Company Tickets” link from the customer interface.

After a little searching on the internet and a little poking around in OTRS, I found what I needed to do. I needed to remove an entry from Ticket -> Frontend::Customer::ModuleRegistration

1> Login to OTRS and go to Admin > SysConfig.

2> Use the Actions dropdown and choose “Ticket”.
Choose Ticket from Dropdown

3> Once the list of Ticket-related settings come up, scroll down and click on “Frontend::Customer::ModuleRegistration”.

Frontend::Customer::ModuleRegistration

4> Once you’re in the ModuleRegistration settings, scroll down until you find one called “Company Tickets”.

Company Ticket entry

5> Click on the little “minus” at the bottom of the entry, to delete it.

6> Once the page refreshes, scroll to the bottom and click on “Update” to finalize everything.

7> Log in to the Customer portal and verify that “Company Tickets” no longer shows.

Jeff

 

OTRS – Moving dynamic fields around in the New Ticket View

OTRS — Jeff Eske on June 15, 2012 at 10:53 am

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. 

Jeff

By default, OTRS places the dynamic fields at the bottom of the ticket and basically uses a function to scroll through and list them, one right after the other.  One nice feature that can be taken advantage of though, is the ability to hardcode the display of specific dynamic fields.  Using this, in addition to setting things up to show/hide the dynamic fields in different situations, allows us to setup the new ticket page in a more customizable manner.  You can actually put the code that displays the dynamic field anywhere within the ticket page that you want to, which means that you can move it from the bottom of the page up closer to the top, so that it’s more prominent.

One thing to remember though – if you leave the default dynamic field function in at the bottom of the page, the dynamic field will still be displayed there also.  What I did was comment out the default function and just hardcode in my dynamic fields where I wanted them.  The downside is that any new dynamic fields that are added to OTRS won’t automatically display.  You’ll have to go in and manually add them to the New Ticket page.  The upside is that you can position the field exactly where you want it on the page.

Jeff

OTRS – All Services for All LDAP Customers

OTRS — Jeff Eske on June 12, 2012 at 9:13 am

In our organization, we’re using our LDAP system as our customer database.  Since we have thousands of users, it would virtually impossible to go through and make certain services available to only certain users.  The easier way for us to do it is to make all services available for all users, so that we don’t miss something.

Within the Admin interface of OTRS, you can set a group of “default services” that are available to all users.  While trying this out, I ran into a problem.  I would add a new service, go in and add it to the list of default services and try creating a new ticket.  When I would do that, I wouldn’t be able to see the new service for ALL customers.  I searched and searched online to find a solution and couldn’t find one.  I went in to the actual files and tried to find a way to always pass a particular UserID, so that it would alway use that User to determine what services to populate.  That way, I could just make sure that user was linked to the service and it would be available to everyone.

Eventually, after meeting with failure on all of those attempts, I decided to try what felt like a “hail Mary” pass.  I decided to go in and actually delete all of the records out of the service_customer_user table.  After doing that, I went in and tried creating a ticket.  Well, at that point, NO services showed up!  I went in to the Customer <>Services area in Admin and found that there were no default services chosen.  I went ahead and checked all of the services as default services and, lo and behold, they all show up for every customer now.

It appears that as soon as you start picking individual services for individual customers, it seems to interfere with the default services.  Anyway, for me, it worked to just delete all existing records and then just re-check boxes in the Admin interface.

 

OTRS – Web Services from 3.1.2 to 3.1.4+

OTRS,Web Services,Web Stuff — Jeff Eske on June 6, 2012 at 3:21 pm

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 rpc-example.pl 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 rpc-example.pl 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

[CODE:]

$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:]

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):

[CODE:]

$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,
));

[/CODE:]

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

OTRS,Web Services,Web Stuff — Jeff Eske on June 5, 2012 at 9:53 am

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

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. | Jeff's Blog