Perception 4.3 meets an Oracle 10g bug: Unsupported network datatype or representation

Last January, I installed a test instance of Questionmark’s Perception server, version 4.2, in preparation for upgrading our version 3.4 Perception server. At the time, we were using Oracle version 9i. Once installed, our testing went well, and we did not notice any significant problems.

In July, we finally got around to doing the actual upgrade, and decided to upgrade the database to Oracle 10g at the same time. The installation and conversion of our version 3.4 data went very smoothly. Everything ran well for about a week. Then things began to go wrong. When we would open the Authoring Manager, it would refuse to show us any assessments (“assessments can’t be found”.) Then it would tell us administrators couldn’t be found. After a few days, the assessments disappeared from the Perception Server as well, meaning users could no longer take them. After trying numerous fixes, we reverted to a recent backup of the database from a couple of days before, and the problem disappeared. The one Oracle error that both Perception Server and Authoring Manager were giving was “ORA-03115: unsupported network datatype or representation.”

Continue reading

How to run Red 5 on a shared IIS server on port 80

Setting up Red5 on a box which also contains a web server can be a challenge if you are restricted to using specific ports because of a firewall. Here is how we set up Red5 on a Windows 2003 server which also contains a production IIS server.

Our firewall only allows traffic on ports 80 and 443. This is non-negotiable, so we needed to work around the requirement.

The folks – in particular Walter Tak – on the Red5 mailing list pointed me in the right direction: Make another IP (or two) for Red 5 to run under.

IIS was already using ports 80 and 443, so the system administrator made two additional IPs for Red5 to use, one for rtmp and one for http. He then changed the settings in the Default Website Properties in IIS Manager: In Web Site Identification: IP Address, instead of (All Unassigned), he selected the single IP which we wanted IIS to listen on. We did not want IIS to interfere with port 80 on the IPs used by Red5.

Continue reading

Detect browser support for style properties

It is common to use object detection to discriminate between browser capabilities (See Quirksmode: Object Detection.

However, sometimes it is necessary to detect whether or not a browser understands a particular CSS style property, and it is not obvious how to do this.

You can’t test for the existence of the property directly but you can test for the data type of the value of the property. If the data type is anything but “undefined”, the property is understood by the browser.

The example below shows a couple of rows from an automatically generated table of items. Each row has a corresponding editable version which shows up when the “edit” button is clicked. The original, non-editable row is hidden at the same time the editable row is displayed. If “display=’block” is used to display the TR, Safari will render it as a TD. To correct this, “display=’table-row” must be used on browsers that understand it.

Continue reading

The Cuttlefish: An Intelligent Cephalopod

Before I visited the Georgia Aquarium, most of what I used to know about cuttlefish included the fact that they can be purchased neatly packaged in dried chewy form in Japanese groceries. So, I was very surprised when I first met one face to face in the Georgia Aquarium and realized they are remarkably intelligent creatures.

Cuttlefish are invariably curious about people, and will come up and try to get a better look if you catch their eye. They are precision swimmers, able to hover motionless near an object of interest by rippling their skirt of fins, only to suddenly jet off in another direction using their funnel siphon when they have seen enough.

Continue reading