Manifest: Permit name change (as well as other meta-datas) #111
Labels
No Label
Priority
Critical
Priority
High
Priority
Low
Priority
Normal
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
Type
Breaking
Type
Documentation
Type
Enhancement
Type
Feature
Type
Report
Type
Security
Type
Suggestion
Type
Testing
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: infrastructure/extensions-website#111
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
At the moment is not possible to update the name of an extension by uploading a new version.
The only fields that can never change are:
* id
* type
This was discussed in this meeting but I forgot to create a task for that.
see also #60
maybe makes sense to unite into a single issue
@Oleg-Komarov I will close #60. In this case do you mind if I fix this one case on the database? Or were you planning to do a migration?
Yes, we can close that one as a duplicate.
If we need we can also do a batch run for all latest versions to update all metadata across the site.
Ok will close it, for own records, this extension also needs latest info https://extensions.blender.org/approval-queue/dragengine-tools/.
I think that for completeness it's better to extend the logic in this way:
when a list of extension versions changes, i.e. either a new version is uploaded or some version gets deleted, we recalculate the updatable fields from the latest version manifest.
This will prevent situations when (so far only in draft) a user deletes a version, but the extension fields keep the values defined in a manifest of a no longer existing version.
@Oleg-Komarov I think that's fine.
A potential future problem (of storing this at extension at all) is that on the extension listing we may not share the latest extension (given the blender_version_max). In this case we need to make sure we are passing the info from the corresponding manifest, instead of the extension itself.
For instance, the code in extensions/views/api.py right now does:
'name': instance.name
, instead of something like `matching_version.name or matching_version.metatadata['name'].That's a good point.
Now that I think of it, the fields that we need to update (name, support, website) are not version-specific at all. Why not add them to extension form and let the maintainers just edit them when they need it?
We could either accept a potential discrepancy with manifest fields or make it a part of manifest validation: old versions are kept as is, but uploading a new version will require a user to make sure that the manifest content matches the state of the extension object.
I would rather we stick to the manifest as the ground-truth for this. A name is no different than a Tag, or the Tagline. If users want to change that they send a new version.
Deployed in production.