Rob's TIMSS Blog

My discoveries and ramblings of TIMSS/Personify.

Monday, July 31, 2006

TCMS: IFRAME not scrolling to top

We are using TCMS in an IFRAME on our website. This way TCMS is a separate site but looks like it's still a part of our main website.

One issue we had was that when visitors navigated within the TCMS IFRAME, the IFRAME was not scrolling to the top of the next page. For example, when checking out, the Place My Order button is down far on the page, especially if there are several items in the cart. When the button is clicked, then order goes through and an invoice is displayed, however the IFRAME did not scroll to the top so the user might see a blank page, unless they scrolled up.

I found the following solution on the web (http://www.webmasterworld.com/forum21/10675.htm) and it worked like a charm. On the page calling the IFRAME add the following function:

<script language="javascript">
function scrollTotop()
{scroll(0,0);}
</script>

Then where the IFRAME is called add

<IFRAME name="iframe" onload="scrollTotop()" ... etc>

This way every time the IFRAME loads a page, it scrolls to the top.

Applies to: TIMSS6

Monday, July 24, 2006

TIMSS 6: Searching for other fields

Say you wanted to search on a screen for a field that isn't on the search screen by default. You can add to the fields that you can search to so you can find exactly what you are looking for.

For example, say you are in accounting and wanted to find all the meeting products that hadn't been validated yet so you could validate them. You'd want to add the VALID_FLAG to the search screen.

To do this, first you will need to see what you are searching against on that screen. So open the MTG001 screen and click on the binoculars to open the search screen. Then click on the down arrow next to the name of the view to see it's actual name.


Once you know what view/table you are searching against, open the Ad-Hoc/Query Metadata screen and pull it up.


Here you can add fields to query against when you hit the binoculars on any screen that searches against this view/table.

Moreover, if it is searching against a view you can alter that view in the database and then click the Synchronize with DB button to have your new column shown here. For example, if you had add a column using extender and wanted to be able to search against it you could add it to the view and then to this screen.

Please note that TMAR may update views when you upgrade and your changes may be lost, so make note of things you've added.

Applies to: TIMSS6

Monday, July 17, 2006

TIMSS 6: Shipping Charges

There are four methods that can be used to calculate shipping in TIMSS:
  1. By Weight- a flat rate plus an amount per a unit weight
  2. By Price- a percentage of the price is used for shipping
  3. A Flat Rate- a flat dollar amount is charged
  4. By Schedule- a fixed or percentage is used for different price ranges.

You will need to set this up for each shipping method (SHIP_VIA in types & codes) and for each country; although you can have more than one type of shipping calculation for each.


I have 8 setups since I have 2 shipping methods: Standard & Expedited, and four countries: USA, MEX, CAN, & ALL COUNTRIES (All other countries that don't have shipping defined). We charge shipping by a Schedule where an amount is charged based on the order total. For the USA: $0-$30=$5; $30.01-$75=$7.50; $75.01-$150=$12.50; an over $150=$15.00.

Once you have shipping setup, you should add it to each inventoried product. Domestic countries are setup on the Shipping Setup tab of the Org Unit Definition.

For each product you can pick a calculation method that you've created. You may also add a surcharge (some extra shipping) and override the shipping calculation and give a dollar amount.

You will need to make sure that the SHIP_VIA codes and the Shipping Calculations are Available to Web if you want to use these with TCMS. I have also updated the description of the SHIP_VIA codes since they are displayed when checking out in TCMS:

Standard (5-10 days domestic; 4-6 weeks int'l)
Expedited (2 days domestic; 5-7 days int'l)

Applies to: TIMSS6

Monday, July 10, 2006

Meeting Confirmation Email

This came up on the listserv this week, so I figured I'd tell how we do meeting confirmation emails. Firstly, we require all regisrants to have an email address so we can email them confirmations.

Then weekly we run the TRS ORD660 process in ACK format for a selected meeting. This generates acknowledgement letters and (in PROD mode) stores the data in the ORD660_Processed table with the job key. The process picks up those orders that haven't had an acknowledgement letter, or have had a line item added after the acknowledgement letter date (stored on the order and populated by this process).

We then have a Crystal reoprt that pulls orders for a particular job key run of ORD660 from the ORD660_Processed table along with other pertant data (assistant email, hotel reservation dates, special needs). I'd show the query, but it's one of the longest I've written!

This data is then merged with a Word document to send out an email. One run is done for the primary email address and another is done with the same information to the person's assistant's email address (ASSISTANT is a phone location we use).

When we were on TIMSS 5 we had a similar process, but the BJS job was MTG660 in ACK mode and we used an Impromptu report to get the data from the MTG660_MASTER_TAB table based on a job key.

Applies to: TIMSS5 & TIMSS6

Monday, July 03, 2006

Web account creation

We just launched a new website that is integrated with TIMSS using TCMS and web services. I was telling our good friend Sean about how new accounts are created on our site and he thought it was excellent blogging material, so here it is.

When a new user comes to www.cof.org and wishes to create an account, the process is as follows:
  1. The new user enters their email address (this will be their username).
  2. This email address is compared against primary email addresses (and usernames) in TIMSS.
  3. If the email address already is in use, a password reset is sent to the user either for their existing account, or a new account with the email as the login is created and a password reset is sent.
  4. If not in use, a message is sent to the address with a link to follow to complete the registration process (this validates the email address):

    A message has been sent to your e-mail address containing information about the registration process. You must use the link in this e-mail to complete the registration process.

    This message has been sent to you because you requested to sign-up for access to the Council on Foundation website at http://www.cof.org. Please follow the link provided below to complete the registration process.
    https://www.cof.org/Account/NewAccounts.cfm?emailVerification=%2D3%3C%5EWVBTNG%2D20R7%26%240%20%20%250
  5. Following the link lets the new user enter their information (name, address, etc).
  6. If the email domain is recognized as an organization's domain (i.e. cof.org) then the new user is linked to that organization. The Council's members are foundations and their employees and board members need to receive member benefits.
  7. If the domain is not recognized (as is the case for many board members who have accounts elsewhere), the new user can pick which organization they should be affiliated with. This generates an email to our primary contact at the organization (if there is not an email for that contact, it is sent to a TIMSS administrator) for verification.

Yes, we do have a small issue where email primary addresses are not unique (foundations have one email address, or couples sharing an email address), but this number is small and it is very easy to get your own free email account. Using email addresses this way (as a username/unique identifier) is fairly common across the industry.

To help make email addresses unique, I've "extended" TIMSS to not allow email address with a location of ASSISTANT to be primary.

We did import the usernames (that weren't email addresses) and passwords into our new site (and thus TIMSS because that's where they are now stored) so everyone wouldn't need to create a new account.

Applies to TIMSS5, TIMSS6 & TIMSS7