Staging improvements
In Kentico 9.0, we focused on improving Continuous Integration, whether by creating our new CI application or by improving our existing staging application.
Firstly, we added a filter for staging tasks because many developers working on one Kentico project were generating many different staging tasks. In that many staging tasks, it was nearly impossible for the developer to choose only the desired staging tasks to be staged into the next environment.
Secondly, we recognized that a developer often wants to stage only his/her changes. That is why staging tasks are now created with the knowledge that the user is responsible for the change. Thanks to this, you can now filter tasks via user. As you may know, in Kentico there are staging tasks of the update type that are created when an already existing object is modified. The update task is created and the user, e.g., Andy, is logged with the task. What happens when the same object is modified by the user Brad? Will Andy still be logged? Yes, both users made changes over that one object, so you can now filter that one staging task via both users. There won't be two staging tasks, and you can't expect any kind of isolation from other users. Staging task creation and processing are the same as in Kentico 8.2, without changes and as you are used to.
Finally, we have added the option for the team to cooperate on the same issue so that staging tasks can be grouped into task groups. When the issue is finished, staging tasks can be easily staged from a development environment to, e.g., a testing environment.
A staging task remembers in which task group(s) they were in, so in the given server topology, a tester can easily stage the whole group of related changes, if they are ok, to the next environment or not. As you might have noticed from the last sentence, one staging task can exist in one or more task groups. When one object is modified with an activated task group, e.g., Story-174, and then with the activated task group Issue-105, the same rules are applied as for the two users modifying the same object. You can't expect any kind of isolation from other task groups. You can switch between task groups or create a new one, during your working process, from any place in Kentico and without interrupting your work. As you can see in the example below.