-
Notifications
You must be signed in to change notification settings - Fork 10
Description
About
This issue is about the new features, limits, and functionalities introduced in the third version of Permacast's Master contract.
New limits
These are the new limits (mostly string length extreme)
Podcast Metadata
| metadata | min length | max length | notes/fixes |
|---|---|---|---|
| podcast name | 2 | 500 | added flexibility ~ 77 - 100 words |
| podcast description | 10 | 15000 | added flexibility ~ 2308 - 3000 words |
| 0 | 320 | none | |
| author name | 2 | 150 | added flexibility |
| categories | 1 | 300 | added support for length equal to 1 (e.g. in Chinese) |
| language code | 2 | 2 | none |
Episode Metadata
| metadata | min length | max length | notes/fixes |
|---|---|---|---|
| episode name | 3 | 500 | added flexibility ~ 77 - 100 words |
| episode description | 1 | 5000 | added flexibility ~ 769 - 1000 words |
Features
Reduce the signatures required to edit a podcast/episode
All of the podcast/episode object's metadata (name, description, etc.) can be updated by invoking a single function updatePodcastMetadata and updateEpisodeMetadata.
Factory Super Admins
The Factory Super Admins have the permission to create a podcast or an episode and update their metadata. They are added as super admins via the contract owner, and they can remove themselves from this position or be removed by the contract owner.
Podcasts Maintainers
Podcast Maintainers have a lower set of permissions, they can only upload episodes and edit them. Maintainers are added and removed by the contract owner.
Reduce non-necessary required inputs to invoke with some functions
The confusing id & index don't longer exist, To update a podcast only the pid is required, and to add/update an episode, only the eid is required.
Auto-protection from duplicated uploads
When the caller sends more than a transaction to create a podcast (or an episode) with the same name property within 5 blocks, only one transaction (first one that get mined) will pass through. Thus, it reduces the double uploads mistake.
Configurable RSS metadata
Podcast's metadata used to generated RSS feeds are now mutable
Note
The limits and features listed previously are "init", and can be changed according to the future issue's discussion.