8.x-1.5.0, 9/14/2020
Requires PHP 7.2+ and Drupal 8.7+
Module update required.
Run the update using the administrator's web UI
or "drush updb". The update installs an updated view and date formatter and
flushes all caches. The flush loads updated routes, libraries, and file
names. The module will not function properly until the update is done.
User interface
New features:
- Folder browser no longer uses paging.
- Paging has been disabled in the folder browser. This caused user
confusion because equivalent folder browser functionality in macOS,
Windows, and Linux does not page. The browser now always shows all
files and folders in the current folder. For sites with extremely
large folders, paging can be re-enabled by editing the module's
"FolderShare Lists" view using the View UI module.
- Sidebar added to folder browser.
- A left sidebar has been added to the browser. The sidebar includes
links to favorite destinations, including the user's home and shared
folders, and the site's public folder, if any.
- Sidebar show/hide button added to folder browser toolbar.
- A new button on the browser's toolbar shows/hides the sidebar. Sidebar
visibility is saved in a cookie so that it is retained across pages and
visits to the site.
- "Personal files" list split into private and shared file lists.
- Content owned by the user is shown in the private list, while content
shared with them is in the "Shared" list. Previously these were combined
as the user's "Personal files".
Removed features:
- Site "Tools" menu links for the module have been simplified.
- Previously, three links were automatically added for "Personal files",
"Public files", and "All files" (admin only). These have been reduced
to a generic "Files & Folders" link to the current user's home
folder.
Responsive changes:
- Folder browser scrolls horizontally.
- When the screen/window is narrow (e.g. on phones), the folder browser's
columns scroll horizontally. Previously all columns except for the
"Name" column were hidden on narrow screens/windows.
- Folder browser user interface grows on narrow screens.
- When the screen/window is narrow (e.g. on phones), the toolbar buttons,
search box, menu item heights, and browser row heights all increase so
that they are more easily touched with a finger.
- Sidebar and show/hide button automatically hidden on narrow screens.
- When the screen/window is narrow (e.g. on phones), the sidebar and
its toolbar show/hide button are automatically hidden.
Other changes:
- Styling updated.
- Folder browser styling has been adjusted to lighten grays, reduce
gradients, and add a little padding. Drag-and-drop target highlighting
is clearer.
- Terminology updated.
- Some terms used throughout the user interface and administrator
help pages have been updated:
- "Edit Description" menu command shortened to "Edit".
- "Folder list" and "Folder table" changed to "Folder browser".
- "Personal files" renamed to use the user's display name. The
folder is referred to as the user's "home folder".
- "Public files" shortend to "Public".
- "All files" shortened to "All".
- "Lists" in ancestor menu changed to "Favorites".
- Icons updated.
- Icons for folders and the home, shared, public and all folders favorites
have been updated. The new icons are monochrome and do not use shading.
- Some motion added to the UI.
- Reflecting modern UI style, some quick animations are now used in the
user interface. The sidebar slides open/closed, menus slide down, and
dialogs slide open.
- Folder browser scrolls vertically if configured by the site admin.
- By default, the browser uses as much vertical page space as required to
list all content. The site admin can reduce the browser to a fixed size.
This automatically enables vertical scrolling within the browser.
- Folder browser Owner and Size column order reversed.
- The Size column is now shown before the Owner column.
Bugs fixed:
- Search by users without admin privileges fails.
- Fixed. An error in access control checks caused search queries to
abort without returning results
- File view pages include unnecessary content and running scripts.
- Removed. Pages showing a file, rather than a folder, still included
some folder browser content and code. This was not necessary and caused
the pages to be larger and to run scripted tasks that were not needed.
Administrator features
Primary changes:
- Folder browser view revised.
- The "FolderShare Lists" view used by the folder browser has been
updated and is installed automatically on a module update:
- Common settings across view displays are now the view's default
instead of using identical overrides for each display.
- New displays have been added to show shared content for the user
on a page or within a dialog.
- Personal view display updated to show only content owned by the
user, and not content shared with them.
- Administrator titles for view displays have been updates to use
the same updated Home/Shared/Public/All terminology used in the
sidebar and favorites lists.
- Paging disabled on all view displays now that the browser
scrolls vertically when needed.
- All table columns are now "high" priority, which disables
table responsiveness now that the browser scrolls horizontally
when needed.
- The size column has been moved to before the owner column.
- Custom date format revised.
- The "FolderShare date & time" date format used by the folder
browser for the modification date column has been revised and is
installed automatically on a module update. The format
has been shortened from "Jan 1, 2020 at 12:00 AM" to 1/1/20 12:00 AM".
The shorter format allows the modification date column to be narrower
and easier to fit onto smaller screens/windows.
- Library names and content revised.
- The module's CSS/JS libraries have been updated and are picked up
automatically on a module update or full cache flush:
- "foldershare.module" renamed as "foldershare.general".
- Dialog Javascripts moved from "foldershare.general"
into their own libraries: "foldershare.changeownerdialog",
"foldershare.folderselectiondialog", "foldershare.renamedialog",
and "foldershare.shareddialog.".
- "core/drupal.tableresponsive" removed from "foldershare.general"
since responsive table features are no longer used.
- "/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js" removed
since the feature is not used.
- "/core/assets/vendor/jquery.ui/ui/escape-selector-min.js" removed
since the feature is not used.
Other changes:
- Root list page routes now use title callbacks.
- Root lists, such as the user's home folder, previously used hard-coded
title strings. These have been replaced with title callbacks that return
translated text. The user's home folder title callback returns the user's
display name as the folder name. These same titles are used whenever the
route is used, such as in the site's Tools menu, page titles,
breadcrumbs, and the folder browser sidebar.
- Some source file names have changed.
- To better reflect current terminology, a few source file names have
changed.
- Some CSS class names have changed.
- To better reflect current terminology, some CSS class names have changed.
Names that included "folder-table" are now "folder-browser".
- Menu command plugin weights are now all zero.
- Each menu command plugin has a weight to affect the ordering of commands
in menus. Previously these weights were not consistent, which made it hard
for third-party plugins to add commands well. Now all weights for built-in
commands are zero, which causes commands to be sorted alphabetically
within menu groups. The only visual effect is that "Download" now
comes before "Upload" in the folder browser menu.
Bugs fixed:
- MIME type checking for menu commands fails.
- Fixed. For menu commands that have MIME type constraints, the constraints
were not checked properly and allowed most entities to pass through.
Since none of the module's built-in menu commands use MIME type
constraints, this only affects third-party menu command plugins.
- Restoring configurations from module admin page crashes in Drupal 9.
- Fixed. A class constructor for reading configuration files changed in
Drupal 9 and required additional arguments.
- "url" token crashes on FolderShare entities.
- Fixed. Using the token got the entity's URL, but failed to convert it
to a string properly for use as a token value.
Developer API
New features:
- Hooks added to dynamically enable/disable sidebar.
- Two new hooks are available for modules to enable/disable the
folder browser's sidebar and the sidebar show/hide button:
hook_foldershare_ui_sidebar_enable(),
hook_foldershare_ui_sidebar_button_enable(). See "foldershare.api.php".
- Hook added to add links to the sidebar.
- A new hook adds links below the "Favorites" links in the
folder browser sidebar: hook_foldershare_ui_sidebar_links().
See "foldershare.api.php."
Removed features:
- LIBRARY_* constants removed.
- The internal names for module libraries have been removed from the
Constants class. This reflects changes in the module's libraries.