There is a newer version of this record available.

Software Open Access

LibCrowds/libcrowds: v1.0.0

Alexander Mendes

Some highlights of the most interesting new features are shown below.

Full Web Annotation server integration

Following on from the previous release, all final results and user tags (see below) are now stored on a server that complies fully with the Web Annotations Protocol. This is a far cleaner solution than storing them within other domain objects and greatly increases the possibilities for programmatic research.

User tags

This version implements a tagging system whereby users can add tags to the items presented during a task. These tags are then used to generate a browsable and searchable image album so that researchers can collaborate to identify items of particular interest.

Project generation fixes

The project generation solution provided in the previous version was overly complex and error-prone. The functionality of allowing all users to generate templates then send them to admin users for review cannot be implemented safely without creating new database tables. We have avoided this so far by just storing relatively simple additional data in the info columns of PYBOSSA domain objects but this is not really sufficient for the implementation of a versioning system with pending and approved templates that are still in active use within projects.

So, we're moving to a system whereby only admin users can directly update the templates. Any suggestions by non-admin users for new templates or updates to existing templates can be submitted via a customisable form that has been added to the site. This form will be emailed to administrators who can then decide whether or not to implement the changes.

New Google Analytics event

A Google Analytics event has been added to track each time a project toolbar option is clicked. This should help to track how often users are referring to the help modal, info modal etc.

New user preferences option

Tutorials are shown every time a user loads a project. However, once users understand how a project works they don't necessarily want this modal popping up every time, so an option has been added to the account settings page to disable this automatic display.

Improved documentation discovery

During the previous release we added lots of generic "See the documentation" links to the sites admin pages that would just point to the base documentation URL. As our documentation is now relatively stable we have updated these links to point to specific pages within the documentation. Each page on the admin site now contains a guidance block and a link to the relevant documentation.

Tweaks to results analysis

We've made a few tweaks to our results analysis process, such as not asking for more contributions if none of the first batch of volunteers entered a value. More tests have been added to ensure that we're producing consistent results. As above, all of these results are now sent to an Annotation server, rather than being stored in the main database.

Improved forum integration

Integration with the forum software, Flarum, has been improved. Whereas previously we just included a link to a chosen forum topic from the main navigation of each collection microsite, we now make use of the API to add a summary of the latest forum posts to the homepage of each microsite. The forum integration settings for each collection microsite can be managed via a new Forum Integration page within the admin section of each collection microsite. Additionally, we have added a configuration option to the main settings file to enable integration of users' forum notifications into the main site.

Present personalised list of projects

The main Take Part page for each collection microsite now only displays projects that the current user can contribute to. Previously, a user had to click on the contribute button and wait for the project to load, before being told that they had run out of tasks for that project and sent back to the Take Part page. This functionality can also be used to hide projects from anonymous users, if the project owner decides that only signed in users should be allowed to contribute to a project. The show completed toggle has been removed from this page as it no longer makes sense.

  1. Project tags have been renamed as filters to avoid confusion with the tagging system described above. Before migrating to this version please run the SQL queries below in your PYBOSSA backend database.
UPDATE project
SET info = info - 'tags' || jsonb_build_object('filters', info->'tags')
WHERE info ? 'tags';

UPDATE category
SET info = info - 'tags' || jsonb_build_object('project_filters', info->'tags')
WHERE info ? 'tags';
  1. One of the complexities of allowing non-admin users to create templates is that we had to store the pending data in the user object and the approved data in the category object, then keep these in sync. Now that only admin users can create and update templates we can store all of the data in one place (the category object). If you have any pending templates that you want to approve do so, then run the following SQL query to clean up the user objects.
UPDATE "user" SET info = info - 'templates';
  1. While you're at at, you can clean up the task objects by removing parent_annotation_id. This is because we're no longer using this object to find the links between annotations. Instead, the same can be achieved by following the annotations back to their respective tasks and going through the process of matching up the targets. In any case, this was another layer of complexity that would probably rarely have been used.
UPDATE task SET info = info - 'parent_annotation_id';
  1. We're pulling in additional data via the API of the integrated forum software, Flarum. So, whereas previously we were storing a URL linking a forum topic to a collection microsite it is actually more useful to store the tag of a particular topic. To update these just sign in as an administrator and visit the Forum Integration admin page for each collection microsite, then select the correct forum tag.

  2. You will now need to recreate all of your data on the new server. The easiest way to do this is to go to the Admin > Results section and click the Analyse All button for each collection microsite. Your results should start to be recreated on the new server 🤞

  3. Please also ensure that you have updated PYBOSSA to the latest version, along with all backend plugins.

See the closed milestone for details of the issues solved.

Files (2.6 MB)
Name Size
2.6 MB Download
All versions This version
Views 27837
Downloads 638
Data volume 203.2 MB21.0 MB
Unique views 25937
Unique downloads 367


Cite as