VuFind® Newsletter: June, 2024
Development Highlights and Project News
Development Progress
The biggest news for June is the on-schedule release of VuFind® 10.0, a major release which sets solid foundations for the project's future in addition to adding several new features and many small enhancements and fixes. You can learn more about what's new in the Press Release or the VuFind® 10.0 - What's New / What's Changed video.
With this major milestone completed, parallel work will now begin on releases 10.0.1 (to fix any bugs or omissions discovered in 10.0), 10.1 (to add new features for the next minor release) and 11.0 (to continue major architectural changes).
Project Management Committee Report
The Project Management Committee finished a small project to improve accessibility and modernize styles on the vufind.org site. Work is also ongoing on documentation review and updates; with the 10.0 release behind us, that will become a greater focus of work for the remainder of the year.
Conference News
Planning continues for both WOLFcon 2024 (in London, September 24-26, with pre-conference workshops on September 23) and the 2024 VuFind® Summit (in Leipzig and online, September 30-October 1).
Please consider participating in either or both of these events!
Recently Completed / Resolved Issues
The following items were completed in the past month and are included in release 10.0:
Add AuthHashService; refactor code to use it:
#3714
Add convenience methods to replace getUserByField():
#3815
-
Add integration test coverage for ListItems channel provider:
#3720
Add integration test for Email authentication; fix case-sensitivity bug:
#3778
Add markDeleted() to ChangeTrackerService:
#3776
Add missing dependency annotation to BulkTest:
#3767
Add stubs for remaining database services:
#3736
Add support for logging emails to a file:
#3729
Add testing of deleted records to OaiTest:
#3721
Added missing parameters college and major in user entity interface:
#3759
Allow the order of author groups to be configurable:
#3750
-
Clarify and refactor tag logic related to linking/unlinking:
#3793
Clean up outdated row references in VuFind module:
#3805
DB services: Fix argument names for consistency:
#3766
Deprecate a few more User row methods:
#3773
Deprecate and replace findResource() method:
#3727
Deprecate record driver getComments() method:
#3777
Deprecate record driver getContainingLists() method:
#3730
Deprecate record driver getTags method; improve TagService; fix minor bugs:
#3771
Deprecate several obsolete User row methods:
#3728
Eliminate remaining controller references to getTable():
#3811
Eliminate tag table calls from InstallController:
#3789
Expand Auth hash entity interface:
#3712
Expand external session entity interface:
#3715
-
Expand Record entity interface:
#3716
Expand Search entity interface:
#3747
Expand Short links entity interface:
#3737
Expand User resource entity interface:
#3743
Extract Solr directly to the vendor directory:
#3817
Feedback: expand test; improve error handling:
#3719
Finish porting expiration commands to use database services:
#3803
Finish updating SwitchDbHashCommand to use database services:
#3806
Fix: Always retrieve database services by interface:
#3781
Fix docs for ipRanges parameter in RateLimiter.yaml:
#3718
Fix external logout handler to process all sessions:
#3798
Fix facets JS issues:
#3685
Fix favorites multi-select-list storage cleanup after deleting items from lists:
#3790
Fix
HTML validation issues:
#3770
Fix incorrect capitalization of DateTime in comments:
#3753
Fix invalid argument in Record Driver test harness:
#3726
Fix issues with search database table and entity interface:
#3757
-
Fix outdated comments to use UserEntityInterface:
#3733
Fix UserResource getters:
#3756
-
FOLIO: Detect inactive location:
#3713
Improve AuthEmailNotVerified exception:
#3700
Improve method names/terminology – use record instead of resource:
#3780
Improve search table cleanup query:
#3795
Improve translation key escaping to improve Lokalise compatibility:
#3818
Increase error tolerance: Wikipedia outage shouldn't break author page:
#3779
Increase use of entity interfaces in unit tests:
#3704
Increase use of UserEntityInterface in MyResearchController:
#3702
Index email and verify_hash fields in user table:
#3814
Introduce and use RecordService:
#3735
Introduce and use ShortlinksService:
#3749
Introduce ExternalSessionService:
#3732
Introduce RecordIdUpdater service:
#3804
Introduce ResourcePopulator service:
#3725
Introduce UserList service:
#3701
KohaRest: fix bug – incorrect config key (should be ItemTypeRenewalBlockMappings):
#3754
Make tag case-sensitivity a parameter in database service methods:
#3797
Make tag faceting test pass in PostgreSQL as well as MySQL:
#3808
Make unique tag sort unambiguous:
#3785
Migrate more methods to ResourceService:
#3708
-
Minor improvements to FavoritesService:
#3810
Minor improvements to MockContainerTrait:
#3764
Minor improvements to UpgradeController:
#3801
More UserEntityInterface improvements to AlmaController:
#3813
Move bootstrapper activities to event handlers:
#3722
Move catalog credential saving to ILSAuthenticator:
#3752
Move source renaming to ResourceService:
#3794
OverDrive: Fix incorrect translation string in status-full.phtml:
#3799
OverDrive: Load availability via OverDrive ID:
#3691
OverDrive: Support disabled patron
API:
#3693
PHPUnit: turn on displayDetailsOnTestsThatTriggerDeprecations:
#3717
Refactor admin FeedbackController to use FeedbackService:
#3709
Refactor and replace User row's getLists() method:
#3763
Refactor Auth modules to use UserEntityInterface/UserServiceInterface:
#3625,
#3787
Refactor BrowseController tag search to TagService:
#3788
Refactor createOrUpdateLink() to UserResourceService:
#3784
Refactor favorite and user list tag unlinking:
#3807
Refactor Favorites search results to use database service:
#3783
Refactor more favorites and list logic into FavoritesService:
#3769
Refactor more methods to the SearchService:
#3775
Refactor ResourceTags createLink method to database service:
#3765
Refactor tag administration to use database services:
#3703
Refactor User and UserList tag methods to FavoritesService:
#3772
Refactor user purging to new UserAccountService:
#3774
Refactor User::updateEmail to UserServiceInterface::updateUserEmail:
#3723
Remove unnecessary timezone from Comments class:
#3705
Rename \VuFind\Tags to \VuFind\Tags\TagsService:
#3791
Replace deprecated method calls in Favorites search Results class:
#3802
Replace getSavedData() with getFavoritesForRecord():
#3751
Resource tags entity interface:
#3741
Simplify <br> tags in Javascript code:
#3742
Simplify return type of \VuFind\Controller\AbstractBase::getUser():
#3768
Support root
URL path for test instance:
#3755
Update feedback admin template to use FeedbackEntityInterface:
#3731
Update GitHub branch protection rules when creating release-10.0 branch:
VUFIND-1659
Update setupJumpMenus from jQuery to Javascript:
#3681
Upgrade Phing to version 3.0.0:
#3809
Upgrade PHPUnit to 10.5.20; fix deprecation warnings:
#3786
Use database services in ListItems channel provider:
#3782
Use different debug formatting string on console vs. web:
#3707
Use UserEntityInterface in email-related MyResearchController methods:
#3734
Use UserEntityInterface on new password form:
#3812
The following items were completed in the last month and will be included in release 10.1:
Define two example ILL strings in en.ini:
#3744
KohaRest: Show recalled message if a recall is blocking renewal:
#3422
These changes impacted the vufind.org website:
Update website footer (moving some content to about page):
#3692
This item was closed as “no longer needed:”
New DevTool: dump out current user:
#3658
New Issues
The following items were reported / begun in the past month, but are not yet completed:
Code in Progress
Configurable check item status behavior:
#3748
Display status of item locations by status priority:
#3758
Facets allow for multiple selections to be made before reloading page:
#3761
Support extra status information in availability status handling:
#3740
Treat MARC 240 as a uniform title field:
#3760
Issue Report / Discussion Only
Enable
HTML validation in ListViewsTest after bootstrap3 is dropped:
VUFIND-1692
-
-
Update language translation files for release 10.1:
VUFIND-1695
Update language translation files for release 11.0:
VUFIND-1696
Active Issues
The following items saw significant progress / activity during the past month:
Adding the option to make html elements sticky:
#3226
Convert from Laminas\Db to Doctrine:
#2233
Fetch Koha shelving locations for every Koha item:
#3435
Use Koha REST
API endpoint to pull recalls into patron holds page:
#3421