Briefly, everything in Conversant (the system used to manage this site) is a discussion group message. Tools are provided on top of this to do different things with messages. One of the things you can do with a message, for example, is bind it to a URL. What this means is that I can tell Conversant that I would like http://brian.carnell.com/690 to be available as http://brian.carnell.com/articles/2001/02/000046.html.
Notice the naming convention there, in the /articles/ directory, by /year/, then /month/, and then finally a unique number (i.e. this is the 46th article I wrote in February).
A great system, but it has one drawback — I can never remember (and don’t want to, actually) what number a new article is. Should this be article 23 or 47? I have no idea. But since the file names are off in the structure editor — sort of a file manager for Conversant — I usually just wait until the end of the week to bind articles and do all of them at once. That system works okay, but I’m adding a number of new features which really work best if articles get bound to URLs right away.
Fortunately, the flexibility of Conversant allows me to put together a solution that reminds me exactly what the next URL name in the series should be. Here’s how the bind URL form looks today:
and here’s how it looks with the solution I put together:
Notice the second image shows me at the bottom that the last URL in the folder is 000038, so I know I want to call the next article 000039. The “modify” option lets me access the HTML code for this, so that I can change which directory it looks at (at the end of the month or year, for example). Here’s how I did this.
First, go to the Preferences option in Conversant and select the “Web Server” preferences. Then select the “Appearance” tab in the “Web Server” preferences form. One of the boxes in that form is the Admin Box Template:
From there, simply paste in the following macro at the very end of the existing admin box template:
What’s going on here?
The “path” attribute tells the macro where to look, and obviously you will need to change that to whatever path it is you’re binding URLS to.
The “limit” attribute tells Conversant that we only want a single URL returned from that directory (the last one).
The “sortdescending” attribute is set to “true” which means — if you’re numbering URLs sequentially — the macro will return the last URL first.
The “cache” attribute is set to “false,” since if we add a new bound URL we want this macro to update immediately rather than caching any results.
I’ve also created two new templates specific to this weboutline. You would need to go the template menu and create these. They are rather straightforward, however.
The admin_outline_folder template is simply one line:
We don’t really care about folders, we just want the last URL displayed.
The admin_outline_file template looks like this,
The pageURL macro tells Conversant to return the URL text rather than the page title or some other attribute. Setting the “link” attribute to “true” means the URL will be hyperlinked to the page itself, just in case we want to visit it.
Then the link to the preferences section is hyperlinked to the word “modify” so at the end of the month or year I can quickly go to the right section of the Preferences area and alter the “path” attribute of the web outline.