#7919 New admin nav bar PLUS LOTS MORE see ticket description

v1.4.0
closed
new-admin (8)
General
2016-01-11
2015-07-10
No

This ticket ended up being extremely large and making these changes to Allura too:

  • new admin APIs, new _nav.json param
  • remove AdminModal widgets, use JS directly
  • remove sidebar_menu_widgets and admin_menu_widgets, using JS directly instead
  • refactor to share project lookup logic between NeighborhoodController and NeighborhoodRestController
  • better test failure messages if antispam validation issues
  • upgrade existing react code to 0.14
  • better calculation of tool/subproject ordinal values when installing
  • better tool descriptions

Related

Tickets: #7920
Tickets: #7921
Tickets: #7931
Tickets: #8034
Tickets: #8035
Tickets: #8045
Wiki: Goals

Discussion

  • Dave Brondsema

    Dave Brondsema - 2015-07-13
    • labels: new-admin --> new-admin, sf-4, sf-current
     
  • Heith Seewald - 2015-08-05
    • status: open --> in-progress
    • assigned_to: Heith Seewald
     
  • Dave Brondsema

    Dave Brondsema - 2015-10-09

    Looking at what you've pushed so far, here's some feedback on the code:

    • json_nav output is a little bit backwards-incompatible. The top-level list used to be "menu" and now it is "children". Would be nice to keep that unchanged, but if its better to be "children" for some reason, then users of _nav.json will have to accomodate.
    • in def mount_order using except AttributeError seems to be a pretty rough way to know if its a subproject. Other things could potentially cause an AttributeError too. Is there a more precise way?
    • tests for the new admin API endpoints would be good
    • in AppConfig.__json__ you moved a line with _deinstrument in it, but left the comment about that behind
    • need license headers on navbar.css and navbar.es6.js
    • need to add other JS lib filenames to rat-excludes.txt and confirm they are BSD/MIT/Apache licensed

    And UI items. (I know there's still a lot in progress)

    • When editing, should we show the tool label, so its more like the non-edit view? I think so. I got confused when I didn't see my tool names :)
    • anchored tools should not be draggable
    • I do see a little delay before the menu pops in (when not running everything locally, so some network latency). And I'm sure other people could have more network latency or slower machines.
      • Plus there will be some people that want to use the site with JS off, which we don't really support. But the nav menu is a pretty core feature.
      • So I am thinking we should at some point before we're done, figure out a way to show the plain HTML menu at first, and then swap the JSX menu in when its ready.
     
  • Heith Seewald - 2015-10-09

    Yes to all of this :)

    1. I did create more endpoints since that push in an attempt to not break nav_json (and keep it light for non-admin users)
    2. mount_order is hacky -- I agree. I actually wrote that just to get something working until I had a chance bounce some ideas off you.
    3. I'll make sure I add all the licenses, thanks for the reminder.
    4. Yes, when editing, the names should stay consistent -- which is another reason I created another endpoint instead of using nav_json. The whole look of the edit mode needs some love (although the add new tool interface is looking really good).
    5. There is currently a delay -- but I think it is avoidable... let me get back to you on this.
    6. Support JS off? no way.
    7. ^ just kidding -- Yeah, an html might work -- but since react is going to have to override the existing dom, it might flicker. Maybe we could have it load when unlock is clicked and attach the unlock button to another part of the dom outside the hierarchy of the AdminMenu. My first attempt at that didn't go so well, but I'm more comfortable with it now :)

    Thanks for the great feedback!

     

    Last edit: Heith Seewald 2015-10-09
  • Heith Seewald - 2015-12-17
    • status: in-progress --> review
     
  • Dave Brondsema

    Dave Brondsema - 2015-12-18
    • labels: new-admin, sf-4, sf-current --> new-admin, sf-current
    • summary: Create backend for new admin toolbar --> New admin nav bar PLUS LOTS MORE see ticket description
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,8 +1,10 @@
    -We need api endpoints for getting and setting:
    +This ticket ended up being extremely large and making these changes to Allura to:
    
    -- Tool ordering
    -- Tool grouping
    -- Tool options
    -- Ability to rename or remove a tool
    -
    -There are some endpoints that already exist that can be referenced (like `update_mount_order`).
    + - new admin APIs, new `_nav.json` param
    + - remove AdminModal widgets, use JS directly
    + - remove sidebar_menu_widgets and admin_menu_widgets, using JS directly instead
    + - refactor to share project lookup logic between NeighborhoodController and NeighborhoodRestController
    + - better test failure messages if antispam validation issues
    + - upgrade existing react code to 0.14
    + - better calculation of tool/subproject ordinal values when installing
    + - better tool descriptions
    
    • Reviewer: Dave Brondsema
     
  • Dave Brondsema

    Dave Brondsema - 2015-12-18
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,4 +1,4 @@
    -This ticket ended up being extremely large and making these changes to Allura to:
    +This ticket ended up being extremely large and making these changes to Allura too:
    
      - new admin APIs, new `_nav.json` param
      - remove AdminModal widgets, use JS directly
    
     
  • Dave Brondsema

    Dave Brondsema - 2016-01-08
    • status: review --> closed
     
  • Dave Brondsema

    Dave Brondsema - 2016-01-08

    Heith and I both contributed a lot to this huge branch, and reviewed each other's work.

     
  • Dave Brondsema

    Dave Brondsema - 2016-01-11
    • labels: new-admin, sf-current --> new-admin
     
  • Dave Brondsema

    Dave Brondsema - 2016-04-11
    • Milestone: unreleased --> v1.4.0
     

Log in to post a comment.