An Exercise in Sensibility – Copy a Request

Today we’ll look at something that I feel is incredibly useful: Copying a request into another similar request from a catalog item while filling out a catalog item.

CopyARequest

We launched an employee onboarding requested item a little over a year ago.  In that year we’ve had tons of requests for employees, interns, contractors, and vendors.  One thing I noticed was it seemed there were chunks of them where users would be entering very similar requests repeatedly.  For instance, it was intern season, and a manager had 4 interns to onboard.  The requests were very similar: just the name, email, and maybe one or two other variables of 25 were different.  That seems like a waste of time to enter that information over and over.  After discussing this with a process owner, I learned that this functionality would be a huge hit with people.

So I started working on this on my own.  After a few attempts, I was able to get it up and going.  It’s still not been prioritized to be in a sprint for us (though it may be soon), but the good news is it’s already “done”, and just needs some automation around it to make sure it works nightly.

The “exclusions” piece was added late to the code.  I had thought you may not want to copy certain fields over such as renewal dates, and that seemed like the perfect way of doing it.

The update set has a variable set with a variable “copy_from” which is a reference to the current catalog item’s requested items.  Simply add that variable set to any existing catalog item, and modify the catalog client script provided, modifying it for the specific item.  Voila.  Your users now can have a way to repeatedly and quickly enter duplicate request data.  The client script has provisions for list collectors, which are a huge pain.  Shout out to SNGuru for having stuff about list collectors.

So how’s it different than “Bulk Requests“?  Well, we have variables read-only after requests, so copying a request verbatim is useless since it couldn’t be changed.  We also don’t really care if it’s under the same request, necessarily.  This can be something that is used well after the creation of a requested item, like if you’re extending a contractor (common use case for us, in fact).

Here it is in action.  Excuse the video quality – I tried a few different things with SauceLabs and can’t get the quality any better than that.

It works just fine in Fuji from what I’ve done so far.  Again, I won’t have extensive tests on this until it’s in a sprint and heading towards production.

Advertisements

8 thoughts on “An Exercise in Sensibility – Copy a Request

      1. Can you elaborate? We need something like this for our order guide so a manager doesn’t have to go back and fill out the same form again if they’ve hired multiple employees….I’m just not sure how we’d implement this.

        Do you have the field pointing to the Request table (since order guides contain multiple RITMs) and the user just goes back to the form again after checking out from the initial order guide submission?

      2. If it’s for something that needs to be multiple request items all at once with minor variations each time, I recommend not using the order guide, since without it you gain access to the Cart.
        That way, the user could copy a request, change one or two things, add to cart, change one or two things, add to cart, etc.

    1. Yeah, but I think I left off a step. I’ll update this article in the next few days, but I’ll let you know how it’s done.

      The JS files need to be associated with the Portal theme. There are some tables on the Portals > Themes record in the related list that allow you to do this.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s