There is only one -1 Action Per Import Scenario.
Adding any new ones will get automatically cleaned up by the import scenario.
This is a severe limitation for automation purposes and if the BLC can be customized to override this limitation... I think the import scenario's instructions should still run just fine... Any idea how to customize it?
Just like Gabriel mentioned in the comments to import Master-Detail records you must have one line per detail with each line repeating the master record's information.
You cannot with only one line import more that one entry and a detail is considered an entry.
Thought if you really want to do it with only one call you might want to take a look at the contract based API. With it, it is possible to upload a complete Master details record, thought it will be only one at the time.
Related
currently I'm trying to import approx 1600 tasks from Azure DevOps Kanban board to another one (via browser). I've faced two problems by doing this:
It is not possible to import the task with Closed Date field, it says:
Value of a readonly field Closed Date was modified. Please revert the Closed Date values or remove the column from the input file and and try to import again.
Removing the column with "Closed Date" will cause issue with default state "Done", it says:
The field 'State' contains the value 'Done' that is not in the list of supported values.
I've copied (manually) the project settings from old Organization to new, such as:
Process \ State (and assigned it to the project):
Time and Locale as it was set in old Kanban
Also, I had to remove the ID column, because it caused the issue:
Still it is not possible to import all these tasks because of the issues. I'm looking for any tips how to fix this.
Below there's an example of CSV:
Work Item Type,Title,Created By,Created Date,Assigned To,State
Issue,Some test task number 1,TestCreator,02.06.2020 15:19:24,TestWorker,"Done"
Issue,Some test task number 2,TestCreator,02.06.2020 15:20:23,TestWorker,"Done"
When importing work items via CSV file in Azure DevOps, first make the following statements are true:
1.The source project to export and target project to import has the same work item type configuration, in common, they need to have the same process configuration, for example, work item type, state.
2.All work items you import are created in a new state. This rule means that you can't specify field values that don't meet the field rules for the new state. (That's why "Done" that is not listed as supported value)
3.Make sure you don't assign IDs to new work items that you're adding. Work item ID is unique in one Azure DevOps organization. (ID will cause the following error message)
With the above prerequisites, the import process loads the imported work items into the queries view in an unsaved state. No IDs are assigned. Verify the results are what you want. Then, choose Save Items to save the work items.
If you still get the error when importing, try reduce the work item counts for per import attempt. As you said, you have approx 1600 tasks, you could import by separating them into several queries.
I am testing Catel MVVM and I would like to use the implemented IEditableObject. I have got some questions, but the documentation I've found, isn't very detailed in this point.
Did someone have a helpful link, how I have to set this up or how it works, or something like this? Or should I really have a look to the source code, to get these points and get a feeling, how catel do the work.
The questions, that I have got, are these:
What exactly does the method SaveViewModelAsync()?
Where does it save the data, or where can I configurate it?
How can I use it with Orc.EntityFramework6, or do I have this manually?
What's the different between SaveViewModelAsync() and SaveAsync()?
What's the different between CancelViewModelAsync() and CancelAsync()?
I can only cancel the editing one time. If I edit the same ViewModel again, the cancel has no effect anymore.
I think there is only an BeginEdit() missing after the first cancel, like this documentation suggests. Here some informations to this point:
I edit the ViewModel and the Model set the new value
I execute CancelViewModelAsync(), the setter in the Model is not touched
I edit the ViewModel and the Model set the new value. The current value is the original value
I execute CancelViewModelAsync(), nothing happened
I edit the ViewModel and the Model set the new value. The current value is the edited value from step 3, like the View shows
Thanks for help
Lots of questions in a single question, but will try to answer them:
Q1) What exactly does the method SaveViewModelAsync()
It calls IEditableObject.EndEdit on all models that support it (and are decorated with the ModelAttribute
Q2) Where does it save the data, or where can I configurate it?
It just approves the changes to the model, it doesn't "save" anything. So for example, if you are using Catel models, it will commit the changes made by the VM. If you would cancel, it would revert the model back to the state it was when you initialized the VM.
Q3) How can I use it with Orc.EntityFramework6, or do I have this manually?
You have to do this manually. The VM's in Catel work with models, it's up to you when / where you persist them to (e.g. a database, disk, web service, etc)
Q4) What's the different between SaveViewModelAsync() and SaveAsync()?
SaveViewModelAsync is the public method being called and takes care of the plumbing for you. SaveAsync is a method you can override to add additional save logic (e.g. storing in database, update services, etc).
Q5) What's the different between CancelViewModelAsync() and CancelAsync()?
See Q4
In one of step definitions I have created a function say “someFunction” that takes a DataTable, which has been defined in my feature file Feature1.
Feature1.feature
Given: User enters the following data
Varibale1|Variable2|Variable3
Value1|Value2|Value3
StpeDef.java
#Given(“^User enters the following data$”)
public void someFunction(DataTable input){
}
Now in another feature file “Feature2.feature”, one of my scenario needs to use same step i.e. call someFunction. I know I can use the same step definition but does that mean that I would have to redefine same DataTable input in Feature2 file.
If not, how would I do it?
Please note that I understand the Backgound keyword and its use, but if I say I need to keep these scenarios in different feature files, how should this be done?
You'll have to duplicate the common background. Since duplication is unwanted, you should consider giving a name/title to the resulting state that is represented by that common background and create a single given step that can be re-used. Something like "Given: the user has entered valid contact data" or "Given: the shopping cart has 3 items" (where any 3 will do).
I have created the below diagram and I wanted to know if the diagram that I have done is correct.
The below diagram is based on an android application. When the application loads the user is given 3 button to select add, update and help. On click on add button the user is given an option to add a new user or add a new item. When he select either of the options he enters the required data once the data is entered the system check if all the values are entered correctly and then finally saved. The same process is applied for update.
Your diagram misses an entry point. Though it's rather obvious that the top action is the start, only the entry point is the one indicating the beginning.
You can omit most of the diamonds and directly transfer via a guard from actions. So your conditions should be guards and written as [Yes] or [No]. The top most action (and quite some others) is(/are) indeed what should be written inside (or aside) the diamond below.
An excerpt for an update could look like this:
Finally Values added does not look like an action but rather as state. It should be omitted. Alternatively use differently named end flows.
So far for the formal points. But as #eyp said: it's a good one and one can understand what you tried to express. The above is just for the picky teachers.
It's a good one but it lacks some detail in the diamonds. You should write besides the diamon the question before choosing the next setp to do.
For example in the diamond after Check update value you may write is valid? or another question that clarifies more the business logic.
I am using this procedure to import Vendors into the VendTable table. It works fine, but sometimes, I need to delete all the vendors I've just created and tweak the data and then would like to try again.
But it seems once an Definition Group has been used to import data, it can't import any more again.
I get: "No data imported" in the InfoLog.
The only way I can do this is by recreating a new Definition Group via the Template Wizard which, well, I don't want to.
Any ideas to be able to reuse a Definition Group?
Thanks.
I was able to reset the Definition Group status doing: Select the Definition Group, click Table Setup button to the right, in the Import Status column, select Import. Save. Run the import again.