Solved Omeka - platform for digital cultural heritage web publishing
-
Omeka is a free, flexible, and open source web-publishing platform for the display of library, museum, archives, and scholarly collections and exhibitions.
Omeka comes in two flavors: Omeka Classic and Omeka S.
Omeka S is a web publication system for universities, galleries, libraries, archives, and museums. It consists of a local network of independently curated exhibits sharing a collaboratively built pool of items, media, and their metadata.
cf. https://github.com/omeka/omeka-s/wiki/What-to-expect-in-Omeka-S
Omeka S is an evolving project. It is a complete rewrite and reimagining of Omeka using up-to-date technologies. It also responds to the needs we have heard from Omeka users who manage many installations and work at the intersection of many content management systems and repositories.
Omeka S focuses on two core needs:
Multiple sites with easy IT administration: Omeka S has been built to address the needs of institutions that want to stand up multiple sites. These might be medium to large GLAM organizations with many subgroups that want to publish their content, or they might be universities with many instructors using Omeka in different pedagogical contexts, or any number of broad uses that call for some centralized IT management that facilitates easy creation of new sites for presentation and interpretation of many resources. A rough analogy to a WordPress networked installation works, but our design is significantly different from that model.
Data exchange: Omeka S emphasizes easy interaction between different data sources. This is most clearly reflected in our use of Linked Open Data principles. Our API functions through JSON-LD, and our metadata entry expands beyond Dublin Core and facilitate using additional vocabularies.
[...]
Omeka Classic and Omeka S will exist and be maintained side-by-side for the foreseeable future.
-
@lapieh and I started packaging both versions of Omeka. The code is available here:
Feel free to test these experimental apps.
-
We have made progress in the packaging of Omeka S and Omeka Classic. Thanks @nebulon for their help.
If you can take some time to test, we would be grateful for your feedback on these two experimental applications to improve our work.
These are specialized applications, but I hope they will join the Cloudron App Store soon as they will be of interest to digital humanities researchers, teachers, and cultural and heritage institutions.
The difference between classic and S version of Omeka's free softwares? Basically, Omeka Classic is designed for a single site around a general theme, argument, or research question. Omeka S was created for institutions managing a sharable resource pool across multiple sites. Omeka Classic uses Dublin Core while Omeka S implements multiple vocabularies and facilitates linked open data. Omeka S is a new version that complements rather than replaces Omeka Classic. So it's important to have both
-
I've installed this with the LAMP app awhile ago and it worked great. I'll give this new option a try!
-
-
@jeau Are you still using this app? Just wondering if I should look into getting this published as unstable.
-
@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).
-
@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