19:04:01 #startmeeting hubs-devel 19:04:01 Meeting started Wed Feb 1 19:04:01 2017 UTC. The chair is mizmo. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:04:01 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:04:01 The meeting name has been set to 'hubs-devel' 19:04:07 #chair shillman 19:04:07 Current chairs: mizmo shillman 19:04:17 okay lets see where we were 19:04:55 We figured out a few useful things which I had in my blog post. One sec. 19:05:12 i wanna pull up the bug 19:05:17 Ah! Ok. 19:05:23 i think it's #17 19:05:43 God, my browser is slow... 19:06:32 https://pagure.io/fedora-hubs/issue/17 19:06:52 https://medium.com/@suzannehillman/css-and-mockups-2bf6fb160fa2#.is5fuhf3q 19:07:36 Yup. :) 19:07:48 Restarted the browser, that helped. 19:08:48 so last session we basically got a better understanding of the fake data from sayan 19:08:52 Right. 19:09:05 I pushed a new file btw 19:09:07 Which will hopefully reflect the eventual real data. 19:09:10 to know if the user has it, we check the is_awarded attribute 19:09:21 badges_count is total number of series badges... doesn't include non series badges, so theres a little bug there 19:09:33 the one that I told at the end of the last meeting 19:10:06 *nod* Right. 19:10:41 there is some info we don't have that's in the mockup: 19:10:48 - non series badges for the team 19:10:55 - most recent badge earner 19:11:16 - most recently earned badge the most recent badge earner earned (say that 5 times fast) 19:11:27 that's it 19:11:34 sayan: ^^ would it be helpful to file bugs for getting this data? 19:11:40 Do we know the most recent badge the user got? 19:11:54 shillman_: probably, if we have the user name 19:11:55 Maybe it it's one of the series ones, we do? 19:12:06 Not sure if we have access to the non-series ones, nor how that would work. 19:12:19 Or could we use prod to get that info? 19:12:21 i think in final implementation we need non series access 19:12:26 Yes, agreed. 19:12:43 especially out of the gate, most team badges will be non-series 19:12:46 What's an open badge? 19:12:48 Agreed. 19:13:10 open badge == badges. open badge is the standard that mozilla made that we follow in our badges ipmlementation 19:13:14 oh and the team rank 19:13:18 So what 19:13:38 does open and non-mission team badges mean. Just hte non-series ones? That the person is working on? Something else? 19:13:47 to do team rank, we need the list of team members, need to know how many of the team badges each has in order to do the ranking 19:13:51 although that computation could be done on the badges side rather than here in hubs 19:13:57 OH 19:14:00 that open badge 19:14:03 * mizmo thinks 19:14:14 thats a good question 19:14:38 I'm not actually sure lol, in which case we can drop the open 19:14:43 you know what i think i was probably thinking? 19:14:55 "these are the badges that are associated with this team that i haven't yet earned" 19:14:59 so maybe open = haven't yet earned 19:15:03 but not sure 19:15:15 Aaaah. Well, if nothing else, we should label that better. ;P 19:15:30 And perhaps those are in order of ease of completion? 19:15:31 absolutely 19:15:33 mizmo: sure 19:15:47 #action label open + non-mission team badges better 19:16:05 #info it probably means the team badges that the user hasn't gotten yet. 19:16:09 #action where it says 26 team badges, make it 20/26 badges to indicate how many of the total user has 19:16:36 Oh. Is _that_ what that number is about? 19:16:51 #action file bugs for missing data: non-series team badges, most recent badge earner, most recently earned badge, badge rank data for team 19:17:04 yeh 26 is supposed to be the total number of team badges 19:17:22 I think s/team badge rank/your team badge rank 19:17:28 #action fix team badge rank label to be more lear 19:17:35 Do we already have access to an individual's most recent team badge? 19:17:40 Because I think we need that, too. 19:17:57 BUt I guess that would fall out of having both series and non-series info, 19:18:02 . 19:18:11 shillman_: hopefully 19:18:58 ok lets do some html/css 19:19:05 lemme track down the etherpad 19:19:05 #info we hope that once we have access to series and non-series data, we should be able to grab the most recent team badge for the user. 19:19:26 http://etherpad.osuosl.org/badges_path_template 19:19:43 (also in my blog post) 19:20:14 oh perfect 19:20:20 okay 19:20:42 so let's start doing the html/css with filler text first, and maybe go into using the flask stuff if we're happy with that 19:21:00 so if you take a look at the layout of the other similar badges widget: 19:21:01 https://pagure.io/fork/duffy/fedora-hubs/blob/286a1d933a337417baa0325d9de3305e68c33a6c/f/hubs/widgets/templates/badges.html 19:21:05 it's using bootstrap - 19:21:09 are you familiar with bootstrap? 19:21:17 Nope 19:21:19 it's the row/col crap in the attributes 19:22:03 the classes that are row and col? 19:22:08 Or something else? 19:23:00 yeh pretty much 19:23:08 theres more to bootstrap than that, but that''s about all we use here 19:23:11 Ok. 19:23:16 do you know about the xs / sm / md / lg system? 19:23:21 Is there a reference somewhere? 19:23:25 No, but I can guess. :) 19:23:57 Are all the badges on imgur? 19:24:07 should be at bootstrap.com.... i've been following the guidelines for bootstrap 4 which was not yet released when we started 19:24:29 nope, i uploaded images out of the mockup to imgur to pull in - this isn't hooked up to badges at all, it's completely filler data including the imgs 19:24:34 Uh, 19:24:41 if thiswas hooked up correctly it'd pull images from badges 19:24:42 there's nothing there..http://www.bootstrap.com/ 19:24:44 Aah 19:24:59 oh it's getbootstrap.com 19:25:03 sorry i usually just type in duckduckgo bar 19:25:10 np. :) 19:25:18 https://v4-alpha.getbootstrap.com/getting-started/introduction/ 19:25:33 so the xs / sm / md / lg is used for responsive layout 19:25:40 bootstrap is based on a 12 column layout 19:25:54 so whenever you use a col class, you have to keep track of how many cols you've used in the row 19:26:03 if you go over 12 stuff will start stacking vertically 19:26:12 Huh. Do we actually use as many as 12? 19:26:22 yep 19:26:23 if you scan down 19:26:31 the row with badges earned / badges rank is 6 | 6 19:27:12 then further down theres a lg 4 | lg 8 that on smaller screens goes md 12 / md 12 (two rows), in small it goes sm 2 | sm 10 19:27:23 it might help to see it in action 19:27:27 let's start up the server and play with it 19:27:29 Yeah, I think so. :( 19:27:31 :)\ 19:27:32 * mizmo thinks this got merged 19:27:47 so in the hubs directory you type 19:27:48 workon hubs 19:27:51 Yep. 19:27:55 that starts venv 19:28:11 python runserver.py -c config 19:28:17 It's running already. :) 19:28:36 then we have to add this badges widget to the hub 19:28:46 oh you're ahead of me 19:29:02 Yeah, it's the same as last time because I didn't use this machine since and it was sleeping. 19:29:03 * mizmo still logging in 19:29:06 *nodnod* 19:29:06 OH NO 19:29:08 401 error 19:29:13 * mizmo tries again 19:29:18 * mizmo crosses fingers 19:29:23 I haven't grabbed any new code; should I have? 19:29:34 please love me ipsilon. don't be mean to me. 19:29:34 shillman_: i haven't either, should be okayish 19:29:38 k 19:30:42 okay got it up :) 19:30:46 im going to go to the design team hub 19:30:55 k. I cannot edit that, due to permissions 19:30:59 http://localhost:5000/designteam 19:30:59 But I can see it, I think. 19:30:59 oh 19:31:03 let's do personal then 19:31:10 k 19:31:18 i'm doing http://localhost:5000/duffy you should do http://localhost:5000/wispfox 19:31:24 Yup 19:31:26 (i think, if wispfox is your fas) 19:31:28 ok 19:31:30 Yup. :) 19:31:31 then edit this page... 19:31:44 slow slow slow 19:32:06 click add a widget 19:32:08 slow slow slow 19:32:21 :) 19:32:27 and we're gonna look for badges (one we're working on is badgespath, don't need that one) 19:32:52 Do you have a suggestion for which one? 19:33:00 (eventually...) 19:33:18 oh its slow bc of the json in the badgespath one i think 19:33:19 hehe 19:33:27 Oooooh. 19:33:36 Can I remove that? 19:34:24 oh poo 19:34:30 the badges widget here isn't the one i did 19:34:35 thats okay 19:34:45 yes you know what we'll do :) it's a bit evil 19:35:02 Eeeeeviiil... 19:35:05 we'll comment out the current badges path widget stuff and copy paste the one from the other badges widget so i can show you the bootstrap responsive stuff 19:35:13 that'll turn the json stuff off in effecvt 19:36:04 ok. 19:37:14 okay so im going into /home/duffy/Repositories/fedora-hubs/hubs/widgets/templates/badgespath.html 19:37:24 i'm clearing it completely then copy pasta'ing from the etherpad 19:37:50 then i'm restarting the server 19:38:06 and refreshing my hub 19:38:38 *waits on refresh to finish* 19:38:56 Ok, finished. 19:39:05 so, in my trickiness, i forgot the CSS won't work becasuse that's not merged either :) 19:39:16 so you'll see the basic layout of the bootstrap stuff but it won't look as pretty as intended! 19:39:19 Whoa Lots of errors. 19:39:23 Ah, is that why... 19:39:26 what errors did you get 19:39:35 i didnt get any 19:40:18 fpaste errors? 19:40:40 what browser are you using btw 19:40:56 https://paste.fedoraproject.org/542571/78052148/ 19:41:14 And on the browser side: Got an error retrieving this widget. Sorry :( 19:41:18 a bunch. 19:41:27 Also the widget duplicated itself. 19:41:34 FF 19:42:09 huh 19:42:26 lets clear your widgets and start fresh 19:42:27 * mizmo tries to remember how to do that 19:43:21 pingou, sayan - how do we clear the user added widgets from a hub? i thought it was smart cache invalidator but it doesnt seem to work how i remember 19:43:49 shillman_: do you know which widget is failling? the badges one? 19:43:55 you could try stopping the server and running 19:44:04 python smart_cache_invalidator clean badgespath 19:44:06 python smart_cache_invalidator clean badges 19:44:08 and then restarting 19:44:24 I cannot tell, but there had been others there before and now there is only the badges path twice. 19:44:26 Will try that. 19:44:51 pagure.pull-request.comment.added -- jcline commented on pull-request#304 of project "fedora-hubs" https://pagure.io/fedora-hubs/pull-request/304#comment-17572 19:44:52 pagure.pull-request.closed -- jcline merged pull-request#304 of project "fedora-hubs" https://pagure.io/fedora-hubs/pull-request/304 19:45:28 reloading 19:46:47 mizmo, well, no error this time, but badges path is there three times. :) 19:46:59 *amused* 19:47:18 Anyway. I can at least have you explain the 12 columns thing. 19:48:16 hm 19:48:41 okay well! anyway :) 19:48:45 so firefox has this responsive mode thing 19:48:49 *nod* 19:48:51 i think chrome does too but i prefer ff for development 19:48:55 you go to the firefox hamburger menu 19:49:24 click on developer > responsive design mode 19:49:56 that gives you handles all around the window, and you can resize the window smaller and larger to see how it renders differently 19:50:02 k, now I appear to be in a phone size. 19:50:33 drag it as large as you can 19:50:37 i have it on 1487x640 19:50:50 and then scale it down slowly, and you'll see how it sort of morphs 19:51:05 around 1340 is one point - 19:51:59 The widgets are shrinking, sure. 19:52:21 actually closer to 988 19:52:39 at 988, you can see rarest earned's description going from the side next to it to under it 19:52:43 same with most recently earned 19:52:47 Right. 19:53:22 Does that mean those are in two diff cols? 19:53:31 this is harder with the other widgets on the screen lol 19:53:32 yeh so let's go to the html 19:53:38 :) 19:54:46 okay so lines 19-25 in the etherpad 19:54:57 oh actually 19:55:04 mmm? 19:55:09 lines 15-25 19:55:22 so when it's at its largest 19:55:37 col-lg-4 / col-lg-8 19:55:50 the image of the badge takes up a column that is 4/12 wide.... and the description takes up a col 8/12 wide 19:56:05 when you scale it down i'm guessing down to the 988 you get into the md territory 19:56:09 OOOOOOH 19:56:14 Oh. 19:56:17 medium is two rows, the image takes up 12/12, and the description takes up 12/12 19:56:20 when you go small 19:56:22 I am suddenly less confused. 19:56:33 it shifts again... suddenly the image takes up 2 cols wide, and the description takes up 10 cols wide 19:56:42 make sense? :) 19:56:56 So each.. section? has effective 12 space in which to function. 19:57:01 yeh 19:57:05 it's not really 12 cols 19:57:05 And the things in that section need to remain within that space. 19:57:10 it's more a grid of 12 squares 19:57:18 Yeah. That is much less confusing now. 19:57:20 and you indicate how many of the squares wide that col should be 19:57:30 if you scale down to like 596 19:57:42 you'll notice the image is back left aligned with the description on the right 19:57:52 that's because we then did 2 col for the img and 10 col for the description 19:58:31 we do that because the entire hubs page is responsive, and it makes the widgets go from a right sidebar to full col content, so we change the alignment of the widget content accordingly to take advantage of having the full width of the screen 19:58:43 Right, ok. 19:59:05 theres different philosophies on how to best go about this process of figuring out how to have the design morph for each size 19:59:17 So is there a way to know approximately what to expect from xs, sm, md, and lg in terms of the entire hubs behavior, to know what one has to work with? 19:59:18 what i usually do is write the html for the 'normal' or 'laptop' version of the site first 19:59:23 *nod* 19:59:26 then go into this responsive view and play with it, and try to work out in my head how i'd like it to 'degrade' 19:59:36 and play with the bootstrap col values to figure out what looks best 19:59:55 now one thing i remember kind of vaguely, it's probably right 19:59:56 is that the bootstrap col sizes apply upwards 20:00:05 Ok, so evidently you just have to play with it. :) 20:00:10 'upwards'? 20:00:12 so if you don't define a lg, md, or sm.... if you only define an xs - that will apply to *all* sizes 20:00:17 Aah 20:00:30 bt if you define a lg and not a sm.... it'll probably break at sizes small than lg. not always, but probably 20:00:35 Gotcha 20:01:09 xs / sm / md / lg sizes are defined in the CSS somewhere, it's a configurable variable 20:01:10 lets dig and figure out what it is for hubs 20:01:27 * mizmo pokes around here https://pagure.io/fedora-hubs/tree/develop 20:01:44 it's gonna be in here, do you know about static content? 20:01:45 https://pagure.io/fedora-hubs/blob/develop/f/hubs/static 20:02:03 its sort of a web standard thing to put static stuff like js, css, image, etc files under a 'static' dir 20:02:04 Insufficient context to know if I know. 20:02:08 Ah, ok. 20:02:22 Yeah, but I'm not clear on what non-static would mean. 20:02:36 (I did a tiny bit of this when adjusting the template for my website at suzannehillman.com) 20:02:44 so static is kind of like - it's never gonna change, like, the logo for the site 20:03:03 where it's not static is something that is maybe user defined or generated. a user may uplaod a new avatar in the app. so avatar is not static, it's user data 20:03:17 it's sort of like the difference between say /usr/bin on a linux system, and /home/* 20:03:20 Ooooooh. Ok, right. 20:04:35 https://pagure.io/fedora-hubs/raw/develop/f/hubs/static/fedora-bootstrap/fedora-bootstrap.css 20:04:36 it's minimized 20:04:52 ... whoa 20:05:05 That's difficult to parse! 20:05:07 im lazy so i'm just going to copy/paste it to unminify.com 20:05:18 it presumably saves bandwidth 20:05:18 to minify 20:05:20 What does minimizing mean in this context? 20:05:25 so a lot of js and css libraries do that 20:05:42 all whitespace and newlines are stripped 20:05:49 oooh, I see. 20:05:49 it makes the file smaller 20:05:53 Yeah, it would. 20:05:55 Slightly. 20:06:42 so i'm looking for @media in the file 20:06:54 that's the CSS syntax for defining a responsive view port 20:07:03 Ah, ok. Cool. 20:07:12 around like 786 i'm seeing 544 px / 768 px / 992 px / 1200 px 20:07:25 so i'm guessing lg = 1200, md = 992, sm = 768, xs = 544 20:08:42 Huh. That's rather less clear than it could be. No comments or anything! 20:08:51 Maybe those were stripped out, too. 20:09:50 What's col-[size]-pull-[number] for? 20:09:55 oh my god they are revoking visas from the 7 countries 20:09:58 And push... 20:10:04 *sigh* 20:10:11 I am utterly, completely, unsurprised. :( 20:10:48 this... this is not ok 20:11:22 sigh 20:11:28 sorry i just heard that on the radio 20:11:30 Yeah. It's not. In fact, it means that a bunch of people who have _helped_ us are now in fear for their lives because. 20:11:39 No apology required. I get it. 20:11:52 they may deport people who are here with visas 20:12:07 Yup. 20:12:36 I think Canada has said that those people are welcome there, if they can get there... 20:12:40 ok anyway 20:12:45 so this bootstrap css is from fedora bootstrap 20:12:51 i think probably the comments were stripped bc it's minified 20:12:55 *nodnod* 20:12:57 let me be unlazy and look it up 20:12:58 sec 20:14:25 it seems to pull it from upstream bootstrap 20:14:41 https://pagure.io/fedora-bootstrap/blob/master/f/src/index.scss 20:15:47 huh having a hard time tracking it down 20:16:07 This page is at least interesting and maybe good enough... http://getbootstrap.com/css/ 20:16:42 found it!!!! 20:16:50 it's in variables.scss in the bootstrap tarball 20:16:55 * mizmo sent a long message: mizmo_2017-02-01_20:16:54.txt - https://matrix.org/_matrix/media/v1/download/matrix.org/XxNrGeraOAfFYzeShAAcfDZN 20:17:03 so fedora's values are a little diff than bootstrap upstream 20:17:17 Yay. :) 20:17:19 i think ryanlerch set them, he may have some insight into why 20:17:23 Yeah, interesting. 20:17:29 but there you go, with comments, it's pretty clear 20:17:29 and we can change it if we want 20:17:46 anyway i like bootstrap because it seems like it's the most widely used css framework, and it does make the responsive stuff pretty easy 20:18:01 *nod* Truth! 20:18:05 in html/css there's this mantra, separation of style and content 20:18:11 my big beef with bootstrap is it embeds style into the content 20:18:15 but... nothings perfect i guess :) 20:18:32 anyway so that's the bootstrap col stuff 20:18:33 *nod* Given the fact that HTML wasn't really meant for what we're pushing it into, and all. 20:18:36 *nod* 20:19:07 the main advice i have for figuring out which bootstrap col types (xs/sm/md/lg) and values to use for them: 20:19:16 - get it working for large screens first without bootstrap col values 20:19:30 - then start playing with it at different sizes in the responsive design view of firefox 20:19:49 *nod* 20:20:08 - one size at a time - scale it down to "lg" (960px), see what breaks, try different things, once you're happy with that, move down to md (720px), rinse and repeat 20:20:29 now wherever a row is defined with
20:20:32 I figure that as you do it more, you get a sense for what is likely to work? 20:20:38 (eg like in line 15) 20:20:45 yep absolutely 20:20:54 the rows are sort of hard breaks, no matter the screen size that row is always gonna be there 20:21:07 if you want something to sometimes be a row and sometimes not, you can play with the col values like i did in lines 15-25 20:21:28 i wanted two separate rows at the md size, so i set each col to 12, which forced the two columns to each be 100% wide and forced them into being stacked vertically 20:21:32 you could consider that a "soft" row 20:21:47 whereas a
is a "hard" row 20:22:17 Hmm, I see. 20:22:23 i think i said this earlier? i meant to. but whenvever i'm trying to convert a mockup to html/css, the general principle is less is more 20:22:32 Mmm? 20:22:47 some people try to think of every possible little piece of metadata to inject into the html syntax / css 20:22:48 you dont wanna do that 20:22:51 you want as little as possible, no more 20:22:54 you can always add later if you need it 20:23:05 so you don't need to put a descriptive class on every element 20:23:06 the only classes i have here, are two main types - 20:23:22 - bootstrap classes, col, row 20:23:26 - descriptive classes 20:24:04 THings like badge and detail - to make it easier to reuse the style for those? 20:25:10 yep, if its something that might be possibly reused 20:25:11 eg 20:25:23 the table that's towards the middle 20:25:24 community / content / quality / event classes? 20:25:32 iirc the CSS for those just defines colors 20:25:39 Ah, I wondered. 20:25:40 those are color codes i want to be consistent across fedora hubs 20:25:58 so marking those with descriptive classes helps enforce that consistency 20:26:10 (you can't see the color in the website right now because the css isn't hooked up :) ) 20:26:20 another elemtn here is heading elements 20:26:29 Ah, right. So. What sorts of things should I be expecting to need consistent acrossHubs? 20:26:31 some people just write text for a header and it 20:26:48 but it's better to use headers, so the document will have a clear hierarchy 20:27:01 *nod* Better for a11y purposes, if nothing else. 20:27:01 so for folks with screenreaders, it's easier to skim thru the document and go up and down the thread of it 20:27:04 That 20:27:35 (I have done some research into a11y stuff, FWIW) 20:27:56 (accessibility = a11y) 20:28:08 yep 20:28:21 i guess the other thing 20:28:23 i dont know if this is a thing anymore 20:28:29 for a while people used tables for everything 20:28:31 then suddenly tables were evil 20:28:38 it's okay to uses tables for tabular data :) 20:28:42 so that's what the table here is for 20:28:51 k. 20:28:59 What was it being used for before? 20:29:01 knowing what needs to be consistent about hubs - hard to know sometimes 20:29:13 whenever you use a color, it should come out of a palette for consistency, so that's an easy call 20:29:24 k. 20:29:34 people would use tables to lay out stuff on the screen before
was even in html 20:29:44 eg they wanted a 3 column layout, they'd use a table to set up 3 columns even though it wasn't tabular data 20:29:59 Aaaah, 20:30:05 instead of div. Gotcha 20:32:05 yep 20:32:16 some of it started pre-css days too i think 20:32:17 or at least pre-browser support of css 20:32:22 *nod* 20:32:33 i think that's mainly all you need to know on the html front 20:32:44 just make sure the hierarchy of the html is squeaky clean, and err on the side of too little metadata than too much 20:32:58 comments are good if you want to add them. i usually dont beacuse i'm a bad person. 20:33:16 if you're in the html part of the file 20:33:26 in the flask part, i think comments are marked with a # at the beginning of the line 20:33:30 i think 20:34:06 :) 20:34:11 Looks like you're correct. 20:34:28 ok cool 20:34:28 Checked google 20:34:36 so let's look at the CSS now and get that working 20:34:38 we can just hard code it in the file lol 20:35:13 * mizmo digs for it 20:35:42 https://pagure.io/fork/duffy/fedora-hubs/c/286a1d933a337417baa0325d9de3305e68c33a6c?branch=badges-user-profile 20:36:19 Oh, right. The CSS that you said wasn't here yet. 20:36:29 i just copy pasta'ed into etherpad 20:36:34 Can I literally just copy paste that into a file? 20:36:39 and put it inside