-
Notifications
You must be signed in to change notification settings - Fork 86
Rename workitem field names #2177
Comments
@DhritiShikhar @kwk Correct me if I am wrong, |
@jarifibrahim yes |
@jarifibrahim here (#2028 (comment)) you wrote that we need to be able to distinguish between custom and user defined fields. Most likely the field name will never be shown to the user in the UI once we allow the user to add new fields. So for user defined fields we might as well just give them UUIDs as field names. But for now when we manually deal with field names in all of our tests, it is nice to know when something is a field coming from the planner item type or from a custom field defined in a test fixture or so. So I'd say let's keep at least any prefix, it could be |
@kwk I agree with this. But @DhritiShikhar's proposal in #2177 (comment) would remove |
@kwk @jarifibrahim I need to think more on this. Why would you want to distinguish between a field name created through test fixture and a system defined field? And even if you would want to do so, why would you want the client to pass request for a workitem with fields having prefix |
Also, I have created an issue related to naming convention here #2181 |
I don't want to do that. But we have tests in place that define a custom field in a work item type and they use the test fixture. That's why I've brought it up.
Clients will most likely not hand written fields, so why should they care how things are named? |
Renaming of fields involves changes to the payload, the data stored in the database and the migration of the client. This is a multi-step process. So here's how we're going to do this Step 1: Migration of the Backend
Step 2: Migration of the Client Step 3: Removal of the Temporary Code |
Closing this because of #2401 (comment) |
As per discussion with @kwk
Expected
As per JSON API SPECIFICATION, A period (.) should not be used as a member name.
Actual
Currently, almost all the workitem field member name contain a period:
Proposal
1. Create a middleware in backend which would convert both e.g.system.area
as well asarea
to store workitem field name asarea
in DB.2. Write a migration script to rename workitem fields for existing workitemsSee #2177 (comment)
system_*
along withsystem.*
fields in backend. We will deal with onlysystem_*
fields in backend. All the request/response payload will be modified to support backward compatibilty. Tracked via Support system.* fields and system_* fields in backend #2343system.*
fields tosystem_*
fields.system.*
fields and remove all the temporary code added to support backward compatibiltyRelated Issues
#2029
#2028
#2181
The text was updated successfully, but these errors were encountered: