20:00:28 #startmeeting Horizon 20:00:29 Meeting started Wed Jan 14 20:00:28 2015 UTC and is due to finish in 60 minutes. The chair is mrunge. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:30 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:32 The meeting name has been set to 'horizon' 20:00:37 hello there 20:00:45 hello 20:00:50 hi 20:00:55 hello 20:00:57 hi 20:01:00 hello 20:01:10 hello/ 20:01:24 o/ 20:01:29 #chair mrunge david-lyle_ 20:01:29 Current chairs: david-lyle_ mrunge 20:01:33 :D 20:01:42 hi 20:01:49 David will show up in a few mins 20:01:57 o/ 20:02:23 we don't have an agenda for today 20:02:58 is it a hidden agenda? :-) 20:03:30 so, if I remember right, we did not finish last weeks meeting 20:03:38 o/ 20:04:06 I'll leave announcements for David, when he'll show up 20:04:32 #topic Angular work blockers 20:05:26 Richard Jones, are you there, by any chance? 20:05:32 or tqtran ? 20:05:33 well, we got the version upgrade in as well as angular-bootstrap 20:05:46 actually, i have something i wanted to bring up, just to gauge community interest 20:06:13 so kelly from HP have been working on the new angular table stuff 20:06:18 its available here: https://github.com/ongk/responsive-smart-table 20:06:37 just wanted to know if people are generally ok with the newer tables looking a bit different 20:07:04 tqtran, thanks for sharing! 20:07:05 different how? 20:07:20 its similar to what piet has shown on envision 20:07:36 well, similar is the wrong word, its basically the implementation of what piet showed 20:07:58 So, you can see the look and feel in the launch instance mocks. 20:08:02 http://invis.io/SG1YAG2WC 20:09:22 ok silence means we're in the green? haha 20:09:50 My general answer is I like it, though I'm still thinking about some of the details. I am involved in discussions on this. 20:10:15 The question may be: can we break consistency with the existing tables for Kilo? 20:10:15 Am I seeing correctly that all row actions are hidden inside of the + ? 20:10:29 gary-smith: 20:10:31 no 20:10:37 #chair mrunge david-lyle david-lyle_ 20:10:38 Current chairs: david-lyle david-lyle_ mrunge 20:10:38 that is actually specific to launch instance 20:10:56 #chair david-lyle 20:10:56 Did I hear my name? 20:10:57 Current chairs: david-lyle david-lyle_ mrunge 20:10:59 it is how you select one. This was the result of several weeks of usability testing 20:11:15 gary-smith: i high recommend that you download the repo above, it has several examples 20:11:25 I am looking at the example 20:11:36 tqtran: can you repost the link for invision? 20:11:43 on real screen now 20:11:43 the one in the invision is a bit different 20:12:21 piet: do you have a link to the one kelly implemented? 20:12:23 oops, that was TravT 20:12:35 http://invis.io/SG1YAG2WC 20:12:52 ok, so that is launch instance 20:12:53 Final Design for Launch Instance http://invis.io/DW1XZIUH2 20:13:13 here is an alternate one that shows actions in more of a standard listing table (not a selection table) 20:13:15 http://invis.io/YA1KV4VTP 20:13:20 * david-lyle munging topics 20:13:31 Piet: if there is a newer one, please share. 20:13:37 Why hide the first row action? Normally the first is shown, usually edit. Seems that would be faster, less clicks, than hiding them all. 20:13:44 yes, the latest one TravT showed is what kelly implemented 20:13:58 Just shared most recent Launch Instance - http://invis.io/DW1XZIUH2 20:14:44 in that case is create flavor the only table action? 20:14:59 david-lyle: which one are you referencing? 20:15:11 https://openstack.invisionapp.com/share/YA1KV4VTP#/screens 20:15:57 im sure we can add more batch actions as needed, its just a mock up 20:16:27 tqtran: my concern is layout 20:16:59 robcroswell: i think you are referencing the launch instance mocks. In that one, if you click the + button, it selects it and pops it to the selected ones. 20:17:01 I've talked to Piet and he and seeing examples has convinced me that we can put filtering and actions on different lines 20:17:10 allowing us to expose more actoins 20:17:22 robcrosswell: this one may make it more obvious how that one works: https://openstack.invisionapp.com/share/SG1YAG2WC#/screens/55177821?maintainScrollPosition=false 20:17:31 understood, basically, the question is: are we ok with moving new angular table in this direction? theres still time for us to determine the actual layout, but we can begin work down this road 20:18:25 tqtran: you want us to focus on the table only, not the overal context? 20:18:40 yes just focus on the table styling primarily 20:18:44 we're changing technology stack, there isn't a better time to change look and feel 20:18:53 david-lyle: +1 20:19:00 if we can improve usability, we should 20:19:00 ok perfect, thats all i needed to hear 20:19:18 additionally forcing new tools to look like old is a waste of time IMO 20:19:28 yes! 20:19:35 david-lyle: +1 20:19:43 and we were changing that anyways 20:19:49 yes 20:20:03 So yeah, move forward 20:20:26 I agree. So Kilo will have some tables of the old style that have not been converted yet, right? 20:20:26 I want to point out for launch instance 20:21:19 rbertram: yes, but I'm thinking there won't be more than 1 or two in the new format 20:21:26 and those would likely be in the wizard 20:21:33 david-lyle: good, making sure we have right expectation 20:21:53 (foreseeing concerns raised about consistency at end of kilo) 20:22:11 rbertram: it's never been a concern before ;) 20:22:20 ah, ok 20:22:37 back to launch 20:22:44 we need to close on the design 20:22:50 and move the bp to approved 20:23:12 yes, this will be very helpful. today we had a review with Piet on the in progress styling. 20:23:19 unless there is amazing concerns raised in the next day or two, I'm going to move to approved 20:23:31 Agreed 20:23:58 btw, for reference: https://blueprints.launchpad.net/horizon/+spec/launch-instance-redesign 20:24:37 Some of the questions I'm seeing are around implementation of the design. Fully anticipate some compromises due to constraints 20:24:47 I feel it's a strong improvement and we can move incrementally from there if necessary 20:25:15 Piet: that's always a concern when doing design divorced from implementation 20:25:22 TravT & Piet: is there a central place for input on the new table design? separate from the contexts of the tables. 20:25:28 there will be compromises to make 20:26:16 Just as an FYI, I'm trying to set the high level vision for the design. Try to motivate the group to see the where we can go... 20:26:35 when we're done discussing this, i do have another topic to bring up, this one concerns consolidating javascripts. 20:26:55 rbertram: this project for now: http://invis.io/YA1KV4VTP 20:27:07 TravT: thx 20:27:19 I also would like to talk about the base REST API patch, even if r1chardj0n3s isn't here 20:27:39 you can go first TravT 20:27:44 thx. 20:27:56 Real quick thanks to all of you that helped with the UX design process! 20:28:04 so, we have a lot of dependencies between the launch instance and table designs. 20:28:15 one of them is at least getting the base rest API utility patch landed 20:28:16 https://review.openstack.org/#/c/136676 20:28:35 current debate seems to be a final question on validation with lhcheng and david-lyle 20:28:53 TravT: I talked to Richard about that, I'm trying to get back to it 20:28:53 i put up a potential compromise solution, so would like feedback on that. 20:29:42 david-lyle: okay. 20:30:03 then we can focus more on the actual API's and hopefully iterate there 20:30:24 I think his point is valid that out interactions with the clients could be made consistent, contracts with the client wrappers 20:30:43 I'll try to hit again today 20:30:50 ok. thanks 20:30:57 tqtran: over to you. 20:31:04 thanks TravT 20:31:18 so basically, we're going to end up with angular code in openstack_dashboard 20:31:34 they belong there because its specific to each panel 20:31:50 so user identity will have its own js controller file, etc... 20:32:04 the way we have it right now, all of your js is in horizon 20:32:09 *our js 20:32:42 the idea was that we only incorporate js libs in horizon, and for panel specific js, we have it in openstack_dashboard 20:33:25 i have tried pulling most things from horizon, but that doesnt work because we have selenium tests using those js in horizon 20:33:52 so we're actually stuck with putting most of our legacy js files in horizon 20:34:19 but for the new angular js stuff, i propose that we start moving them to openstack_dashboard, wanted to get a consensus on this 20:34:25 tqtran: what about general directives & even controllers that are used in multiple panels? still in openstack_dashboard? 20:34:26 tqtran, but, if someone would use horizon as framework, he would re-use that js code anyways? 20:34:33 https://review.openstack.org/#/c/141457/ here is the patch 20:35:11 mrunge: its possible, but the js code is very specific to each panel 20:35:29 mrunge: its like arguing that our panel code in python today can be reuse as well 20:35:40 darn, I hoped, it would be a bit more maintainable 20:35:58 well, some things still will be in horizon 20:36:03 tqtran putting the angular code that's specific to a panel in openstack_dashboard makes sense. 20:36:15 mrunge: https://review.openstack.org/#/c/133767/25/horizon/static/horizon/js/angular/dashboards/hz.identity.users.js here is an example of a controller in js specifically for the users panel 20:36:41 rbertram, TravT: yes, reusable things like wizard, tables, will still stay in horizon 20:36:48 tqtran: there will be wizard framework and step content 20:36:51 tqtran, and why the heck can't we put that to openstack_dashboard? 20:37:04 those two could be logically split horizon and openstack_dashboard 20:37:07 mrunge: we could, i wouldnt be oppose to that either 20:37:28 I think mrunge is referring to those common base wdigets 20:37:43 david-lyle, yes and no 20:37:58 specific panel content and steps certainly lives in openstack_dashboard, as it does today 20:38:07 I would like to have stuff separated as much as possible 20:38:19 this makes it easier to maintain it 20:38:41 I could see, more things in openstack_dashboard like usage 20:39:03 things used in multiple views 20:40:41 mrunge: just to clarify, so you're saying that you like it better if the reusable JS components live in horizon, and the panel-specific JS code lives in dashboard? 20:41:07 tqtran, I'd say: yes 20:41:21 mrunge: ok, then i guess we're all pretty much in agreement 20:41:26 :D 20:41:52 one last thing, does it make sense to combine _conf and _scripts? 20:42:06 tqtran, nope. 20:42:08 i think it makes its easier to have all of our js dependencies in one place 20:42:17 tqtran, I added a comment to that patch 20:42:19 not sure i understand why we need 2 20:42:35 easier to read? 20:43:00 smaller files for a dedicated reason rather than a large file with everything mixed up? 20:43:20 yes, but its very confusing for newer developers. we're generally use to having a single index.html where all of our scripts are loaded 20:43:35 the only thing in there are script tags 20:43:38 new developers are python developers. 20:43:47 i would argue that its easier to read when all scripts are in one place 20:43:54 so, almost *everything* is new 20:44:15 I'm not a friend of huge spaghetti-like files 20:44:17 hello 20:45:27 the way we have it right now, we have import statements for angular modules in two different places 20:45:50 its very confusing even to me where i should put my js script 20:46:01 I need to look at the content of each again, but unless they serve different purposes, I'm not sure I see the need for a split 20:46:22 is one in horizon and one in openstack_dashboard? 20:46:37 none in openstack atm 20:46:42 david-lyle, it's this patch here: https://review.openstack.org/#/c/141457/ 20:46:44 all the js scripts are in horizon 20:47:02 and I was arguing: no need to move all stuff from one file to another 20:47:32 I know I looked at this before, trying to resync 20:47:49 yes, i also introduced the idea in the ML 20:49:52 tqtran: I recall 20:51:25 ok, I have to look more 20:52:00 ok, just wanted to bring it up so people are aware. im open to feedback and if there is a good reason, im all ears. 20:52:13 tqtran, TravT question if I have a change which has some js code...I am required to use angularjs now? 20:52:48 Actually, we are looking to move to COBOL. 20:53:00 TravT, +1 20:53:19 gugl2: depends on the change, is it to legacy js code? if it is, then just stick with jquery. but the newer stuff should be angular. 20:53:20 we are looking at angular for new development and tqtran is working on updating some older things to angular 20:53:42 TravT: lol COBOL yes, my favorite 20:53:42 travt: bet you have an angboard alternative called cobboard 20:53:51 tqtran, ok, thanks 20:53:53 lol 20:53:53 rbertram: lol 20:54:27 * david-lyle is regretting finding wifi 20:54:38 we had a patch set celebrating it's first birthday. 20:54:50 could we get another core to approve https://review.openstack.org/#/c/65793/ ? 20:54:59 gugl2: http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro interactive tutorial if you're interested 20:55:19 tqtran, sounds good, thanks. 20:55:41 If we are in that part of the meeting - Serial Console https://review.openstack.org/#/c/144659/ is ready for review. But the BP has not gotten any attention. 20:55:53 mrunge: sounds like you should bug akihiro 20:55:53 Does BP have to be approved for patch to merge? 20:56:19 tqtran, yes, but he's not here at the moment 20:56:45 rbertram, I thought it was already approved? 20:56:51 rbertram: it should be, but it doesn't always happen that way 20:56:59 :-) 20:57:12 Quick update on Curvature topology BP, would really appreciate some UX feedback https://review.openstack.org/#/c/141078/ need to clean up code this afternoon and will remove the -1 workflow tomorrow 20:57:20 rbertram, I mean, the bp should already have been approved? 20:58:21 https://blueprints.launchpad.net/horizon/+spec/serial-console - marked as "needs approval" 20:58:38 bradjones: i do have a question. will that topology be easy to include in a number of pages? 20:58:38 devlaps: around? 20:59:29 TravT: yeah it should be as long as the page calls the init function and the json is rendered I don't see why not 21:00:15 bradjones: great, because there is some interest in being able to bring it up within context on a few places. 21:00:22 e.g. instance details 21:00:51 time's up. Thanks mrunge for leading. Have a great week and I should back in a more full capacity late next week. Thanks everyone. 21:00:54 TravT: awesome that sounds good 21:00:58 #endmeeting