Solved Omeka - platform for digital cultural heritage web publishing
-
@jeau said in Omeka - platform for digital cultural heritage web publishing:
@girish yes, I use it experimentally. Putting it on the store as unstable will help to find new testers.
I started to implement the Ldap module, the installation seems correct. But, the admin have to activate it manually after the installation via the Omeka backend and authentication doesn't work (but I don't really know Ldap).
@girish & @jeau This would be awesome! Our museum is looking for new Collectionmanagement software and this might be it!
-
I have forked the app repo from @jeau into our namespace at https://git.cloudron.io/cloudron/omeka-s-app so lets collaborate on that to get the app out there
Thanks already for all the work done!
-
-
@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 Hmm, these would need to be installed in the OS, right? https://omeka.org/s/modules/ExtractText/
I've never packaged an app for Cloudron; I wonder how one would include these components?
-
Very cool to seeing Omeka on the horizon! This platform is used by many who need a turn key solution like Cloudron
-
@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.
-
@jeau Agreed
There is also Scalar
https://guides.library.illinois.edu/scalar -
@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'
-
@jeau ok let me double check this. Which what is the gitlab account you are using?
-
-
@jeau thanks, can you try again?
-
@nebulon thank's, it works
-
@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
-
@jeau the settings look correct to me. Is there anything in the logs? Otherwise, if you can push your changes, I can quickly test here.
-
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.
-
@jeau said in Omeka - platform for digital cultural heritage web publishing:
I can sign in only with username
That is no problem at all as app like Wordpress and Nextcloud also uses usernames as login.
-
@imc67 you're right, it's works with the Ldap module, but usually Omeka S users use their email address and in their profile there's no username.
-
@jeau atleast the login form of omeka s says "email or username".
-
@girish said in Omeka - platform for digital cultural heritage web publishing:
@jeau atleast the login form of omeka s says "email or username".
Indeed and for me it’s ok. And for the time being as “Unstable” in the AppStore it might be possible to use username as Account name?
-
-
Oups, UserNames module broke ldap access
I will report this issue.
-
@girish I installed some components required for official modules and made some settings and tests. I think we can provide this application as "unstable" in the store. I hope I haven't forgotten anything important.
-
@jeau this is great! I've just ran the tests and we are looking good.
I will update the manifest to add things like mediaLinks and such for the appstore and then push it out as unstable later today.Thanks a lot for the work
-
@nebulon thank's
About tests. Is there a way to test the ldap connection? For my tests, I could connect with my initial administrator, activate and configure the Ldap module but then how to verify? I can't seriously give a Cloudron login and password inside my test code and repo.
-
@jeau I've now pushed it as unstable for a start to collect further feedback.
Regarding the LDAP tests, I have to take a closer look as well how to do that. If you are just concerned about the username/password, then we usually follow the pattern that you run the tests with a USERNAME and PASSWORD env variable locally against a test Cloudron. But since we have the package now in the store, we will test new releases from here on on our test Cloudrons anyways.
-
@nebulon @jeau I just installed the app from the appstore and discovered after activating the LDAP module indeed as @girish wrote earlier a "strange" username and email.
However after trial and error I succeeded to make it very workable:
The 2 attributes were empty after activating and as you see with just those 2 LDAP attributes is works fine!!
For new users it might be an idea to activate the module on install and fill the fields with those to attributes?
-
@imc67 thank's for testing.
I mentioned in the documentation that you have to activate and configure the Ldap module manually. But I forgot write this in the postinstall file in order to make this information visible immediately after installation. I just did it.
I'll investigate to activate the module automatically. However I hesitate to operate directly in the database. I'll ask on the Omeka forum
-
@jeau thanks!!!!
-
@nebulon I updated the code with this information about the activation and configuration of the Ldap module. On the app store the Forum and Documentation links refer to the same page.
-
@jeau thanks, I will publish it then again.
-
I will lock this topic in favor of the new forum section for the app at https://forum.cloudron.io/topic/5097/omekas-package-updates
-
nebulon