Initial check-in (extracting from VuFind project).