FolderShare Release Notes
8.x-1.2, 9/17/2019
Requires PHP 7.2+ and Drupal 8.7+
Important changes:
- REST web services have been moved to the optional "FolderShare REST"
module. Once installed, services work as in prior versions of this
module.
- Sharing form revised to prompt for users instead of listing all
site users.
- Administrator settings page revised and settings reorganized.
Module install and uninstall:
Bugs fixed:
- Site error caused if the Drupal core "search" module was
not enabled, even though it should be optional.
-
Fixed UI code that referenced the "plugin.manager.search" service without
first checking if the "search" module was installed.
- Module pre-uninstall hook misnamed and not called.
-
Renamed hook.
- Site error could be caused on module uninstall.
-
Fixed pre-uninstall hook (once properly named) that did not delete the
module's uploaded files directory correctly.
Routes and menu links:
Bugs fixed:
- Menu links defined using an internal URL instead of the "route_name"
field.
-
Menu link definitions now use the "route_name" field.
- Route titles may not match page titles.
-
Route titles were set using the "_title" field in the routing file,
but page rendering set titles explicitly. These are now coordinated to
always use the route titles.
- Menu link titles may not match route titles.
-
Menu links have their own "title" fields, but when they refer to a parent
route, the titles should match route titles. Drupal core doesn't do this
automatically. The "menu_lnks_discovered_alter" hook is now used to keep
titles based on routes.
- Routes have unused "_description" fields.
-
Deleted.
- Menu link description text out of date.
-
Updated.
- Remove reduncant "report" word from usage report title.
-
The usage report link and title have changed from
"FolderShare usage report" to just "FolderShare usage".
New features:
- Include Field UI menu links as submenus on "FolderShare"
structure menu.
-
The "Manage fields", "Manage forms", and "Manage displays" links for
the Field UI module's pages about FolderShare entities are now included
as submenu items under the "FolderShare" entry in the admin's structure
menu. These are only included if the Field UI module is enabled.
Local files:
Bugs fixed:
- Local file name parsing not using multi-byte string functions.
-
Fixed. All local file name handling is now UTF-8 safe.
Background tasks:
Bugs fixed:
- Background task scheduler does not check for execution time limits
before starting the next task.
-
The scheduler now checks the current process's execution time before
starting a task, and stops if the time is approaching a limit.
Activity logs:
Bugs fixed:
- Log messages generated by background tasks have the wrong
user ID.
-
Updated to use the user ID of the initiator of the task, rather than
that of the current user (which may differ if a background task
is executed by CRON or another user's page termination).
- Multi-file add or upload does not log a list of all files.
-
Updated to log everything.
New features:
- Entity log entries should include full path to entity.
-
Updated to include the full entity path on each log posting.
- Entity log entries should have consistent formatting.
-
Updated to use a consistent wording style that always shows the entity
name and entity ID in parenthesis.
Search:
Bugs fixed:
- Search indexing should not include the file/folder's sharing
status.
-
Deleted. The sharing status on a file/folder is a feature of its highest
ancestor, not the file/folder itself. If that ancestor's sharing is
changed, the status changes but there is no cache flush to insure this
is updated in the search index. This would be very expensive, so instead
the sharing status is removed from a file/folder's index entry.
- Search indexing of file content incorrectly checks file name
extensions.
-
Corrected to index file content only if the file name extension is on
the allowed list set on the search plugin.
- Search indexing does not add file name words to index if file
content not indexed.
-
File name words are now always added, whether or not the file's content
is indexed too.
- Search indexing does redundant text filtering.
-
Deleted. The "search" module already does text filtering.
- Search indexing should post log message.
-
Added.
Validation:
Bugs fixed:
- File/folder naming allows names that are entirely white-space or
that contain carriage returns and other control characters.
-
Names are no longer allowed if they are entirely white space or include
control characters.
Hooks:
Bugs fixed:
- User ID of requesting user should be passed to post operation
hooks.
-
Operation hooks may be called from background tasks that are executing
on CRON or page termination after presenting a page to an unrelated user.
The hooks are now passed the user ID of the user that initiated the
operation, which may differ from the current user how triggered the
page termination activity.
Administrator settings:
Bugs fixed:
- Activity logging enable/disable choice disabled if Drupal core "dblog"
module is not installed.
-
Since a site does not have to use "dblog", logging settings are now
always available, regardless of the install status of "dblog".
New features:
- Reorganize and condense tabs and sections on administrator
settings page.
-
The page's vertical tabs have been reduced to "About", "Files",
"Interface", and "Services." Except for "About", the tabs use
open-able details groups to organize settings, use less space, and be
less overwhelming. Text has been simplified.
- Add user autocomplete settings to control visibility of email
addresses.
-
The change owner and share forms now use an autocomplete field to help
a user select another user at the site. This autocomplete can show
the account name or display name, and optionally a full or masked email
address.
- Add background search indexing scheduling.
-
By default, search indexing is initiated by CRON. When CRON executions
are set to multi-hour intervals, the search index can be far out of date.
An optional background reindexing task can now be set to update more
frequently by using page termination hooks.
- Add quick links to the module's various pages to the administrator
settings page.
-
The "About" tab now includes quick links to other relevant pages for
the module, including its help page, permissions, views, search plugin,
etc. If the FolderShare REST module is installed, links to its help
page and REST plugin are included.
Removed features:
- Remove uninformative "See also" links from administrator
settings page.
-
Deleted.
- Remove REST plugin settings restore from administrator settings
page.
-
REST features have been moved to the FolderShare REST module.
Administrator usage report:
Bugs fixed:
- Usage data update should post a log message.
-
Updated to post a log message on each usage data update.
New features:
- Usage report columns should sort by name or number.
-
Administrator per-user usage report now has sort links on table columns
so that the list of users can be sorted by user name, number of folders,
number of files, or number of bytes used.
Removed features:
- Remove user profile links to speed up usage report display.
-
Creating a link to a user's profile requires loading the User entity
for each user in the report. Since the report includes all users at
the site, if there are large number of users then there are a large number
of User entities to load and report display is slow. Removing the links
speeds up the page.
Administrator drush commands:
Bugs fixed:
- Drush command to list locks does not print lock ID.
-
Typo in print function fixed to print the lock ID.
Removed features:
- Internal drush command to benchmark logging is not needed.
-
Deleted.
- Internal drush command to benchmark hooks is not needed.
-
Deleted.
User interface:
Bugs fixed:
- Copy and move operations via the GUI failed silently and closed
the dialog when double-clicking on a folder, clicking on the folder's
link, or selecting a destination folder and clicking on the submit
button.
-
These operations were causing an improper AJAX return that closed the
dialog instead of refreshing it or executing the copy or move.
New features:
- Share form should only list relevant users, not all site users.
-
The form has been redesigned. An "add" prompt selects a user to add to
the sharing list for a file/folder. Added users can be granted view or
author access. If neither is granted, the user is automatically removed
from the share list when the form is saved. The add prompt uses a new
autocomplete service to find users by account name, display name, or
email address (see below).
- Change owner form auto-complete should show display name and
email address along with account name.
-
A new user autocomplete service now handles this form. It uses the
entered text to search for similar account names and, optionally,
display names and email addresses. Display name searching is only
available if the "realname" module is installed. Email addresses, or
masked addresses, are shown based upon settings in the module's
administrator settings page.
- Form validation errors should be shown within the same dialog.
-
Validation errors for the Share form, Rename form, and Change owner form
are now shown as messages at the bottom of the dialog instead of in
a separate message dialog after the form dialog is closed.
Styling:
Bugs fixed:
- File/folder list column headings not shown as links.
-
Styling has been corrected since column headings are links
(they sort the list).
- File/folder list icons cropped at top.
-
Styling has been corrected.
- File/folder toolbar menu buttons and usage report update button
should not highlight on hover.
-
Hover effects on button icons removed. These are not touch relevant and
modern UI design no longer uses button hover effects. A theme can still
add its own effects.
Miscellaneous:
Bugs fixed:
- Token group and search plugin use "folders and files", but module
uses "files and folders."
-
Reconciled to always use "files and folders" phrase.
- Replace calls to functions deprecated in Drupal 8.7.
-
Fixed.
8.x-1.1, 3/30/2019
Requires PHP 7.2+ and Drupal 8.6+
Bugs fixed:
- Deleting an account causes a site error.
-
On an account delete, the module automatically deletes the account's
files and folders or reassigns ownership to another account. A typo
caused these operations to fail.
New features:
- Drush commands added to test account administration responses.
-
The "foldershare-admin" command supports options to delete all content,
delete all content owned by a user, change ownership of all content
owned by a user, and unshare a user from all content. These are the same
operations performed automatically on account deletion, depending upon
the site administrator's content handling preferences.
8.x-1.0, 3/28/2019
Initial release.
Requires PHP 7.2+ and Drupal 8.6+