GroupWise 2014 R2 brought us pictures in system address book - love it. But if you face the challenge to upload a few hundred pictures you might loose traction. When the pictures do not have a common format - some with face only, others upper body and so on - it is even worse. But it wouldn't be 2016 if there is no solution for that.
Software is able to recognize faces so it shouldn't be hard to find a face in a picture, crop it and scale it for the GroupWise system address book. I started there and had a look at the great new web based API of GroupWise. From there I didn't stop until a tool was created which prepare the pictures, imports them into eDirectory and then triggers GroupWise to read the picture from eDirectory. We used the script for the initial load and now to keep our eDirectory and GroupWise updated.
Restrictions: - The scripts are provided as is and have limited testing on SLES 11 SP3 - SLES 11 SP4 or SLES 12 might work, but you have to resolve the dependencies yourself - see readme for required packages - Windows won't work - sorry
Notes: - The nightly POA upkeep will synchronize the pictures to contacts in the user address books and then the pictures will show up on mobile devices. Be prepare that your GroupWise Mobility Service (GMS 14.2.0 recommended) might experience some higher load when you upload a few 100 pictures. - Prepare a guideline on how you deal with pictures for users. Are pictures required? How can say they don't want pictures, etc. Also be prepared to replace up to 5% of all pictures in the first few days after you put them into the system address book - If you ask users if they want photos in GroupWise they most likely say no. If you show them a few examples they might like it. If they see a filled system address book, they love it...
System Requirement: - SLES 11 SP3 or OES 11 SP2 - images with single face, dimensions > 100 x 100 - images in jpg format - filename must be equal to the respective username - a bunch of rpms for SLES 11 SP3 - see ReadMe for installation
gwfacecrop.py --> Crops face from pictures to square 64x64 (configurable) image
gwfacesync.sh --> Triggers import of LDAP jpegPhoto in GroupWise according to jpg files in directory
jpegphotoimport.sh --> Detects face on image, crops & resizes it for GroupWise, imports it to eDirectory, triggers import of LDAP jpegPhoto in GroupWise
Please read the respective ReadMe for how to use the files.
Version History: 0.93 - initial release on Cool Solutions
Feedback and suggestions for extensions are very welcome. If anyone has an idea on how to import photos / jpegPhoto from LDAP into Vibe / Filr let me know and I will enhance the scripts for that. Otherwise up-vote the ideas: