I'm going to describe a simple method for restoring the functionality of the Channel knob; my method is to host all relevant Channel files on my server, thereby simplifying the maintenance of Graphic, Icon and Index.shtml files (and free-up some space on my Audrey). This will also, down the road (for me anyway), allow Windows-based applications to cache content (e.g. like HomeSeer).
You might want to read the background material, below after the '+++++,' if some of the concepts in this section are foreign to you.
What I did, for each channel, is to re-create the standard channel directory structure on the server where my share is located. You have to have a share mounted for this method. My share is Gwendelyn:/AudreyData. Every directory except for /Template, that is; I just put my Index.shtml under my .template directory because I deliberately broke the redirect links defined in boot.sh. So, under Gwendelyn:/AudreyData I have twelve directories in the form
/Channels/ChannelXX/.template/Index.shtml
/Channels/ChannelXX/Graphic/Graphic.gif
/Channels/ChannelXX/Icon/Icon.gif
Where XX is in {01..12}. I couldn't use File Manager to name the /.template directory, so I used a DOS window.
Comment out the call to boot.sh in /kojak/go. (Alternatively you could re-define the links in Boot.sh to point the .template directory to your share /Channels/ChannelXX/Template directory.) Also, re-define the links at /data/XML/Channels/.ChannelXX (note the "." in ".Channel") to point at your share /Channels/ChannelXX directory. Do this by
cd /data/XML./Channels
rm .ChannelXX
ln -s /AudreyData/Channels/ChannelXX .ChannelXX
Make sure you have mounted your share in Boot.sh before you define the links - I created a script 'mountGwen.sh' with two lines, a 'sleep 5' followed by the fs-cifs mount command and called it from /kojak/go right where the call to boot.sh had been. Now re-boot.
That's it! You now have easily maintainable channel content on your server.
Incidentally, the directory /data/XML/Channels/.countertop/Template has the index.shtml file for that annoying "AudreyChannel" screen (because I think you know what the buttons do by now ...). Change this in the same manner as for Channel01 .. Channel12 (i.e. define the Channel00 on your server) and THIS will be the channel your Audrey always comes back to when she gets "lost"
++++++++++++++++
Some background for folks who want to continue hacking the Channel functionality. This post will serve to collect the information on Channel functionality, file organization, format, etc., in one place. Many thanks to Deviant and larsomatic for their work in this area - they saved me a good bit of time in my implementation. Deviant: did you get your Channel server working?
The files /data/ChannelSelector/AvailableChannels, CoreChannels and UserChannels define what Channels are available to begin with and which are assigned to what slots in the Channel selector palette (i.e. what you get when you turn the knob). You can have any number of Channels in AvailableChannels, and the file is a series of lines in the format:
AvailCh#,Name,ChDirName,UpdateURL,Comment
In my implementation, I don't care about this file, but I want to document its format. The AvailCh# is just an integer 1..n, Name can be anything, ChDirName has to be a valid directory string, UpdateURL is a don't care (since the Channel server at asparato.net is gone) and Comment is anything you want. This information is used for (a) populating the selector palette via action palette => select channels (b) providing the directory structure which gets built when you're (c) getting an update from the UpdateURL.
As pointed-out by Deviant and larsomatic, the directory structure for each Channel on the Audrey is standard. Its root level is /data/XML/Channels/ChDirName. Below that are the directories .template, Graphic, Icon and Template. Some Channels have additional directories, but these were related to the specific implementation of that channel content, using XML to define/hold Channel preferences, navigate etc. and are not relevant to my objective.
CoreChannels and UserChannels are files which contain the ChDirName associated with each slot in the selector palette. They are broken into two files (6 ChDirNames each) because in the action palette => select channels only the UserChannels can be edited. You could give them any names, filling them with ChDirNames 'Channel01' through 'Channel12' using vi. You would then create the directory structure (see below) and establish inks at /data/XML/Channels/.ChannelXX (note the "." in ".Channel") to point at the ChDirName you define. If you define the UserChannels through the action pallette, you can use the info in AvailableChannels to pick what gets assigned and the links to /.ChannelXX will get made for you.
Graphic.gif is the 120 X 60 pixel image you see when you turn the channel knob. Icon is the 90 X 33 pixel icon that appears in action palette => select channels. Index.shtml is the HTML to be loaded when you stop on any given Graphic.gif. This HTML could do almost anything, like being actual content, doing a javascript redirect (location.replace("newURL")), doing a redirect to some of the flash applications called out by LeBorg, invoking an application on Audrey, etc.
Audrey always looks at the /data/XML/Channels/.ChannelXX/.template link to determine what content to display for the channel when you turn the knob. While the filename is always Index.shtml, the /.template link would change to different Audrey directories /Channels/.empty, .notAvailable, .updating, or .waitingForUpdate as a function of what state the ChannelUpdate was in.
++++++++++