FolderShare REST Release Notes
8.x-1.0, 9/17/2019
Initial release.
Requires PHP 7.2+, Drupal 8.7+, and FolderShare 8.x-1.2+
Important changes:
- REST web services have been moved from the "FolderShare" module into
the optional "FolderShare REST" module. Once installed, services work
as in prior versions of FolderShare.
Services:
Bugs fixed:
- Move or copy of item into its own parent deletes it.
-
Fixed. Moving an item into its own parent is not a valid move or copy and
it now reports an error.
New features:
- REST web services moved to new "FolderShare REST" module.
-
Optional REST web services have been moved out of the FolderShare module
and into this support module. This enables REST services to be updated
on a schedule separate from that of the primary module.
- REST web services command-line client moved into module.
-
The separately-distributed command-line client "foldershare" has been
moved into the module release in the "client" directory. See the module's
help page for examples of its use.
- Module has a dedicated help page.
-
The module has its own REST-focused help page.
Removed features:
- REST plugin reset to defaults button removed.
-
While REST features were in the FolderShare module, a "Restore" button
on the administrator settings page would reset the REST plugin
configuration to defaults. With the move to a new REST-focused module,
there is no longer an administrator settings page. The REST plugin
configuration is also so straight-forward that a "Restore" button seems
superflous. Default REST plugin settings are discussed in the module's
help page.
Client:
New features:
- Client "ls -l" column width for permission too narrow.
-
Permission text is one of "public", "private", "personal", "shared with you",
or "shared by you". The column width was 7 characters, and is now dynamic to
accomodate the widest permission text.
- Client "ls -l" column width for account name too narrow.
-
Account name text can be as little as one character, or as long as 60
characters. The column width was 8 characters, and is now dynamic to
accomodate the widest account name.
Bugs fixed:
- Client refers to undefined CURLE_REMOTE_ACCESS_DENIED.
-
The name is defined by libcurl, but not by the PHP CuRL package. Use of
the name has been removed.
- Client fails if server module does not have the same module
version number.
-
A new protocol version number has been added that is separate from the
module version number. The client checks that the server's protocol
version is supported during client-server handshake.
- Client does not print an account name in "ls -l" if an item is
owned by anonymous.
-
Drupal's anonymous account is special and it actually has no account name.
So, technically, printing an empty account name is correct. But not useful.
The client now prints the anonymous user's display name (usually
"Anonymous") when the account name is empty.
- Client prints some error messages with HTML tags.
-
Error messages created on the server sometimes include HTML tags because
the error messages are intended for display by a browser. For REST, these
same messages are returned to the client. The client now strips HTML tags
from error messages before printing them.