Updating the random team name generator

A couple years ago I needed some team name ideas for a fantasy football league. I searched around the web for a random team name generator, but didn’t find anything that suited me.

I was learning PHP at the time, so I decided building a random team name generator would be a fun project, and not too hard for a PHP novice. I documented the main points of my approach here in this post, which shows a few of the basics.

The random team name generator only generates errors

Unfortunately, I let the original team name generator languish. I didn’t put a whole lot of effort into maintaining it. It still generated team names just fine, so why bother upgrading it? Well, the problem was that my website platform was still being actively developed and changed. WordPress changed so much, in fact, that soon my original team name generator was causing serious issues on my site. It even was generating HTTP 500 errors for a while. Not a good situation. My rankings on search engines for keywords like “fantasy football team name generator”, “funny team names”, “random team name generator” and several others fell drastically. The original team name generator was on the first page of most search engines for those key words, but quickly fell. Traffic ground to a halt.

But, I wasn’t too worried about it, because writing the first random team name generator was not a commercial endeavor. I did it just for fun—to see if I could build something that would give me some team name ideas for my fantasy team.

The new random team name generator

So when a project at work required me to write some PHP code, I thought I should dust off the old random team name generator, and update it, but this time I would make it a little more robust. I probably won’t actively develop it, but the new random team name generator should be able to:

  • Be edited and updated easily
  • Survive WordPress version updates
  • Be independent of theme or other plugins

So, after much research I converted the old random team name generator into a custom WordPress plugin. Many of the core PHP functions are the very similar to the original. I still have a get_random_team_name function which builds one random team name from the three arrays. The get_list_of_team_names function contains a loop that gets 10 random team names. Some other code handles the HTML formatting and appending to the page content. When the plugin is enabled, the random team names simply to the bottom of the Team Name Generator page.

What is next for the team name generator?

There were some features of the old version that I haven’t added yet into the new random team name generator. However, looking bag at my old traffic logs, they weren’t used very often. It seems most visitors come to the site looking simply for a list of ten random team names. The current version of the Team Name Generator does just that.

I will follow the comments closely and see what else needs to be added. I will occasionally tweak my lists that build the random team names. I may need to add some social sharing capabilities. However, I am much happier with the new solution. Hopefully it will be able to provide some good random team names for many people.

Simple request, simple solution

I work for an international company that has organizations all over the place, and some users can’t figure out the currency for some organizations easily, which can be a problem when analyzing item costs.

So, we got a fairly simple request. The request was to create a way for users to look up the currency code when looking at the Item Costs screen in Oracle.

One member of our team suggested two ways to solve the problem. The first was to create a descriptive flexfield to populate the currency code. The second one was to customize the item cost form, and add the currency code to the form.

Both seemed too complex for my tastes. A simple request deserves a simple solution.

I had an idea. A simple idea. “What about a really simple personalization?”

Ten minutes later, the problem was solved. The team member with the complex solutions admitted my idea worked, but he didn’t like that it wasn’t scalable. I’m not even sure what that means in this context.

The Boss liked the solution. The group requesting the change liked the solution. Everyone is happy (well, other than it-won’t-scale boy).

Here is the simple solution:

Navigate to the Item Costs Summary (CSTFITCT) form. Go to Help > Diagnostics > Custom Code > Personalize

Create the forms personalization by first creating a custom menu item under the Tools menu

Seq: 10
Description: Create the Currency Code menu
Level: Form
Condition Tab
Trigger Event: WHEN-NEW-FORM-INSTANCE
Processing Context: Not in Enter-Query Mode
Context: (if you wanted you could turn this on for certain users or responsibilities)
Actions Tab
Seq: 10
Type: Menu
Description: Activate Tools Menu
Menu Entry: MENU1
(Oracle left MENU1 – MENU15 to us developers to use at our whim, but don’t use the SPECIALs)
Menu Label: &Currency Code

Then we activate that menu item and have it display a simple message with the currency code

Seq: 20
Description: Display the currency code
Level: Function
Condition Tab
Trigger Event: MENU1
Processing Mode: Both
Actions Tab
Seq: 10
Type: Message
Description: Display a message
Language: All
Message Type: Show
Message Text:
=SELECT ‘The currency code is ‘||gsob.currency_code FROM
gl_sets_of_books gsob
INNER JOIN org_organization_definitions morg on morg.set_of_books_id = GSOB.SET_OF_BOOKS_ID
WHERE morg.organization_id = fnd_profile.value(‘MFG_ORGANIZATION_ID’)

And you’re done. The message text must start with the =SELECT and you can’t concatenate it with regular text, so any additional text has to be done in the SQL statement.

When the user has selected an organization and navigated to the Item Costs Summary screen, he or she can easily select Currency Code from the Tools menu.

A simple message box will pop up with the currency code for that inventory organization. Easy.

Let me know if you have any better ways to solve this problem in the comments below. Especially if it is scalable.

Inexpensive Home Theater: Projectors

Inexpensive Home Theater: ProjectorsThe projector is the heart of the home theater system. Nothing can save your home theater system if your picture looks like garbage; but a nice picture can cover a multitude of other sins.

The projector also represents a large percentage of the overall budget. And, since the objective of the inexpensive home theater is to get a great bang-for-the-buck home theater system, I looked at the price/performance ratio and tried to get the projector that provided the best value. Continue reading