Software Product Taxonomy - Customize {eac}SoftwareRegistry with options, licensing, client messaging, and Github hosting for each software product.
Document Header
Homepage:https://swregistry.earthasylum.com/software-taxonomy/ Author:EarthAsylum Consulting Current Version:2.0.8 Last Updated:24-May-2024 Requires WordPress Version:5.5.0 Compatible up to:6.5 Requires PHP Version:7.4 Contributors:Kevin Burkholder License:GPLv3 or later License URI:https://www.gnu.org/licenses/gpl.html Tags:software registration, software registry, software license, software product, github hosting, {eac}SoftwareRegistry WordPress URI:https://wordpress.org/plugins/eacsoftwareregistry-software-taxonomy Github URI:https://github.com/EarthAsylum/eacsoftwareregistry-software-taxonomy
Description
{eac}SoftwareRegistry Software Taxonomy is an extension plugin to {eac}SoftwareRegistry Software Registration Server.
Now with plugin hosting on Github to provide complete, automated plugin information and updates in WordPress.
{eac}SoftwareRegistry Software Taxonomy is a simple plugin extension that allows you to set and override {eac}SoftwareRegistry options for specific software products. It both defines the software product as well as the server parameters used when that product is registered via the software registration application program interface.
When an API request is received by the registry server, the registry_product
is matched to the software taxonomy slug. When a match is found, the parameters entered in the software taxonomy meta data are used to override the registry server default parameters.
Options set on a per-product basis by this extension
-
Software Product
- Registry Title - The Software Product display name
- Registry Description - The Software Product Description
-
Registrar Contact (override existing global options in {eac}SoftwareRegistry)
- Registrar Name - Sending client email from this name
- Registrar Telephone - Include telephone in client notifications
- Registrar Support Email - Include support email address in client notifications
- Registrar Web Address - Include web address in client notifications
-
Registration Defaults (override existing global options in {eac}SoftwareRegistry)
- Default Status - The default status to assign to newly created registrations
- Default Initial Term - The initial term when creating a new registration (pending or trial)
- Default Full Term - The full term when activating a registration
- Default License - The default license level (L1-L5, LD) to assign to newly created registrations
-
Client Notification (Customize the email message and API response notifications sent to the client)
- Client Email Message - Message sent to client on creation, activation or update of registration.
- Client API Message - Short message included with all API responses.
- Client Success Notice - Success notification sent via API response.
- Client Error Notice - Error notification sent via API response.
-
License Limitations
- see below
-
GitHub Hosting
- WordPress Plugin Slug - The {directory}/{plugin.php} slug of the WordPress plugin.
- GitHub Repository - The {owner}/{repository} id of the github repository.
- Repository Source - Select which source to use from the repository (branch, release).
- Tag Name - (Optional) Specific release or branch tag name (or id).
- Path to readme.txt - Pathname within the repository to the readme.txt file. If blank, the json file will be generated from information available in the GitHub repository.
- GitHub Access Token - Your GitHub personal access token, Increases the github rate limit and is required for private repositories.
- Plugin URLs - Displays the URL(s) you will need for your plugin file and readme.txt file.
License Limitations
Based on the license level assigned to a registration, we can limit the optional values in the registration API (count, variations, options, domains & sites). This allows APIs (possibly from multiple sources) to register any/all values for these options while filtering on the registration server, providing an effective (albeit rudimentary) licensing validation.
For each license level ( L1=Lite, L2=Basic, L3=Standard, L4=Professional, L5=Enterprise, LD=Developer ) you may set a limit for count, variations, options, domains, and sites.
- count - Number of licenses (users/seats/devices)
- variations - List of custom name/value pairs
- options - List of custom registry options
- domains - List of valid/registered domains
- sites - List of valid/registered sites/uris
For count, the value passed through the API is limited to a maximum value. For variations, options, domains, and sites, the arrays passed through the API are sliced to a maximum number of elements.
GitHub Hosting
* GitHub hosting requires installation of the {eac}Readme plugin in order to process readme.txt files.
Wether you're using software registration or not, you can use Github Hosting to manage your software releases and provide automated updates for your WordPress plugins.
New in version 2.0, these options allow for the "self-hosting" of WordPress plugins on GitHub in a way similar to and meeting the requirements of the WordPress plugin repository.
More details may be found in the included readme_github.md file.
Installation
{eac}SoftwareRegistry Software Taxonomy is an extension plugin to and requires installation and registration of {eac}SoftwareRegistry.
Automatic Plugin Installation
This plugin is available from the WordPress Plugin Repository and can be installed from the WordPress Dashboard » Plugins » Add New page. Search for 'EarthAsylum', click the plugin's [Install] button and, once installed, click [Activate].
See Managing Plugins -> Automatic Plugin Installation
Upload via WordPress Dashboard
Installation of this plugin can be managed from the WordPress Dashboard » Plugins » Add New page. Click the [Upload Plugin] button, then select the eacsoftwareregistry-software-taxonomy.zip file from your computer.
See Managing Plugins -> Upload via WordPress Admin
Manual Plugin Installation
You can install the plugin manually by extracting the eacsoftwareregistry-software-taxonomy.zip file and uploading the 'eacsoftwareregistry-software-taxonomy' folder to the 'wp-content/plugins' folder on your WordPress server.
See Managing Plugins -> Manual Plugin Installation
Settings
Taxonomy settings available from this extension will be seen in the Software Registry → Software Products menu.
Screen Shots
-
Software Registry → Software Products
-
Software Registry → Software Products → {product} → Registrar Contact
-
Software Registry → Software Products → {product} → Registration Defaults
-
Software Registry → Software Products → {product} → Client Notification
-
Software Registry → Software Products → {product} → License Limitations
-
Software Registry → Software Products → {product} → Github Hosting
Other Notes
See Also
Upgrade Notice
Requires {eac}SoftwareRegistry version 1.3.4+
2.0
Requires {eac}Doojigger version 2.5+. Requires {eac}Readme version 1.4+ for GitHub hosting.
Copyright
Copyright © 2019-2024, EarthAsylum Consulting, distributed under the terms of the GNU GPL.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should receive a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Change Log
Version 2.0.8 – May 24, 2024
- Fix update object upgrade_info not set.
Version 2.0.7 – April 25, 2024
- Minor layout changes/fixes.
- Fixed version discrepancy.
Version 2.0.6 – April 19, 2024
- Fixed default return of get_software_options() method.
Version 2.0.5 – April 15, 2024
- Added 'client_email_footer' option and filter to add optional footer to client email notifications.
Version 2.0.4 – March 8, 2024
- Changed route argument names from 'route*' to 'update*'.
- Changed selection values from 'latest_release' or 'default_branch' to 'release' or 'branch'.
- Allow specifying release id (or tag) or branch name.
- defaults to 'latest' release or 'default' branch.
- Specific url:
/{release|branch}/{plugin_name}.json?update_id={tag|id}
overrides set options.
Version 2.0.3 – March 1, 2024
- Fixed error getting .distignore file from zip archive.
- Include owner in default contributors.
- Use GITHUB_ACCESS_TOKEN if defined.
Version 2.0.2 – February 25, 2024
- Use plugin name (plugin), rather than slug (plugin/plugin.php) in JSON.
- Some restructuring of code.
- Set main plugin version correctly.
- Allow full name source (latest_release|default_branch) as well as abbreviated (release|branch).
- Changed source 'any' to 'either'.
- Change user-agent in github api.
Version 2.0.1 – February 23, 2024
- Added 'slug' to json array.
- Support 'svg' image type if present.
Version 2.0.0 – February 22, 2024
- Added GitHub hosting for WordPress plugins.
Version 1.1.1 – October 31, 2023
- Prevent direct load of include files.
Version 1.1.0 – May 9, 2023
- Added client notification messages.
- Reformatted license limitations tab.
- Added contextual help.
Version 1.0.0 – April 11, 2023
- Initial release.