Search / Sorting in Library?

I installed the bitnami stack and edx-search seems not to be included. How can I make it work, since edx-search/README.md at master · edx/edx-search · GitHub provides nothing like installation instructions.
I wonder, why is such an essential like searching in libraries and courses is not implemented by default anyway?

1 Like

@hli Simply because nobody has implemented it yet :slight_smile:

There is actually an effort looking at reimplementing content libraries on top of blockstore - but I don’t know if searching is currently planned as a feature. CC @arbrandes @marcotuts

@antoviaque, searching the new Content Libraries via the Studio/MFE interface is already implemented, as a matter of fact. :slight_smile:

I’m not sure on what @hli’s after, though. There definitely is learner-facing course searching via the Discovery service, for instance - but I have no experience with the Bitnami stack and whether it’s deployed/configured.

As a matter of fact there is no search input whatsoever… If you have hundreds of content objects in your library a search field would be crucial.

1 Like

@hli You are currently using the old Content Libraries interface - @arbrandes you are referring to the search already being implemented in the new upcoming version based on blockstore?

@antoviaque and @hli, yes, sorry, I meant in the new MFE - the terminology is a bit fuzzy.

@hli, I’m referring to frontend-app-library-authoring, which is intended to replace the current implementation of Libraries in Studio (and elsewhere). Unfortunately, it’s not quite ready for production use, yet, and might not be for a while. You can keep track at this wiki page.

Thanks. So, for the record: there is no way in current versions of Open Edx to sort or search library contents? The new MFE is it implemented in devstack already?

Just adding a “me too”, that I’d like this search support once it’s available. I only have ~20 libraries right now (since there’s apparently no better way to include content in multiple classes :-/), but I’ll have hundreds of libraries eventually since I have a heavy need to reuse content between classes

I found the new “Publisher” backend, quite buggy though. At least there is filtering and searching intended, rather slowly though. The frontend-app-library-authoring returns nothing but an axios error:

Error: Axios Error (Response): 500 http://localhost:18010/api/libraries/v2/ "ImproperlyConfigured at /api/libraries/v2/\nCannot use Blockstore unless BLOCKSTORE_API_AUTH_TOKEN is set.\n\nRequest Method: GET\nRequest URL: http://localhost:18010/api/libraries/v2/?text_search=&org=\nDjango Version: 2.2.17\nPython Executable: /edx/app/edxapp/venvs/edxapp/bin/python\nPython Version: 3.8.5\nPython Path: ['/edx/app/edx_ansible/edx_ansible/docker/plays', '/edx/app/edxapp/edx-platform', '/edx/app/edxapp/venvs/edxapp/lib/python38.zip', '/edx/app/edxapp/venvs/edxapp/lib/python3.8', '/edx/app/edxapp/venvs/edxapp/lib/python3.8/lib-dynload', '/usr/lib/python3.8', '/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages',...

So I guess there remains a lot to do. As of now I cannot but stick to other lms software, since such a complex architecture like open edx which cannot even provide such essential features like searching and sorting in the backend cannot be considered production ready, sorry.

Hello @hli,

Just want to add what I know about the searching on the Open edX studio side, though you will not achieve exactly as per your requirement but maybe this can help.

You can search for the courses and libraries based on the Organization name from the studio home page, which will look like this:

In order to get this search box you have to add one waffle switch from the admin panel and need to activated it. To add it follow below steps:

  • <your_LMS_domain>/admin/waffle/switch/add/
  • add studio_home.enable_global_staff_optimization as name of the switch
  • tick mark Active and save the details

Now, refresh the studio home page and you will see the search box.

You may have missed the most recent update to the README, which now includes a proper guide on how to run it on a devstack (and solve the error you’re seeing). But as I wrote earlier, it is not yet production-ready.

Having just published a blog post about Publisher, I’d love to hear what your problems were, if you don’t mind.

1 Like