Update to the Problem: we have a solution

So a few months ago there was a problem Where I continue to admire the Problem without a complete Solution. This has been solved for a few months, but sh!t happens. Am now finally getting around to providing the a solution, one that works for me, but may not work for you. This is pieced together haphazardly, mainly so I have note of it and well so if you’re looking for help on doing something similar you have a much better starting point than I did.

After a hot minute with Python-LDAP I determined it was a beast I was not interested in taming at the moment because well I had another option, mind you at the time we thought this ‘other’ option was going to be easier. I don’t know if it was or not, but it took some serious neuron firing to do.

At one point I dove deep into VBA scripting, where I figuratively lost loads of hair and age 20 years. The script scraped hundreds of emails for a text string (unique ID), to parse out into an excel file (staying within the suite of Microsoft Office deemed significantly easier than going out) and then ran line by line on LDAP to print the output of the request attributes and then convert to csv and email to colleague to do a mail merge.

**confession** I actually signed up for a Stack Overflow account because of this!

One Solution but not THE solution:

VBScript and a Bash script that ran LDAP Queries, Python conversions and used Mutt to send an email attachment.
I’ve changed values to neutral values, you will need to update them to match what you need.
Here is my repo that provides the files you’ll need if you decide to take the VBScript route. https://github.com/whitni/VBScriptandLDAP

Once you set this up in VBA, you can set it as a macro, but I had it set as a rule at first and then switched to doing something different right after I had this solution in place…so didn’t bother.

The Solution I settled on:

I returned to a single bash script that queried LDAP matching on certain attributes, primary change was the decision to send emails out based on start dates and not when we received an email notification from HR. This will soon be turned into a cron job and I can dust my hands of it BUT walking away with significantly more knowledge of LDAP, AD, VBA and all that…

#A simple script

## date format ##
today=$(date +”%F”)
startdate=$(date +”%Y%m”)

##backup path ##

# LDAP Search query
ldapsearch -W -h your.AD.server.com -x -D ldapusername@email.com -b “dc=$1,dc=$2,dc=$3” -s sub “attributes you need to match or not match on” attributes you want > $BAK

#convert LDIF to csv
python LDIFtoCSV/LDIFtoCSV.py $BAK > /path/that/you/saved/file/newhires_$today.csv

#send email with file attached
mutt -a /path/that/you/saved/file/newhires_$today.csv -s “New Hire Emails” -c persontoCC@email.com — persontoemail@email.com

Resources used:
VBScript Library: https://msdn.microsoft.com/en-us/library/aa227499(v=vs.60).aspx
RegEx parsing: http://www.slipstick.com/developer/regex-parse-message-text/
LDAP Man page: [Linux_terminal] > man ldap
LDIFtoCSV conversion tool: https://github.com/tachang/ldiftocsv
Stack Overflow — my question: http://stackoverflow.com/questions/36752876/why-does-copying-a-string-from-outlook-to-excel-open-a-new-instance-of-excel-for/36754211#36754211

LITA Forum, 2014: My Recap

Last week (Nov. 4-8, 2014)  I attended the LITA (Library and Information Technology Association) Forum in Albuquerque, New Mexico. This was my first LITA anything that I had been a part of and had no expectations beyond those of myself in networking and learning. There were so many fantastic sessions to choose from it was really difficult to choose and thanks to the incredible use of Twitter, I was able to get snips of what was going on in the sessions I couldn’t attend.

I was volunteering with the 2014 planning committee to help out at the conference and showed up a day early to help with the pre-conference sessions. Can I recommend that if you go to a conference, volunteer. Especially if this is your first time at said conference. It open the doors to a lot of opportunity for me and I was able to meet and do many things I would not have if I wasn’t volunteering. Showing up early turned out to be in my benefit because there wasn’t much for me to do besides monitoring the pre-conference sessions so I took advantage of the time to visit of some local attractions in Old Town Albuquerque, specifically the Natural History Museum of New Mexico.

Having some down time prior to the conference was wonderful and I highly recommend to designate downtime either before or after the conference. My reasoning for this is that the conference becomes more than just sessions and lots of people learning/speaking about for the most part very similar topics. It gives you an opportunity to experience life outside of the conference venue, in this case the hotel.

I used Twitter for a substantial amount of note taking for multiple reasons: Sharing session snips with those who couldn’t make it and so that I could refer to it later easily. I have put any embedded tweets in [ ] as I refer to them throughout my recap.

**My recap includes only a few of the sessions I attended. As I gather my thoughts on the rest of them I will add them in along with more resources.**

Feel free to read them here: 

My primary focus going into the conference was to attend as many sessions on institutional repositories (IRs) that I could, learn how they are being used and what other libraries are using. My current place of employment is actively researching IRs as we are on the cusp of moving from our current option, ContentDM, to something that will better suit our needs. Choosing an IR has become increasingly more challenging as OpenAccess and data, where’s our data & what does it say, are major factors in what you need to and want to accomplish with your IR. How it is used, presented, accessed and managed can change what software you go with.

Goal: Learn what others are doing with their IRs.

Achieved: Margaret Heller’s session on “What Does Your Repository Do?: Understanding and Calculating Impact” showed me how Loyola University Chicago’s IR is being used. [PDF]

Margaret’s presentation was super interesting as it took Loyola’s IR and showed how it was being used. The content in the IR is accessible all over the world and when Loyola looked at the data of their IR it showed countries that they never would have thought would have interest or be accessing the content.

The story of why: limited access to resources at their library/institution or lack of resources on that specific topic.


Having the story beyond the numbers really stuck with me; if done right an IR can serve people you never thought would be accessing your content. [Are the traffic drivers of IRs aligning with the institution’s goal/mission? #litaforum Whitni Watkins (@NimbleLibrarian) November 7, 2014]

This session more or less reconfirmed the importance of having and IR and the OpenAccess movement.

Resources Gained:

Real-Time readership map from LUC: http://ecommons.luc.edu/readership_map.html#content

Goal: Learn/Discuss an IR in action and resources used.

Achieved: Tommy Keswick’s session on “Using Islandora for Digital Content Delivery” discussed and showed Detroit Public Library using Islandora . [Check out an #Islandora repo from Detroit Public Library. http://t.co/oYgI4up5nF #LITAforum Whitni Watkins (@NimbleLibrarian) November 7, 2014]

Tommy and I had talked about Islandora a couple of months back at a meet-up in L.A.; prior to my move to New York and prior to my immediate interest in implementing an IR. Islandora is on MPOW’s list of IRs to look at, primary reason our entire site is on Drupal. Islandora is a Drupal, Fedora & Solr developed DAMS (Digital Asset Management System). Why use a DAMS and not just a CMS? A DAMS like Islandora offers standards for metadata, integrity tools and extensibility. A major drawback I have with many IRs is the presentation of the content is never “sock blowing” awesome. No, Islandora isn’t sock blowing but it is definitely a major step closer.

Resources Gained:

Git Repo for Entity Bridge [Cherry Hill devs figured out a way to utilize the flag ability from Drupal with Islandora, Entity Bridge :https://t.co/xGsJejbFpz #litaforum — Whitni Watkins (@NimbleLibrarian) November 7, 2014]

Solution for Indexing [A solution for tricky indexing create a catch all field(s). Use them to search whole words & to search partial words. #islandora #litaforum — Whitni Watkins (@NimbleLibrarian) November 7, 2014]

Git Repo for JQuery Zoom [View GitHub repo for JQuery Zoom https://t.co/rwkKHq2Yln #islandora #litaforum — Whitni Watkins (@NimbleLibrarian) November 7, 2014]

Goal: Be inspired. Achieved: Keynote sessions #1 and #2 (I missed #3 due to flight conflict).

AnnMarie Thomas: Playing to Learn: A Maker’s Perspective. Obviously, her entire keynote was about being a maker. It was by far my favorite point of the entire conference. “It doesn’t feel like work if you’re laughing” so often we get stuck in the “work no play” aspect that we forego opportunities to learn. Her keynote session resonated with me. As a newly dubbed librarian over two departments that are recovering from a stressful reorganization, this session gave me the humph to encourage play at work.

[After being inspired by @amptMN keynote at #litaforum I put out a puzzle this AM & my dept enjoyed the fun. #MAKERS pic.twitter.com/kxb4ludDm4 Whitni Watkins (@NimbleLibrarian) November 11, 2014]

Lorcan Dempsey: VP at OCLC. He spoke about Thinking about Technology Differently. “The network reshapes the society and the society reshapes the network.”


infovsknowledge by the GapingVoid

We have a lot of text. A lot of records and what we want to do with it is turn it into a form that is more usable. That will yield more insight, more knowledge.


We want to make a qualitative difference with the quantity of data/information that we have. I enjoyed this keynote because working in libraries and in library systems, surrounded by information and technology. How I think about it and know it’s use and how it ties together is not how someone else may think about it. Lorcan boldly said, and I agree, “Technology is integrated. It isn’t something you pick up and move over. It is implied and incorporated.”

We have moved from caring just about the outcome to caring significantly about the method. We want to know the how not just the what. Libraries are working constantly with learning behaviors and research behaviors, we see software that has been created to manage the data to tell us more than the what.

You can view the entire keynote session here LITA Forum 2014 Lorcan Dempsey [70min]

Goal: Network and meet others. 


Volunteering: My reasons for volunteering were both monetary benefit and personal networking gain. As I mentioned I had never been to a LITA forum before. I had interacted with a handful of other attendees via Twitter but didn’t know anyone in person. Volunteering gave me a ground to start running. I recorded keynote sessions (gave me a front row seat, WIN!), introduced conference sessions and worked with the planning committee and met up and coming committee members.

Game Night: Cards Against Humanities! [You’re missing out. Come join us! #LITAforum pic.twitter.com/EiadiwR4JB Whitni Watkins (@NimbleLibrarian) November 7, 2014]

OpenRefine Skill-share: The last night of the conference there were networking dinners to sign up for. A couple of us had tweeted interest in playing around with OpenRefine so instead of doing a networking dinner; I took the initiative to do a sign up for playing with OpenRefine. We ended up with a decent response and had some fun. [@cm_harlow @ranti @lorcanD Say what?!  pic.twitter.com/cK5gyif7DM Whitni Watkins (@NimbleLibrarian) November 7, 2014]

Unfortunately most of our time, due to dodgy wi-fi, was spent getting installs completed. However, most if not all of those who came left with a bit more knowledge of the program than before and we opened a door of possibility for those who hadn’t any clue as to what OpenRefine could do. [and we’re almost up and running. Installs on multiple OS’s takes time. #litaforum pic.twitter.com/U8rolMh55H Whitni Watkins (@NimbleLibrarian) November 8, 2014]

Overall the conference was great. I learned a lot and was able to come back to MPOW with a stronger knowledge of IRs and a stronger reasoning behind my recommendations.

Things I learned for next year, always volunteer, have a goal in mind prior to going but be willing to change/adjust that goal as you need, pack snacks, take good notes, and don’t cement yourself to session that does not hold any interest to you.

Other Resources from the Conference: