URI in a Database

This vendor’s application has been a headache for me for over a year now. We are getting close to upgrading, but there are some issues. One is why data in the new version is missing. I finally got the vendor to give me a query in the new version which was enough for me to figure out how to find the same data in the old version.

16686579989_02eba2c292
Shrug by Tom Hilton

Everything I check between the two databases is consistently the same across the systems. So, why are the user interfaces different? See image right.

I have done a lot of querying now trying to gain some insight into the black box since the front line support workers are not getting me helpful information out of their “additional resources.” I’ve asked to talk to a DBA, but they do not respond to that part.

Something hurts my brain is that every table’s primary key is name “uri.” Yes, everything is a Uniform Resource Indicator. (If everything is an uri, then effectively nothing is an uri.) But then when TableA needs to reference something from TableB, then it actually has a column that describes what it is. Except in this one case I am struggling to understand where the recordUri does not match the record table’s uri column.

So what does it match? See image.

An annotated schema would help out so much right now.

My guess is a table moved and broke a customization.

I suspect the choice of URI as an acronym is because of the HTTP protocol. For a web site address, one has the protocol in http:// and the full qualified domain name like ezrasf.com and everything starting with the next slash after is the URI. And that is what set me off to write this post.

Are We Information Junkies?

Catherine who I follow on Twitter retweeted about agreeing with this blog post:

Last night while sitting at a pub with some friends, the topic of information came up. My friend Tom, in particular, had a few interesting things to say about it. I asked him if he thought that constantly being tapped into the stream of information that the online world affords us was bad thing. Is our constant connection to blog posts, news articles, video, podcasts, Twitter, and Facebook more detrimental than positive? Are we a culture of information junkies?

His response, essentially was “no”. He basically said that in fact (and I’m paraphrasing) we have always been able to tap into information whenever we wanted to. Back in the old days, Tom said he used to scour through encyclopedias, magazines, and books all day long. He was always consuming information and learning new things. I thought back to my younger days and realized I did much the same. You probably did too. The difference is, said Tom, these days information is with us wherever we go. We carry the encyclopedia, and magazines, and book in our pockets. Information is always there, on any topic. It’s an amazing thing, said Tom, and it’s a good thing.

My reading list Back in the old days I owned more books a 9 years old than all of my close friends and their parents put together. I had read every novel more than once. Around a sixth of my books were science and history, which were often partially re-read, often as a result of looking for something specific to get proof of something. It could have been something novel that needed understanding. It could have been a claim by someone else. It probably did not help that from seven to ten years old, I spent a couple hours every week day after school at the library.

Later, as a teen when I played Dungeons and Dragons, I knew my books well enough I could open a book to within a few pages of the information I wanted. Of course, I replaced my Player’s Guide and Dungeon Master’s Handbook three times when they fell apart from overuse.

As a college student, I worked in the university library. It had a larger and much more stimulating collection of journals, books, maps, microfilm, and microfiche than the public library of my childhood. Some thought me a dedicated worker. Ha! Having unfettered access to information was the best form of entertainment.

Only working with computer systems and the Internet, so more information could tear me away from the libraries.

But am I an information junkie? Oh, yeah, absolutely. Finding that kernel of information that answers a question, solves a problem, or wins an argument causes a surge of dopamine. People get the same dopamine high from winning a game.

The delayed gratification of waiting to search my or another library or waiting until I got to a computer to search the Internet was probably a good thing. I’m learning to be better about not whipping out my phone to track down every possible query that comes across my head. Probably a good thing to wait.

Better CE/Vista Web Server Log

Some support tickets are more easily solved by knowing both user behavior and environment. An often helpful piece of information is what web browser they used. To add this, shut down the cluster, edit /VISTA_HOME/config/config.xml to include the cs(User-Agent), and start the cluster. This line will need to appear for every node. At startup, the nodes will download a new copy of the file.

<elf-fields>date time time-taken c-ip x-weblogic.servlet.logging.ELFWebCTSession sc-status cs-method cs-uri-stem cs-uri-query bytes cs(User-Agent) x-weblogic.servlet.logging.E LFWebCTExtras</elf-fields>

Command:
cp config.xml config.xml.bak
sed -s s/bytes x-/bytes cs(User-Agent) x-/g config.xml.bak > config.xml

Probably this could be edited in the Weblogic 9.2 console. I haven’t looked yet.

Most Wired Teacher

“Who is the most wired teacher at your college?” (A Wired Way to Rate Professors—and to Connect Teachers)

Although the university runs workshops on how to use Blackboard, many professors are reluctant, or too busy, to sit through training sessions. Most would prefer to ask a colleague down the hall for help, said Mr. Fritz.

Professional support is too intimidating, cold, careless. Support fixes the problems of others who created problems for themselves:

  • choices made in software to use
  • configuration choices
  • mistakes logic in processing

The concept of identifying the professors who most use the system is a good one. We already track the amount of activity per college or university in the University System of Georgia. The amount of data (think hundreds of millions of rows across several several tables)  would make singling out the professors a very long running query. Doesn’t mean it is a bad idea. Just don’t think it is something we would do with Vista 3. We probably could with Vista 8 which uses a clean database.

I’d like to see two numbers:

  1. Number of actions by the professor
  2. Number of actions by the all classes the professor teaches

Ah, well, there are lots of other reports which need to be done. Many more important than this one. 

Some questions from the article: “Will colleges begin to use technology to help them measure teaching? And should they?” At present, to create such reports, IT staff with database reporting or web server skills are needed. Alternatively, additonal applications like Blackboard Outcomes System can provide the data. The real problem is the reliability and validity of the data. Can it really be trusted to make important decisions like which programs or employees are effective.

Coradiant TrueSight

Several of us saw a demo of Coradiant Truesight yesterday (first mentioned in the BbWorld Monitoring post). Most of the demo, I spent trying to figure out the name Jeff Goldblum as one of team giving the demo had the voice and mannerisms of the actor’s characters. Had he mentioned a butterfly, then I definitely would have clapped. The other reminded me of John Hodgman.

Something I had not noticed at the time, but a reoccurring point of having Truesight is to tell our users, “Here is evidence the problem is on your end and not ours.” This assumes the users are rational or will even believe the evidence. They wish the problem never occurred (preference) and a resolution (secondarily). Preventing every problem, especially issues outside our domain, probably is outside the scope of the budget we receive. So, we are left with resolving the issues. Especially scary are the users who take evidence the problem is on their end or their ISP’s end to mean, “This is all your fault.”

Resolutions we can we offer are:

  1. Hardware change – We can replace or alter the configuration of the hardware components of the network, storage, database, or application.
  2. Software change – We can alter the configuration of the software components of the network, storage, database, or application.
  3. Request a code change from a vendor – We can work with our vendors to get a code change. These take forever to implement.
  4. Suggest a user resolve the issue
    1. We can provide a work around (grudgingly accepted, remember the preferred wish is the problem never occurred).
    2. We suggest configuration changes the user can make to resolve the problem.

Truesight provides us information to help us try to resolve issues. Describing the information provided as “facts” was a nice touch. At Valdosta State, I gave up on users reporting the browsers accurately and captured the information from the User-Agent header. Similarly, at the USG, I’ve found users disagree ~30% of the time about the version of the browser according to the User-Agent string. Heck, they have errors in the name of the class ~40% of the time. My favorite is something took 15 minutes, but all I could find was it took four minutes. Ugh. Because Truesight is capturing the header info, it ought to be much easier to confirm what users were doing and where problems occurred more accurately than the users can describe.

After receiving all the “facts”, we still have to determine the cause. Truesight helps us understand the scope of the problem by how many users, how many web servers, and how many pages are affected by slowness to what degree. As a DBA and administrator, my job identifying cause ought to be easier, though quantifying how much easier probably is difficult to say.

Part of why: (Mostly speculation.) Problems identified as a spike in anything other than “Host” are external causes. These are causes in front of the device. Causes behind the device are “Host”. If these were more narrowly broken down, the maybe we could better determine cause. That would require knowledge web browsers typically would not know like the server processing time, query processing time, or even the health of the servers.

tag: Blackboard Inc, Coradiant, , user agent,

A Class of Cornell University Students Take Google as Gospel

PC World – Students Take Google as Gospel:

The experiment involved 22 undergraduate students (with various majors) from Cornell University in the U.S. It found that overall, the students had an inherent trust in Google’s ability to rank results by their true relevance to the query.

The news media has an inherent trust in studies involving a handful of college students. Can you really call a single classroom of undergraduate students representative of all students, aka including K-12 and graduate students, country or worldwide?