Mass Find and Replace in Notepad++ using Regular Expressions

While working on an upgrade to ILLiad 8.6 from 8.5 I was reminded that the tabindex attribute is not necessary and that I haven’t yet completely removed this code from our ILLiad webpages. I’ve removed some of the references, but at first glance, I’ve assumed this task would be daunting, after all, there are dozens of webpage files that would need to be checked.

Not so much! With about 5-10 minutes of thinking/work, I was able to remove over 400 instances of tabindex in all of our ILLiad webpages!

After some testing on a small batch of files I settled on the following process:

  • First, I created a regular expression to match our tabindex instances: (tabindex=”)\d+(“)
  • Then, I opened all of my local ILLiad webpage copies in Notepad++
  • Using the Replace feature (Search->Replace), enter the regular expression in Find What
  • Under Search Mode, select Regular Expression
  • Click Replace All in All Opened Documents
  • Then click File -> Save All
  • Finally copy the local files to the server

Campus Delivery Website Changes

As part of our campus delivery implementation, two ILLiad webpages (New User Registration and Change User Information) were updated to incorporate the new user information needed.

When users register for an ILL account, they are now given the option to opt into campus delivery as well as provide their delivery location.

New Options on User Account Pages

New Options on User Account Pages

  • The first field, “Would you like books and other physical items delivered to you?” corresponds with LoanDeliveryGroup in ILLiad. Choosing “Yes” selects “Mail to Address” on the backend while choosing “No” selects “Hold for Pickup.”
  • The second field, “If yes, Enter your Main Campus Office / Mailbox Location” corresponds with the secondary address field in ILLiad.
  • Another field (not shown in the image above) labeled “Primary Location” was added as a dropdown option higher up in the form to capture what campus / research station users were located at. This field corresponds with “Site” in ILLiad and the values were created in the Customization Manager.
  • If you are interested in the html code:

html code used for user registration: repeated in the text<fieldset><h4>Campus Delivery – Faculty/Staff/Graduate Students</h4><label for=”LoanDeliveryGroup”><span class=”field”><span class=”<#ERROR name=”ERRORLoanDeliveryGroup”>”><b>Would you like books and other physical items delivered to you?* </b></span><br /><span class=”note”>* Limited to Main Campus Only</span></span> <input type=”radio” id=”DeliveryGroup” name=”LoanDeliveryGroup” size=”1″ class=”f-radio” value=”Mail to Address” > Yes &nbsp;&nbsp;<input type=”radio” id=”DeliveryGroup” name=”LoanDeliveryGroup” size=”1″ class=”f-radio” value=”Hold for Pickup” checked> No<br /></label><label for=”SAddress”><span class=”field”><span>If Yes, Enter your Main Campus Office / Mailbox Location</span></span><input id=”SAddress” name=”SAddress” type=”text” size=”40″ class=”f-name” value=”<#PARAM name=”SAddress”>”><br /> </label></fieldset>


As you may have noticed in the first image, the service is currently only available to faculty, staff, and graduate students who are located on our main campus. This meant that we needed to create status specific pages for users to update their user information.  We created one for undergraduates and left out the campus delivery option.  Then we created a page for all other statuses that included the same code found on the new user registration form except for one key difference: the default selection to opt into campus delivery is “Yes” instead of “No.” The reasoning behind this was varied. One, it might encourage users to use the service. Two, if users don’t change the option to “No” but don’t include a delivery location, we’ll catch the inconsistency when the pull slips are printed. Third, and most important, I couldn’t have this field populate with users previous preferences like the other fields do on the page. This inability to populate the information is related to our choice to display “Yes” or “No” to the users as radio buttons as opposed to ILLiad’s values “Mail to Address” and “Hold for Pickup” as drop down menus. Thus far, this minor detail has not been an issue.