Releases: LibCrowds/libcrowds
v1.1.0
This small release closes the following issues
- Make tags modal text configurable #830
- TypeError: this.$axios.$get(...).then(...).catch(...).finally is not a function #831 -
- Add list of tags to 'Browse Tags' page #832
- HTTP manifests cannot be loaded from an HTTPS site #825
- Add admin page to delete item tags #834
- Update task redundancy after tasks are imported #828
v1.0.0
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 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.
Personalised lists 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.
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.
*** Warning ***
- Project
tags
have been renamed asfilters
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';
- 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';
- 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';
-
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.
-
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 🤞
-
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.
v1.0.0-beta.9
This is a big release that contains a lot of additional functionality and fixes. Some highlights are presented below.
Project generation
One of the major changes in this version is to do with the ways in which projects can now be generated from pre-configured templates. These templates define how each task is presented and how its results are analysed. This should make it relatively straightforward for users to add new types of project, without any coding knowledge. It also means that we now can upgrade part of a template (e.g. the tutorial) and have those changes instantly pushed out to all projects that were built from that template.
Results analysis
Our new results analysis process now works consistently across all project types. In essence, multiple contributions are normalised and compared, with the result stored only if the chosen minimum number of matching answers is achieved. If we do not meet that minimum number we can automatically send the task back and ask for an additional contribution. The normalisation rules are configurable via the admin interface.
Web Annotations
The results for all project types are now stored as Web Annotations. This means that, as well as developing consistent ways of analysing the results, we can develop consistent ways of consuming them, such as performing searches via the API. This should prove especially useful when building additional interfaces that need to act in the same way across a range of collection microsites that may be using different task presenters (e.g. Z39.50 and IIIF).
Dependencies upgraded
LibCrowds has been developed using cutting edge software libraries, many of which have now left their alpha/beta stages (e.g. Nuxt.js and Bootstrap 4). Upgrading to the stable versions of the libraries in turn makes LibCrowds more stable.
Documentation
The documentation has been moved to a separate repository. All major functionality has been documented.
Volumes
Projects are now grouped by volume, which helps with the project generation mentioned above and collation of the results. The available volumes for a collection are configurable via the admin interface. Each can use a different type of importer (e.g. Flickr, IIIF or Google Docs).
Forum integration
LibCrowds now integrates with Flarum forums. Rather than having to create a separate account for the forum, single sign-on means that users can sign in to the forum using their LibCrowds account.
Redesigned interfaces
Tweaking of the many interfaces within the platform has been an ongoing process. However, of note in this version is the addition of a new slide out menu that remains consistent across all pages. The various dashboard pages have also been refactored to improve usability.
Consistent and flexible task presenters
The info, help and share buttons are now handled consistently for all task presenters. Previously, some of these buttons only appeared for the IIIF task presenter but now they will also appear for the Z39.50 and any future task presenters. Task presenters are now defined at the template level, rather than the collection level. so we could potentially have multiple types of project within each collection.
Project tags refactored
To enable the sorting and filtering of projects we previously had to specify a set of available tags for each collection then add a selection of these defined tags to each project. Now, we just define some tag types for each collection (e.g. Task or Location) and either choose from current tags or enter new ones as free text when building a new project. This essentially cuts out a slightly clunky configuration stage.
Annotation exports
LibCrowds now provides downloadable datasets for all final result Annotations for each collection. As with the project downloads, Annotations can be downloaded in JSON or CSV formats and are separated by motivation.
Partial Annotation Server
LibCrowds now implements its own Annotation Server, which enables the reading of annotations via a set of API endpoints. The server cannot be used to create, update or delete endpoints, which happens via other means, but it does comply with the Web Annotation protocol for annotation retrieval. This is expected to be expanded in a future version.
Note that many of the above updates rely on additional backend code added via the pybossa-lc plugin.
See the closed milestone for more details of the issues solved.
v1.0.0-beta.8
See the closed milestone for details.
v1.0.0-beta.7
Emergency pre-launch fixes!
- Fix attempts to load svg logos dynamically, which IE didn't like.
- Add more guidance where select annotations are < 2 or transcribe annotations are 0.
- Don't preload tasks to avoid risk of 403 errors (especially in cases where many people are using static IPs)
- Sort projects by overall progress
Check out the closed milestone for details.
v1.0.0-beta.6
Along with various bug fixes and style improvements, this version includes:
- Documentation links added to the main footer and dashboard pages (via a config option)
- New admin page for monitoring site activity
- Admin page access guarded from non-admin users
- Collection admin pages moved to their own dashboard
- Completed projects hidden from contribute table on small screens
Check out the closed milestone for details.
v1.0.0-beta.5
This version includes various bug fixes and style improvements, including some work towards making the LibCrowds Viewer annotation projects easier to use across a range of screen sizes.
See the closed milestone for details.
v1.0.0-beta.4
In this this version we migrate to Server-Side rendering (SSR) for improved SEO and performance. Other highlights include:
- Collection microsites can now configured via the admin interface, with any changes made instantly visible.
- Pagination replaced with an "infinite loading" model for retrieving domain objects (projects, tasks etc.). So, rather than having to navigate through pages of projects you can just keep scrolling down the page to continue loading.
- Tables columns throughout the site are now sortable, so you can quickly locate, for example, the data for completed projects with the most tasks.
- Tagging system implemented for projects. Rather than dealing with a clunky system of clicking through different categories/volumes looking for a project all projects are now loaded by default and can be filtered across multiple criteria to show, for example all "tagging" projects for "London". These tags are also fully configurable via the admin interface (so you can choose a different set of filters for each collection).
- Notification system implemented whereby admin users can send global notifications to all users (can be used to draw users to new projects, blog posts etc.).
See the closed milestone for details.
v1.0.0-beta.3
This version begins to tackle the issue of providing better feedback during task contribution through clearer help text and notification messages.
Bug fixes include duplicated names in the leaderboard, Google OAuth sign ins, broken links and cross-browser style fixes and the display of search results for the Convert-a-Card projects.
We have also upgraded to Bootstrap 4 beta to improve the stability of the platform.
See the closed milestone for details.
v1.0.0-beta.2
This version begins to implement our admin interface, along with various bug fixes.
See the closed milestone for details.