Subject updated ... new thread On 8/15/13, Ryan Ollos <[email protected]> wrote: > On Mon, Aug 12, 2013 at 12:40 PM, Matevž Bradač <[email protected]> > wrote: > >> >> On 12. Aug, 2013, at 19:08, Olemis Lang wrote: >> >> > On 8/11/13, Ryan Ollos <[email protected]> wrote: >> >> On Sun, Aug 11, 2013 at 8:31 PM, Olemis Lang <[email protected]> wrote: >> >> >> > [...] >> >>>> Which reminds me, I think we should consider moving the Bootstrap >> >>>> content >> >>>> to `bloodhound_theme`, so I've created #633: >> >>>> https://issues.apache.org/bloodhound/ticket/633 >> >>>> >> >>> >> >>> Bootstrap css+js is used by both dashboard and theme . If it is >> >>> migrated onto theme how will it be made available for dashboard >> >>> layouts and widgets as well ? >> >>> >> >> >> >> The Boostrap CSS and JS are added by bloodhoud_theme.html, so only the >> >> paths would need to be changed, e.g. dashboard/css/bootstrap.css -> >> >> theme/css/bootstrap.css BloodhoundDashboard calls add_stylesheet a >> >> few >> >> times, and we'd have to change the path to the content. >> >> >> > >> > my concern is that such approach will lead to cyclic package >> > dependencies i.e. theme depends upon dashboard widgets to build the UI >> > whereas dashboard depends upon theme for bootstrap styling . That's a >> > problematic situation [citation needed]. I do not see the benefit of >> > adding such complexity just to move bootstrap files to a different >> > plugin (especially if they are working ok where they are now). >> > >> > The other alternative I see is to create a separate package for shared >> assets . >> >> +1, I think a separate, "core" package would be the correct approach >> to deal with functionality/resources common to bloodhound plugins. >> >> > >> >> It seems logical for the Boostrap code to be part of the ThemePlugin >> since >> >> it is responsible for adding Boostrap to all of the pages (via >> >> `bloodhound_theme.html`). I agree with the aim that >> >> "Bootstrap-specific >> >> enhancements should be added by theme". If more work needs to be done >> for >> >> this to be realized in BloodhoundDashboard, then I think we should at >> least >> >> consider making those changes. >> >> >> > >> > Not all bootstrap styles have to be added by theme . Widgets are >> > «self-contained» components so they have to take care of loading >> > required assets , including bootstrap css+js , no matter on what >> > context they are inserted . >> >> IMO this also speaks in favour of a "core" package. Although the widgets >> are self-contained, we probably want to avoid having each widget bring >> their >> own copies of all the needed resources - this could presumably lead to >> various (in)compatibility issues etc. > > > I also like the idea of a core package. The reason I was bothered by having > the Bootstrap resources in BloodhoundDashboard is that there doesn't seem > to be a logical reason why BloodhoundTheme should have a dependency on > BloodhoundDashboard.
Yes , there is a reason . AFAICR BH templates (e.g. milestones, ...) include widgets . > For new developers this will make it more challenging > to understand the structure of the project, and in general having > dependencies between the plugins will reduce the ability for users to > configure their installations by deactivating Components they aren't > interested in. > If dashboard is disabled how come components and activity widgets will be rendered ? The require the underlying dashboard / widgets architecture . That's always been the point . ;) > The main question I have is whether that core package should be > BloodhoundTheme, - > or instead we mostly leave BloodhoundTheme the way as it > is, and extract the shared resources primarily from BloodhoundDashboard > into "BloodhoundCore". It sounds like we are looking to add a new > "BloodhoundCore" package. > AFAICT , even now I do not notice enough content to create a BloodhoundCore package. Unless I'm missing something I only see bootstrap and a few html templates plus maybe a few helpers . -- Regards, Olemis - @olemislc
