Omeka - platform for digital cultural heritage web publishing
-
@jeau said in Omeka - platform for digital cultural heritage web publishing:
we have to solve the Ldap configuration
@girish & @nebulon is it possible that you guys help @jeau with the LDAP configuration so the app can be published in the AppStore?
I did an extensive research on this app and I’m pretty sure our museum will going to use this for our collectionmanagement and online availability of our collection.
-
-
@girish @jeau We can't wait to see this as an app on Cloudron. Just for testing purposes and to get familiar for our volunteers (our museum is driven only by volunteers like me) I installed it in a LAMP app and got it pretty soon online.
Will keep my experiences here so the app can profit from it:
missing components for the "Extract Text"-module:
Extractor Available
catdoc No
docx2txt No
lynx No
odt2txt No
pdftotext No
filegetcontents Yes -
@imc67 @scooke you are right, this components need to be pre-installed in the OS. I can add them.
On the Omeka S app, you can install manually themes and plugins (modules) inside the
/app/data
directory. I installed LDAP module and I hesitated to install EasyInstall module whitch allows to install Omeka S modules and themes from https://omeka.org and from the web (https://github.com and https://gitlab.com). But it isn't possible to check all the dependencies required by all these components and I am afraid that the users do not pay attention to this issue.However, I'm thinking of check the dependencies required by the modules of the official modules list. Extract Text is present in this list.
-
@seeker I also think that many users will be interested in simply manage this kind of tools useful for heritage and digital humanities. For example Cantaloupe IIIF Image Server or Mirador Viewer that I already added to App Wishlist.
-
@nebulon I added the optional dependencies of Omeka S and the dependencies required by the modules listed on the official website.
However, I have this error when I try to push this commit to our repository:
! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://git.cloudron.io/cloudron/omeka-s-app.git'
-
@girish, I'm trying to go ahead with the configuration of Ldap module.
Settings are located at the bottom of
/app/data/config/local.config.php
The following configuration allows a first authentication from the username however the account created does not retrieve the email address but an address like this
<username>@<ip>
.'ldap' => [ 'adapter_options' => [ 'server1' => [ 'host' => getenv('CLOUDRON_LDAP_SERVER'), 'port' => getenv('CLOUDRON_LDAP_PORT'), 'username' => getenv('CLOUDRON_LDAP_BIND_DN'), 'password' => getenv('CLOUDRON_LDAP_BIND_PASSWORD'), 'bindRequiresDn' => true, 'baseDn' => getenv('CLOUDRON_LDAP_USERS_BASE_DN'), 'accountFilterFormat' => '(&(objectClass=user)(username=%s))', 'accountCanonicalForm' => 4, 'accountDomainName' => getenv('CLOUDRON_LDAP_HOST'), ], ], ],
With Omeka, it is usual to connect with the mail but the filter
(&(objectClass=user)(mail=%s))
does not work.The module documentation is here https://github.com/biblibre/omeka-s-module-Ldap
-
-
OK, just testing out if it's something obvious. But the LDAP server does not get any requests at all from omeka
-
So, after some debugging I found that the LDAP code hits a
LDAP_X_DOMAIN_MISMATCH
exception. This is because of theaccountDomainName
looks like. It expects the email ids to be in the same domain as the one we set there. Removing it, still fails though. -
this works (login with username and not email):
'ldap' => [ 'adapter_options' => [ 'server1' => [ 'host' => getenv('CLOUDRON_LDAP_SERVER'), 'port' => getenv('CLOUDRON_LDAP_PORT'), 'username' => getenv('CLOUDRON_LDAP_BIND_DN'), 'password' => getenv('CLOUDRON_LDAP_BIND_PASSWORD'), 'bindRequiresDn' => true, 'baseDn' => getenv('CLOUDRON_LDAP_USERS_BASE_DN'), 'accountFilterFormat' => '(&(objectclass=user)(username=%s))', 'accountCanonicalForm' => 1, // 'accountDomainName' => getenv('CLOUDRON_LDAP_HOST'), ], ], ],
-
@jeau it seems the email and displayname fields are simply filled with the DN like
cn=uid-fc561e94-2711-4411-83cd-4d9a7ffe57d4,ou=users,dc=cloudron
. I guess we need to ask the module-ldap author on how we can get this properly read in from LDAP. -
@girish yes, I asked Julian from Biblibre who who develops this module. He talk me that the current released (0.3.0) of Ldap module I used does not allow to configure the LDAP attributes to retrieve the name and email. I tried from source, it's works partially, I retreive the user mail address but I can sign in only with username, not mail.