•  
      request #9885 Blank page when accessing to agile dashboard service
    Infos
    #9885
    Seif Eddine Gamoudi (gamoudis)
    2017-02-24 15:25
    2017-01-19 11:08
    10181
    Details
    Blank page when accessing to agile dashboard service
    After creating a project from another one in which I am admin and there is already the agile dashboard service enabled and working well.

    All the trackers were created well in the new project except only one: "User stories" because the option: "Instantiate for new projects:" was not checked.
    So, I created it by hand and I set the hierarchy between the trackers.

    When I would like to access to the agile dashboard service in the new project I get a blank page.
    Agile Dashboard
    All
    Empty
    • [x] enhancement
    • [ ] internal improvement
    Empty
    Stage
    Seif Eddine Gamoudi (gamoudis)
    Closed
    2017-02-24
    Attachments
    References

    Follow-ups

    User avatar

    The issue was with my dev environment. Sorry about that.

    Patch integrated in Tuleap 9.4.99.136. Thanks for the contrib


    • Status changed from Under review to Closed
    • Connected artifacts
    • Close date set to 2017-02-24
    User avatar

    I confirm it's the intended behaviour. The method should return a hierarchy, as the submitted tracker is not part of any hierarchy, it shouldn't return anything.

    User avatar
    last edited by: Seif Eddine Gamoudi (gamoudis) 2017-02-21 11:18
    shouldn't the return of the method be at least the tracker it self if it has no hierarchy?
    I just thought it s a little bit weird that s all, we could get past it if that s the intended behaviour.
    User avatar

    As tracker 11 is the Bug tracker and that bug is outside the hierarchy I don't think it's a bug that it's not returned

    User avatar

    It depends of the hierarchy I guess, could you attach an export of your AD structure ?

    User avatar
    last edited by: Seif Eddine Gamoudi (gamoudis) 2017-02-20 15:58

    Hi, i think i hit a bug in the the method you proposed (Tracker_HierarchyFactory::getHierarchy()->flatten()).

    i put in the attachment the vardump of the array passed as parameter aswell as the result of the proposed method.

    Given the description of the method it should return at least all the values present in the parameter (tracker with id 11 is missing here). 


    User avatar

    With patchset 26:

    Both "Epic" and "User stories" are not "instantiated for new projects", when I create a project based on a template that was created with this XML:

    • User story gets created (good)
    • Epic is not created (error => as epic is parent of US, even if it's not en AD config it should be instantiated too).

    User avatar

    Today the management of template cloning at agile dashboard level is done in 2 phases:

    • it duplicates only the agile dashboard configuration (are scrum / kanban activated)
    • After TRACKER_EVENT_TRACKERS_DUPLICATED event, it duplicates planning related informations

    This means that the AD creation is meant to be done as a post action of tracker duplication.

    Hence, I propose that, in tracker, before the duplication of trackers, you emit an event to gather all trackers meant to be duplicated. The agiledashboard will identify all the backlog, planning & kanban trackers and.. that's it. The normal process should be smooth after that.

    User avatar
    By it s template am refering to the template of project A, making sure the trackers affiliated with agile dashboard are instantiated for new projects.
    Concerning the implementation am not sure yet , would have to dive deeper into the code.
    User avatar

    The problem occurs when you try to create a project (A) from an already existing one (B).
    As far as i understood when u try creating project A, the template of project B is going to be the template of project A.

    Correct

    Is it acceptable to check if project B contains trackers affiliated with agile dashboard and force it s template to contain those trackers?

    What is "it's template" in this context, I'm not sure to understand.

    + how do you intend to "force" to contain those trackers ?

     

    User avatar
    Hi,

    I do not intend to touch the default template.
    The problem occurs when you try to create a project (A) from an already existing one (B).
    As far as i understood when u try creating project A, the template of project B is going to be the template of project A.
    What i want to know:
    Is it acceptable to check if project B contains trackers affiliated with agile dashboard and force it s template to contain those trackers?
    User avatar

    Since my Understanding of the way things work is somewhat limited, I would appreciate if you would explain a bit how the template is created so i can force the template to contain The dependent trackers and that way ensure that the creation goes by smoothly

    In tuleap, any project can be a template for another. This is done when you create a new new project, you can either:

    • Create from "Default Site Template"
    • or from any project you are administrator

    But you can also, as site administrator, promote any project as a template. In site admin, look for a project and in "Type" dropdown list select "Template" (the default is "Project".

    I suggest that, instead of modifying the default template, you create a new one with the trackers (hence you won't polluate your default template).

    User avatar
    Hi,

    So Manuel suggested that i should add "an event at project creation to ensure dependent trackers are properly duplicated".
    I pulled out the code and started tracking where the creation takes place and i found out that actually the project is created from a template that is referenced by its ID.
    Since my Understanding of the way things work is somewhat limited, I would appreciate if you would explain a bit how the template is created so i can force the template to contain The dependent trackers and that way ensure that the creation goes by smoothly.
    User avatar
    Hi Yannis,

    I have actually noticed thata there is a set of trackers that could be forced into being instantiated, However the case described made me wonder if i would want to force the duplication.
    So i went with the solution that gives the intended freedom to the user while fixing the crash.