Unify Create Items
Comparison of current approach
Url to create a new Item in extent:
- http://localhost:5000/ItemAction/Extent.CreateItem?workspace=Data&extent=dm%3A%2F%2F%2Fissues&metaclass=dm%3A%2F%2F%2F_internal%2Ftypes%2Finternal%23IssueMeister.Issue
- Action Type: Extent.CreateItem
- Parameters:
- Workspace
- Extent
- metaClass of Item to be created
Url to create a new item in a package:
- http://localhost:5000/ItemAction/Extent.CreateItemInProperty?workspace=Data&itemUrl=dm%3A%2F%2F%2Fissues%23b455e372-ad27-46c0-bd40-3b4419f9dc3a&metaclass=dm%3A%2F%2F%2F_internal%2Ftypes%2Finternal%23IssueMeister.Issue&metaclassworkspace=Types&property=packagedElement
- Action Type: Extent.CreateItemInProperty
- Parameters:
- workspace
- itemUrl
- metaClass of item to be created
- property
Idea
- We create one method, which manages both approaches. This reduces the number of potential issues caused by different implementations on both sides
- ActionType: Extent.CreateNewItem
- Parameters:
- Workspace
- itemUrl - Can be the exact Url or just the extent itself
- Property: In case an item is created at an item, it will be created below that item
- metaclass: As of today
There will be one action handler being able to manage the procedure
Implementation
- Create the new Action and perform registration
- Redirect 'Create New Item' of Extent Generation to that new action
- Redirect 'Create New Item' of Packages to that new action
- Show the form of the selected metaClass
- Update the Server Logic to manage the new Action Type
- Test the creation of a new item from Extent
- Test the creation of a new item from Package Child