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