Overview
Configuration as FRS administrator
As an FRS administrator, in my project's FRS administration I have a new tab next to 'Processors'.
This new tab is labeled "License Agreements". It presents a list of license agreements that can be selected for my packages.
By default there are 2 entries:
- No license (if $sys_frs_license_mandatory is set to 0 in configuration)
- Platform default (corresponds to what we have ATM as download agreement)
It's possible to create new entries with 2 informations:
- A label
- A full text description with a HTML editor like ckeditor for embedded documents in docman
It's possible to select one of License Agreement (including No License) as the new default that will apply for all futur packages.
It's possible to delete an existing custom License Agreement if it's no longer used in an Active Package.
- When someone remove a License Agreement that was used in a "Hidden" package, the package is updated with the new default defined in the project.
Selection as FRS administrator
As an FRS administrator, when I create a new package, in the creation form of the package, instead of the "Yes/No" select box in the current interface:
The "License Approval" select box lists all possible "License Approval" (including "No" when allowed by the platform). The default defined by the FRS admin is used "by default".
Approval by a Downloader
On a download of a file in a package, the selected "License Approval" is displayed for approval to end user.
Note: the exact behaviour will be completed later on as the current state of the code cannot be modied (too old, too legacy) and the feature must be re-designed from scratch.
In addition to the legacy FRS interface, we will need to update the one provided by "FRS Plugin" too in order to be consistent:
That probably means that we will have to export the license agreement information via REST routes in some ways.
Another "feature" that was discovered thanks to a mysterious comment in the code, apparently, the license agreement popup also takes into account the `file` key word: