19:00:51 <zara_the_lemur__> #startmeeting storyboard 19:00:52 <openstack> Meeting started Wed Jan 18 19:00:51 2017 UTC and is due to finish in 60 minutes. The chair is zara_the_lemur__. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:53 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:00:56 <openstack> The meeting name has been set to 'storyboard' 19:01:10 <zara_the_lemur__> no announcements of which I am aware 19:01:20 <zara_the_lemur__> anyone want to sneak an annoucement in ? 19:01:24 <zara_the_lemur__> *announcement 19:01:28 <diablo_rojo> Here! 19:01:32 <zara_the_lemur__> hi! 19:01:34 * zara_the_lemur__ will move on then 19:01:39 <zara_the_lemur__> #topic Urgent Items 19:01:43 <zara_the_lemur__> also got nothing on the agenda 19:01:47 <diablo_rojo> Got the second post promoted :) 19:01:51 <diablo_rojo> As I am sure you all saw 19:02:02 <zara_the_lemur__> yes, thanks for that! :D 19:02:19 <zara_the_lemur__> #topic In-progress work 19:02:39 * zara_the_lemur__ just changed topic so discussion around that didn't end up under an urgent header 19:02:55 <zara_the_lemur__> #info diablo_rojo has been promoting our second StoryBoard blog post! 19:02:59 <SotK> \o/ 19:03:02 <SotK> thanks diablo_rojo 19:03:20 <diablo_rojo> No problem. 19:03:26 <diablo_rojo> So onto the third post 19:03:30 <fungi> great stuff 19:03:38 <zara_the_lemur__> #link https://storyboard-blog.io/ 19:03:57 <diablo_rojo> I started adding other post ideas to that bikeshed etherpad 19:04:08 <zara_the_lemur__> ooh, nice 19:04:43 <zara_the_lemur__> I lost a lot of browser history and bookmarks this week so may not have the link to it handy any more 19:04:46 * SotK goes to look 19:04:53 <SotK> #link https://etherpad.openstack.org/p/storyboard-blog-bikeshed 19:05:00 <zara_the_lemur__> thanks 19:06:33 <SotK> the ideas that are there look sensible to me 19:06:36 * zara_the_lemur__ likes the new notes on that etherpad 19:07:15 <SotK> I suspect it would be useful to do worklists and boards in one post though 19:07:28 <zara_the_lemur__> I'm happy to spread it out if that makes sense 19:07:57 * zara_the_lemur__ would also be fine with 'overview post then followup posts' 19:08:07 <SotK> oh I misread the etherpad 19:08:18 * SotK remembers how indentation works 19:08:36 <zara_the_lemur__> ohhh, I misunderstood you 19:08:51 <zara_the_lemur__> now I get it and yeah I agree 19:09:01 <zara_the_lemur__> I think we're on the same page 19:09:06 <zara_the_lemur__> which is good since we'll be writing it 19:09:11 <SotK> :D 19:09:22 <zara_the_lemur__> BADUM-TISH 19:09:37 * zara_the_lemur__ swiftly moves on 19:09:57 <zara_the_lemur__> I've listed 'updating webclient components' since I intend to be focusing on that over the next few weeks 19:10:04 <zara_the_lemur__> even though I didn't get much done this week on that 19:10:32 <diablo_rojo> I would do all the new things in one post together I think 19:10:41 <diablo_rojo> I was just enumerating the new things :) 19:10:46 <diablo_rojo> As sub bullets 19:10:51 <SotK> yep, that is the page I am now on also 19:11:06 <diablo_rojo> Muy bien :) 19:12:07 <SotK> I intend to look at finishing up the link-to-searches stuff so that the links actually work for things other than stories at some point soon 19:12:21 <zara_the_lemur__> :) 19:12:29 <diablo_rojo> Excellent :) 19:14:13 <zara_the_lemur__> ah, I meant to investigate some of the ui around worklist filters, then forgot about it 19:14:30 <zara_the_lemur__> we need to find a crowd of folk who love angularjs 19:14:47 <diablo_rojo> Something for the ML? 19:15:38 <zara_the_lemur__> yeah, the python side is usually fine but it's hard to find people with the angular knowhow 19:15:59 <diablo_rojo> Ive done a TEENY TINY bit with angular 19:16:09 <diablo_rojo> but it was also like two years ago 19:16:16 <zara_the_lemur__> congratulations, you're our new expert! :D 19:16:27 <zara_the_lemur__> dw, it uses angular 1 so your two-year-old experience will still be valid 19:16:59 * diablo_rojo shouldn't have said anything 19:17:02 <SotK> :D 19:17:06 <fungi> might be able to draw from the horizon devs there. i don't recall how far down the angular path they've gotten 19:17:39 <zara_the_lemur__> betherly might know 19:17:43 <zara_the_lemur__> (hi betherly) 19:19:40 <zara_the_lemur__> but yeah, I've spent enough time with angular1 to know it's not my thing and if I need to use it, I will procrastinate at every opportunity, so I'd love to find folk who are enthusiastic, and the storyboard webclient is fairly tidy as codebases go (I am biased) 19:20:07 * SotK likes angular but is only a single person 19:21:30 <diablo_rojo> Noted :) 19:23:15 <zara_the_lemur__> other things... 19:23:43 <diablo_rojo> Migration scripts for Monasca? 19:24:09 <zara_the_lemur__> sure, will change to open discussion for it 19:24:12 <zara_the_lemur__> #topic Open Discussion 19:24:17 * SotK hasn't had chance to look at them yet, idk about anyone else 19:24:30 <zara_the_lemur__> I haven't looked this week 19:24:46 <zara_the_lemur__> could anyone provide a link to where the migration scripts live? 19:25:19 * SotK thinks he can 19:25:56 <fungi> great question. they're not where i expected to find them anyway ;) 19:26:03 <zara_the_lemur__> hahaha 19:26:25 <zara_the_lemur__> I like it, it's like a challenge with riddles-as-hints 19:26:28 * SotK assumes it is this: http://git.openstack.org/cgit/openstack-infra/storyboard/tree/storyboard/migrate 19:27:18 <fungi> aha, i didn't look in the right part of that repo 19:27:37 <fungi> glad to know it was actually _in_ the sb repo at least 19:27:52 <zara_the_lemur__> wow, I've looked at that a million times and *never* noticed the 'migrate' directory 19:27:59 * zara_the_lemur__ probably assumed it was related to the db migrations 19:28:03 <SotK> I've looked at that enough to see that it puts things from LP into SB, but not actually tried running it yet 19:28:29 <fungi> yup, the "launchpad" subdir gives it awau 19:28:31 <fungi> away 19:29:00 * fungi makes mental note for future 19:29:30 <zara_the_lemur__> thanks, sotk 19:29:33 <diablo_rojo> I will put it on my list to look it through :) 19:29:47 <zara_the_lemur__> ace 19:30:05 <diablo_rojo> SotK, do you think at some point this week you could test it? Or do we want to try to make the changes first and then make the changes? 19:30:41 <SotK> I can test it at some point this week 19:30:44 <diablo_rojo> If I know what needs to change I can try to help make the changes or at the very least keep up on the reviews (finally starting to get around to that) 19:30:47 <fungi> it's likely a matter of just running it on storyboard-dev, seeing how it breaks, and patching from there 19:30:49 <diablo_rojo> SotK, sweet 19:31:02 <diablo_rojo> SotK, let me know how I can help 19:31:30 * SotK will do once he knows properly what needs doing 19:31:31 <fungi> i doubt anyone will know what's currently wrong with it (if anything) until it gets run 19:32:38 * zara_the_lemur__ can't offer much of a hint beyond 'keep an eye out for stories with 'unusual' characters' 19:33:17 * SotK wonders how it will handle private lp tasks 19:34:21 <zara_the_lemur__> hm, that reminds me, does storyboard explicitly handle unicode? I didn't know much about python+unicode at the time I was looking at this, but we might be able to avoid some of the pain by handling it explicitly if we're not 19:35:27 <zara_the_lemur__> it *might* have been struggling with ascii characters over 127 19:36:38 <zara_the_lemur__> *well, ascii encoding with characters over 127 19:36:58 * SotK doesn't believe we explicitly make things into unicode strings anywhere 19:37:02 * zara_the_lemur__ now strongly suspects that was it 19:37:21 <SotK> but the database column is utf-8, so I'd hope sqlalchemy is returning unicode strings 19:37:55 * zara_the_lemur__ wonders how long it has been 19:38:13 <fungi> yeah, python 3 makes it pretty transparent/automatic, but for python 2 you end up needing to use .encode() and .decode() on strings when marshalling data between byte-oriented media and string representations 19:40:02 <fungi> the db driver probably does that behind the scenes, but if you have anywhere you're doing raw interactions with file content or network sockets it can come into play 19:40:36 * SotK double checks, and yeah, sqlalchemy is providing unicode strings properly 19:41:01 * zara_the_lemur__ wonders if it did that at the time of the last migration 19:41:37 <fungi> it's possible the _migration_ script itself wasn't properly handling data it was getting from lp 19:41:52 <fungi> or even possible that the lp api could return invalid codepoints 19:43:35 <fungi> since sb doesn't really do any low-level communication (afaik) and leaves that to third-party frameworks/modules, it's probably internally consistent already 19:44:56 <zara_the_lemur__> in this case a lot of the characters that revealed problems were things like single quotes with a different encoding, but they were used in descriptions in places it made sense to use single quotes, so *something* was identifying them correctly. 19:45:30 <fungi> so-called "smartquotes" probably 19:45:33 <zara_the_lemur__> there was a parallel issue where some characters weren't rendered properly, but those didn't actually break anything 19:45:49 <zara_the_lemur__> the first ones were the ones that meant stories.get_all() and similar would fail 19:46:27 <zara_the_lemur__> so there could even be multiple issues with the migration scripts around that. 19:47:56 <zara_the_lemur__> I should have a script somewhere that speeds up the process of identifying stories that contain characters that cause trouble 19:48:02 * zara_the_lemur__ can't remember what it actually does 19:48:15 <zara_the_lemur__> it may just try to get each story and then error when it can't.... 19:48:56 <zara_the_lemur__> so yeah I have a great tale about the time I removed a million and one 'unusual' apostrophes by hand. 19:49:03 <fungi> ew 19:49:42 <zara_the_lemur__> I think some of the characters even looked like *whitespace*. 19:50:01 <zara_the_lemur__> but maybe I have that mixed up; I've tried to forget 19:50:46 <diablo_rojo> I suppose we will see what happens when SotK runs the scripts 19:51:20 <zara_the_lemur__> yep! 19:51:24 <fungi> yeah, there are non-ascii codepoints for things like "short space," "long space," "vertical space," "non-breaking space..." 19:51:35 * zara_the_lemur__ cries 19:51:59 <fungi> one space to rule them all hasn't been a thing for quite some time now 19:52:30 <zara_the_lemur__> :) 19:52:41 <zara_the_lemur__> we have 8 minutes left! any other points to distract me? 19:53:57 <zara_the_lemur__> if not, we can finish up early! 19:54:03 * SotK has nothing 19:54:56 <zara_the_lemur__> in that case... 19:54:59 <zara_the_lemur__> meeting ends in 5 19:55:00 <zara_the_lemur__> 4 19:55:01 <zara_the_lemur__> 3 19:55:03 <zara_the_lemur__> 2 19:55:05 <zara_the_lemur__> 1 19:55:08 <zara_the_lemur__> #endmeeting