Community Themes
Monday, March 20, 2023
A community theme is a theme that is hosted on an online database supported by an API. Users will be able to download community themes via a theme browser.
Maintaining Community Themes
Due to the multiple-app supportive nature of Layers themes, it would be an issue if themes were only maintained by one person. With one person management, themes would only be able to support the small number of applications that the owner decides to implement it for.
To counter this issue, community themes will be maintainable by multiple people within a privilege hierarchy. The roles and responsibilities of community theme maintainers are as follows:
Creator
The original creator of the theme. This is a non-privileged title.
Owner
The person who owns the theme. This is also the top-administrator of theme with the most privileges. The owner of a theme is typically also the creator of the theme, but not always, since theme ownership will be transferable.
Admin
Privileged decision-maker for the theme.
Manager
Semi-privileged overseer of specific app implementations. This role would be automatically granted to the first user that tries to implement the theme for a specific app.
User
Regular users can continue to make changes and submit them.
Management Scenario
Theme: Gleam
Owner: Henry
Admins: Henry, Morgan, Joe
Implementations:
User: Jackson
Suppose that Jackson has made some changes to the Tax Solver implementation of the Gleam theme, and he decides to submit those changes. Kelly would be the first to be notified, and she would have the option to approve or decline the changes. If she doesn't decide in a specified time, the decision would go to administration.
Raising that decision is significant because there is a chance that the admins do not have access to the Tax Solver application. It might be paid, proprietary software which the admins do not own and are not going to be expected to purchase just to review changes.
This does not mean that the admins are without options.
One option would be to just assume the changes are fine and approve them. They could even configure this to happen automatically (auto-approval in the case of raise-by-neglect).
Another configuration could check the admin's installed Layers app list to see if they have the app and alert them so they know they can review the changes if they would like to.
If an obscure app is implemented in the theme, and the manager has become neglectful, the administration could decide to purge the implementation altogether. This is not a suggestion, but they would have the power to do so. One case of neglect probably shouldn't result in a purge, but continued cases could lead to that decision. NOTE: Continued cases could also indicate a userbase that still has interest in that implementation, so purging could be a poor decision.