The platform that MetaGame will be played on aka MetaOS - an open source framework for running decentralized societies. Currently featuring MyMeta Profiles, Dashboard & Quests
The user skill specification process currently draws from a static list of skills. It would be nice if users could add additional skills to their list. These skills would only show up in the selection UI for users that have added them.
Doing this is going to be impacted both by making skills a sortable list (#441) and mirroring the skill information to Ceramic's IDX (#309). In the interest of maintaining forward motion and not over-complicating things, this task could be left until those two tasks are complete.
Implementationwise this could be done by adding a skill_creator table with foreign key references to the skill and player tables. For shared skills, entries with a NULLcreator_id could be added. When selecting the skills for a user to choose from, select skills they created or with a NULL creator.
The UI could allow the user to type in a skill name and have it autocomplete from all the skills including those created by other users. If the typed skill isn't already in the database, there could be a button to create a new one.
When they submit the typed skill name, a new entry is added to the skill table. Then, an entry is added to the skill_creator table for the player and skill. Finally, an entry is added to the player_skill table with the skill_id, player_id, and ordering rank of the skill in the player's list.
In this situation once a skill is created it shouldn't be possible to edit it because other users might be referencing the same skill. It should be possible though to remove the skill from the player's custom list.
An open question is how to handle the categorization of user added skills. ¿Should they be required to categorize new skills using the existing set of categories? Those categories are:
Creative
Business
Community
Engineering
Product
Science
Technologies
For example, fluency in a language is a skill one might want to publish. That doesn't necessarily fit into one of these categories better than it would a specific "Languages" category. Alternatively, all user created skills could be in a "Custom" category.
The user skill specification process currently draws from a static list of skills. It would be nice if users could add additional skills to their list. These skills would only show up in the selection UI for users that have added them.
Doing this is going to be impacted both by making skills a sortable list (#441) and mirroring the skill information to Ceramic's IDX (#309). In the interest of maintaining forward motion and not over-complicating things, this task could be left until those two tasks are complete.
Implementationwise this could be done by adding a
skill_creator
table with foreign key references to theskill
andplayer
tables. For shared skills, entries with aNULL
creator_id
could be added. When selecting the skills for a user to choose from, select skills they created or with aNULL
creator.The UI could allow the user to type in a skill name and have it autocomplete from all the skills including those created by other users. If the typed skill isn't already in the database, there could be a button to create a new one.
When they submit the typed skill name, a new entry is added to the
skill
table. Then, an entry is added to theskill_creator
table for the player and skill. Finally, an entry is added to theplayer_skill
table with theskill_id
,player_id
, and orderingrank
of the skill in the player's list.In this situation once a skill is created it shouldn't be possible to edit it because other users might be referencing the same skill. It should be possible though to remove the skill from the player's custom list.
An open question is how to handle the categorization of user added skills. ¿Should they be required to categorize new skills using the existing set of categories? Those categories are:
For example, fluency in a language is a skill one might want to publish. That doesn't necessarily fit into one of these categories better than it would a specific "Languages" category. Alternatively, all user created skills could be in a "Custom" category.