Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Solved Omeka - platform for digital cultural heritage web publishing

    App Wishlist
    6
    46
    1898
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • imc67
      imc67 translator @girish last edited by

      @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

      scooke 1 Reply Last reply Reply Quote 2
      • scooke
        scooke @imc67 last edited by

        @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?

        A life lived in fear is a life half-lived

        S jeau 2 Replies Last reply Reply Quote 2
        • S
          seeker @scooke last edited by

          Very cool to seeing Omeka on the horizon! This platform is used by many who need a turn key solution like Cloudron

          1 Reply Last reply Reply Quote 2
          • jeau
            jeau App Dev @scooke last edited by

            @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/datadirectory. 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.

            1 Reply Last reply Reply Quote 4
            • jeau
              jeau App Dev last edited by

              @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.

              S 1 Reply Last reply Reply Quote 3
              • S
                seeker @jeau last edited by

                @jeau Agreed
                There is also Scalar
                https://guides.library.illinois.edu/scalar

                1 Reply Last reply Reply Quote 3
                • jeau
                  jeau App Dev @nebulon last edited by

                  @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'
                  
                  nebulon 1 Reply Last reply Reply Quote 0
                  • nebulon
                    nebulon Staff @jeau last edited by

                    @jeau ok let me double check this. Which what is the gitlab account you are using?

                    jeau 1 Reply Last reply Reply Quote 0
                    • jeau
                      jeau App Dev @nebulon last edited by

                      @nebulon on Cloudron gitlab, my account is also @jeau

                      nebulon 1 Reply Last reply Reply Quote 0
                      • nebulon
                        nebulon Staff @jeau last edited by

                        @jeau thanks, can you try again?

                        jeau 1 Reply Last reply Reply Quote 2
                        • jeau
                          jeau App Dev @nebulon last edited by

                          @nebulon thank's, it works

                          1 Reply Last reply Reply Quote 1
                          • jeau
                            jeau App Dev @girish last edited by

                            @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

                            girish 3 Replies Last reply Reply Quote 2
                            • girish
                              girish Staff @jeau last edited by

                              @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.

                              1 Reply Last reply Reply Quote 1
                              • girish
                                girish Staff last edited by

                                OK, just testing out if it's something obvious. But the LDAP server does not get any requests at all from omeka

                                1 Reply Last reply Reply Quote 1
                                • girish
                                  girish Staff last edited by

                                  So, after some debugging I found that the LDAP code hits a LDAP_X_DOMAIN_MISMATCH exception. This is because of the accountDomainName looks like. It expects the email ids to be in the same domain as the one we set there. Removing it, still fails though.

                                  1 Reply Last reply Reply Quote 1
                                  • girish
                                    girish Staff @jeau last edited by

                                    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'),
                                                ],
                                            ],
                                        ],
                                    
                                    1 Reply Last reply Reply Quote 1
                                    • girish
                                      girish Staff @jeau last edited by

                                      @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.

                                      jeau 1 Reply Last reply Reply Quote 2
                                      • jeau
                                        jeau App Dev @girish last edited by

                                        @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.

                                        1 Reply Last reply Reply Quote 1
                                        • imc67
                                          imc67 translator last edited by

                                          @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.

                                          jeau 1 Reply Last reply Reply Quote 1
                                          • jeau
                                            jeau App Dev @imc67 last edited by

                                            @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.

                                            girish 1 Reply Last reply Reply Quote 0
                                            • girish
                                              girish Staff @jeau last edited by

                                              @jeau atleast the login form of omeka s says "email or username".

                                              imc67 1 Reply Last reply Reply Quote 0
                                              • imc67
                                                imc67 translator @girish last edited by

                                                @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?

                                                jeau 1 Reply Last reply Reply Quote 0
                                                • jeau
                                                  jeau App Dev @imc67 last edited by

                                                  @girish I never understood why the form asks for name or email. I didn't submit any changes either.

                                                  I just found the module UserNames who solve this issue. I can install it by default.

                                                  @imc67 I hope it will be possible soon.

                                                  jeau 1 Reply Last reply Reply Quote 1
                                                  • jeau
                                                    jeau App Dev @jeau last edited by

                                                    Oups, UserNames module broke ldap access 😞 I will report this issue.

                                                    jeau 1 Reply Last reply Reply Quote 1
                                                    • jeau
                                                      jeau App Dev @jeau last edited by

                                                      @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.

                                                      nebulon 1 Reply Last reply Reply Quote 3
                                                      • nebulon
                                                        nebulon Staff @jeau last edited by

                                                        @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 🙂

                                                        jeau 1 Reply Last reply Reply Quote 4
                                                        • jeau
                                                          jeau App Dev @nebulon last edited by

                                                          @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.

                                                          nebulon 1 Reply Last reply Reply Quote 1
                                                          • nebulon
                                                            nebulon Staff @jeau last edited by girish

                                                            @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.

                                                            imc67 1 Reply Last reply Reply Quote 2
                                                            • imc67
                                                              imc67 translator @nebulon last edited by imc67

                                                              @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:

                                                              Schermafbeelding 2021-05-19 om 18.20.46.png

                                                              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?

                                                              jeau 1 Reply Last reply Reply Quote 1
                                                              • jeau
                                                                jeau App Dev @imc67 last edited by

                                                                @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

                                                                imc67 1 Reply Last reply Reply Quote 3
                                                                • imc67
                                                                  imc67 translator @jeau last edited by

                                                                  @jeau thanks!!!!

                                                                  jeau 1 Reply Last reply Reply Quote 1
                                                                  • jeau
                                                                    jeau App Dev @imc67 last edited by

                                                                    @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.

                                                                    nebulon 1 Reply Last reply Reply Quote 1
                                                                    • nebulon
                                                                      nebulon Staff @jeau last edited by

                                                                      @jeau thanks, I will publish it then again.

                                                                      1 Reply Last reply Reply Quote 1
                                                                      • nebulon
                                                                        nebulon Staff last edited by

                                                                        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

                                                                        1 Reply Last reply Reply Quote 1
                                                                        • Locked by  nebulon nebulon 
                                                                        • First post
                                                                          Last post
                                                                        Powered by NodeBB