Today I discovered the wonders of the change_availability script. Even though I sometimes feel like an old hand at SFX, this feature was new to me. It's a wonderful thing; I hope you get to know it sooner than I did.
I have neglected the new free full text targets for a while now and was facing the ugly, time-consuming task of activating them, their object portfolios, and getFullText services by hand. Locate the targets that use the getFullText service; figure out which targets have object portfolios; click, click, click endlessly through SFXAdmin to get everything activated. Ugh.
Before I go any further, I should describe the parameters I have for activating new free targets. I only want to activate getFullText targets, and of those, I only want to activate the ones that have object portfolios. I don't want any surprises on my Services Menu, e.g.: a "Find this item in Amazon" search box, so I don't activate free targets willy nilly. If you have similar criteria I suspect you are familiar with the endless clicking involved with completing this task in SFXAdmin. But there is a better method - oh happy day.
First, I tried to figure out which free targets I didn't have active already. I used the SFXAdmin KBTools Export function to export all inactive targets. This report contains the internal target name, its target services, notes, and authentication info. Once the data was in Excel, I filtered the list to only show target names containing "FREE" (thanks, Ex Libris, for keeping this practice going - it's a big help). Then I filtered these results to only show targets with a getFullText target service. So there's one of my criteria met - I know which free getFullText targets aren't active. But what about the object portfolios?
For the solution to this problem, I have to thank Sarah Miller (NSF) and her former colleague Gordon Fellows (CARLI). Sarah passed on to me some of Gordon's methods for activating free getFullText targets and object portfolios. Without both of them I would not be writing this post. Thanks, guys!
I used one of Gordon's MySQL queries to get the number of object portfolios in every free target, regardless of service. Once I got this data into Excel, I filtered out all but the getFullText targets and started matching up the remaining targets with the list of inactive targets I had already made. Incidentally, your friend for doing this is Excel's VLOOKUP formula, for which tip I have to thank Alisha Quagliana (UT Austin). Truly, it takes a village...
Finally, I had a list of inactive free getFullText targets and their attending numbers of object portfolios. I filtered out any targets that had 0 object portfolios, thus satisfying my other criterion. This list was prime fodder for the change_availability script, which is documented in the Advanced Users Guide. I suppose it's "advanced" because you run it from the command line, but it's not difficult.
I used Excel to append the correct commands and syntax to my list of to-be-activated targets. Then I turned the whole mess into a text file that could be pasted into command line (beats typing out everything for 37 targets!). Once I tried to run the script, though, I learned a few things. First, you can't paste a tab-delimited text file into the command and expect it to work. All those tabs are interpreted as "Enter" and the command never finishes correctly. Then, even when you take out the tabs you still have to turn off Word Wrap (assuming you're using Notepad) or the same thing will happen. These are ugly mistakes but they don't do any damage.
Finally, when you can paste in non-tab-delimited, non-word-wrapped text, hit "Enter" and watch the script do its work, you will know what I mean by the title of this post. 37 targets, their object portfolios, and target services activated in one stroke. Bliss.