Monday, 2014-03-31

*** jeblair_ has joined #storyboard01:08
*** ruhe2 has joined #storyboard01:13
*** cody-somerville has quit IRC01:13
*** jeblair has quit IRC01:13
*** ruhe has quit IRC01:13
*** che-arne has quit IRC01:13
*** NikitaKonovalov has quit IRC01:13
*** ruhe2 is now known as ruhe01:13
*** cody-somerville has joined #storyboard01:20
*** che-arne has joined #storyboard01:21
*** NikitaKonovalov has joined #storyboard01:31
*** NikitaKonovalov2 has joined #storyboard04:38
*** NikitaKonovalov has quit IRC04:39
*** NikitaKonovalov2 is now known as NikitaKonovalov04:39
*** jcoufal has joined #storyboard06:20
*** jcoufal has quit IRC06:40
*** hashar has joined #storyboard07:24
*** jcoufal has joined #storyboard07:58
*** jcoufal has quit IRC08:12
*** jcoufal has joined #storyboard08:13
*** jcoufal has quit IRC09:01
*** jcoufal has joined #storyboard09:51
*** jcoufal has quit IRC10:33
*** jcoufal has joined #storyboard10:43
openstackgerritNikita Konovalov proposed a change to openstack-infra/storyboard: Making a token expiration time configurable  https://review.openstack.org/8410711:34
*** saju_m has joined #storyboard11:51
*** saju_m has quit IRC12:00
*** saju_m has joined #storyboard12:06
*** saju_m has quit IRC12:08
ttxNikitaKonovalov: I'm a bit confused by this ^. It sets expiration to 86400, must be merged before https://review.openstack.org/#/c/84107/ which sets expiration to 3600. Why is the first one needed ?12:31
ttxI mean, I'm confused by https://review.openstack.org/#/c/8411112:32
ttxOh, config. I get it now.12:33
*** hashar has quit IRC13:00
*** hashar has joined #storyboard13:05
*** jcoufal has quit IRC13:49
openstackgerritA change was merged to openstack-infra/storyboard: Making a token expiration time configurable  https://review.openstack.org/8410713:51
*** david-lyle has joined #storyboard14:25
*** hashar_ has joined #storyboard14:45
*** hashar has quit IRC14:48
*** jeblair_ is now known as jeblair14:59
jeblairnew meeting time is now in #openstack-meeting-315:04
jeblaircody-somerville, gothicmindfood, krotscheck, NikitaKonovalov, SergeyLukjanov, ilyashakhat, ruhe: anyone around for a meeting? ^15:05
*** mfer has joined #storyboard15:48
*** hashar_ has quit IRC15:56
*** jcoufal has joined #storyboard15:58
persiajeblair: counting business days is tricky.  The last two meetings were on successive business days for me (Friday/Monday).16:01
ruhejeblair: re "we'll have a few more people next week" is it the people we already know, or new hires?16:01
persiaOr new interested parties.16:01
jeblairruhe: i meant people we know; but the other thing would be cool too.  :)16:02
persiaPart of why I'm more active now than I have been since early Feb is because I've a need for a means to discuss issues and activities for a different project, and despite the pre-MVP state, storyboard seems better than anything else for that purpose.16:03
ttxpersia: cool! Happy to have you on board!16:04
persiaFor some value of "on board" :)16:05
* ttx goes back to his favorite activity: get LP to accept status changes on busy bugs16:06
persiaOn that note: What's the policy on branding (images, etc.)?  Ideally I'd like to not use the OpenStack logo for non-OpenStack stuff, but preserve as much of the "Storyboard" identity as possible.16:06
ttxpersia: jeblair might know better than me16:08
jeblairpersia: i think it's hardcoded currently, but i believe krotscheck said it should be possible to set up logos in a config file; i think that's what we should do16:09
persiaI'm certain it's hardcoded currently.  I mostly wanted to know how much I should be changing.16:09
persiaIf I can do logos only, and clean up some of the text that implies Storyboard is OpenStack only, and have the logos/colors build-time configurable, then I'm happy to write all the patches.16:10
persiaIf there's complications there for reasons of Storyboard identity, or some unexpected "look & feel" concern, etc., then I'd want to be more careful.16:11
persiaAnd if it shouldn't be configurable, then I'd carry out-of-tree patches.16:11
persia(so I'll proceed with making images configurable, and we can decide from there later)16:11
ttxI'm pretty sure we can and should make things configurable. It's designed for OpenStack needs, but doesn't raelly want to prevent others from using it16:12
persiaLet's defer until I have a patch.16:12
persiaKnowing there is at least prior discussion of the concept of skinning gives me enough confidence that it becomes worth writing.16:13
*** mfer has quit IRC16:24
*** che-arne has quit IRC16:27
krotscheckpersia: https://storyboard.openstack.org/#!/story/4316:55
krotscheckSorry about missing the meeting. Insomnia struck16:55
*** krotscheck has quit IRC17:00
*** krotscheck has joined #storyboard17:01
persiakrotscheck: The approach I was considering was a third option: to have it be build-time configurable.  Is there a strong reason to make it deploy-time configurable instead?17:22
krotscheckpersia: Not really. Honestly, if you’re going to do it that way, adding a .gitignore for a theme.less file, and tweaking the grunt less invocation to collect less files instead of just reading main?17:25
persiaOoh.  I like that.17:26
krotscheckThat way you can override any of the less variables.17:26
krotscheckpadding, color, font, etc etc etc17:26
krotscheckFair warning, I don’t know how feasible that is. I know LESS doesn’t do if-file-exists includes.17:26
persiaNo worries.  Gives me a reason to learn Grunt.17:26
krotscheckSo it would have to be grunt that collects/compiles it all17:27
krotscheckpersia: Make sure theme.less is the _last_ file in the less invocation then. Last variable wins.17:27
persiaWhat about the logo images.  Should that be openstack because that's also the storyboard logo, or should it be the logo of the project?17:27
persiaRight.  theme.less will be last.17:27
krotscheckpersia: Sec, I know there’s a way to have less include an image as a base64 in the CSS.17:28
krotscheckThat would take care of the app project.17:28
krotschecksorry17:28
krotscheckthe app logo17:28
krotscheckIndividual project logos would probably be upload based.17:29
persiaI don't mind telling folk to put stuff in images/theme17:29
*** jcoufal has quit IRC17:29
persiaAnd have grunt only use those if they exist, otherwise use images/openstack17:29
persiaWell, "project" is overloaded.17:29
krotscheckpersia: Same with favicon17:29
persiaThere's "project" the data-level component in storyboard17:29
persiaand "project" the governance entity that supervises the projects17:30
persiaI'm thinking the logo of the latter.17:30
krotscheckYou know, we could always give storyboard its own logo17:30
krotscheckThat’s how Jira handles it I believe.17:30
persiaThat works too, but it needs someone other than I to generate it.17:30
krotscheckLet’s put that on the agenda17:31
krotscheckNeed to make sure we have consensus there.17:31
krotscheckI can generate something, that’s no problem.17:31
persiaWhether to create a logo for storyboard or use the logo of the governing body (e.g. OpenStack)?17:31
krotscheckYup17:31
persiaI'd really prefer the latter because I think it provides brand identity to the users.17:31
krotscheckI’m ambivalent. Giving storyboard its own logo seems easier.17:32
persiaWhereas the storyboard.foo URL and name "Storyboard" would provide brand identity for storyboard in all environments.17:32
persiaIf you're ambivalent, I'll submit a patch for the way I like (if I can get it to work in time), and we can discuss at the meeting.17:33
krotscheckWOrks for me17:33
persiaIf you cared, I'd defer to your decision, since you wrote so much of it and probably have the best sense of it's identity17:33
*** hashar has joined #storyboard17:34
krotscheckWell, my ask is always: Make it as easy as possible to adopt.17:37
persiaAs an adopter, I'm very much considering that aspect :)17:38
krotscheckI want someone to go “pip install storyboard” and have them be run through a questionnaire that works like magic.17:38
krotscheck“Would you like us to configure mod_wsgi for you?” kind of things.17:38
persiaHmmm.  I tend to build systems from sources, so hadn't really considered that.17:39
persiaIf you want pip install, then build-time isn't really the right time, is it?17:39
krotscheckI want to hit the startup that needs a ticketing system.17:39
krotscheckpersia: Well, for a one command install, our separation of webclient and api won’t work that well either.17:40
persiaIt works just fine.  pip supports dependencies.17:40
krotscheckOh. Well then!17:41
persiaSo `pip install storyboard` just installs the API server, and `pip install storyboard-webclient` installs both (or vice versa)17:41
persiaYep.  Just checked.  We'd just add one to the other's requirements.txt, and it ought just install both.17:43
persiaAnd folk like me that like discrete and complicated probably aren't using pip anyway, so don't mind.17:43
persiaLooking through what documentation, hints, tutorials, and questions I can find, I don't believe we can have less support alternate themes *except* at build-time.17:50
*** hashar has quit IRC17:51
persiaThere seem to be several folk trying to do workarounds, but all the workarounds they report end up still being essentially build-time, or involve compiling the less in the browser, which seems wrong.17:51
persiaso `pip install storyboard-webclient` will end up being the Openstack theme, and the user will need to do some local build to get their own theme.17:51
krotscheckpersia: Well, let’s think about this. pip installs from source, yes? Given that it’ll have to pull down nodeenv to generate the js compile, would it be possible to have the webclient install be ‘download’ -> ‘configure/theme’ -> ‘compile’ -> ‘install’?17:54
persiaSo make it happen in setup.py?17:55
persiaBut we don't even *have* that for storyboard-webclient17:56
krotscheckWell, we set up the webclient with just enough to get it to build and test.17:56
persiaThat works, but it ends up replicating a lot of what Gruntfile.js is doing.17:57
krotscheckMaybe the first question to ask is: Should we be using a python-style installer for something that lives in a javascript toolchain?17:57
persiaAh, so maybe `pip install storyboard-webclient` isn't the right command?17:57
krotscheckMaybe, yeah17:58
krotscheckTHere’s the whole “npm” way of doing things.17:58
krotscheckWhich doesn’t actually have a package-style installer17:58
persiaWHat do you like instead?  npm?  bower?  something else?17:58
krotscheckOr does it.17:58
krotscheckHrm.17:58
persiaI don't see a way to have npm do any sort of build step.  It seems to just put tarballs in place.18:00
krotscheckpersia: There’s a way to execute scripts18:01
krotscheckpersia: https://www.npmjs.org/doc/misc/npm-scripts.html18:02
persiaThen we're done.18:02
persiaSo https://storyboard.openstack.org/#!/story/43 becomes a matter of18:02
krotscheckNot so fast: that command requires that we publish storyboard to the npm repo18:02
persia1) make it all npm-oackaged nicely18:02
persia2) have the package recompile the less after installed (or when reconfigured, etc.)18:03
krotscheckpersia: ....18:03
krotscheckyeeessssss18:03
krotscheckI can see where you’re going18:03
krotscheckIt could even autogenerate the theme.less file18:03
persiaThis will break all the nice grunt automation stuff that is in place now.18:03
persiaMind you, much of it could be rewritten differently, but it will require some significant work to get back to the current edit/test cycle speed.18:04
krotscheckpersia: It sounds to me like we can get there incrementally. The first step would be to add the theme.less piece.18:05
persiaMakes sense.18:05
krotscheckI don’t think that’d break much18:05
persiaFor reference, I get the impression from some looking about that node-gyp replaces npm-scripts18:05
persiaAnd there's a grunt-node-gyp module, which reduces the gruntfile transition pain.18:06
krotscheckThat might be trying to make grunt serve two purposes18:06
krotscheckIt’s great as a build/test automation tool,18:07
krotscheck...but do we want it handling our install?18:07
persiaMy thought was  for transition: initially as various bits transition to use npm and node-gyp, the gruntfile can preserve developer UI.18:07
persiaOnce we have enough in place, we can transition developer UI without losing too much functionality.18:08
persiaOoh, and gyp uses Makefiles, so I don't have to learn a new syntax :)18:09
krotscheckMaaaaybe.18:09
krotscheckLet’s get as far as whitelabeling it, and then work our way through the installer.18:09
krotscheckI’m not convinced having npm doing our dev setup is a good idea.18:09
persiaAh, so folk can manually add to the (initially mostly comments) theme.less, and get their theme that way?18:10
persiaAnd I didn't mean to imply npm would do dev setup, only that Grunt would rely on npm for things like compiling less, compressing images, etc.18:11
persiaOn the other hand, keeping it fairly small increases the chance I do something before the next storyboard meeting18:11
krotscheckSo, I was thinking: Grunt remains the compiler. If someone on some machine somewhere invokes ‘npm -g install storyboard’, it’ll run a series of helpful preconfiguration scripts that eventually kick off grunt, but handle creation of a default theme.less, etc.18:12
persiaSo grunt needs to be installed on all end-user nodes?18:13
persiaI was thinking make was more likely to be already installed.18:14
krotscheckWell, grunt is an npm package. During setup it’ll just install that in node_modules and invoke it from node_modules/.bin/grunt18:15
persiaOK.18:15
krotscheckAFK for a bit, I have an inspector I have to talk to.18:16
krotscheckHe might have gadgets18:16
persiaNo worries.  I'm expecting to be pulled into a meeting anytime in the last 10 15 minutes.18:17
*** david-lyle has quit IRC19:00
*** hashar has joined #storyboard19:01
*** jcoufal has joined #storyboard19:04
*** david-lyle has joined #storyboard19:47
*** jcoufal has quit IRC21:34
openstackgerritA change was merged to openstack-infra/storyboard-webclient: Fixed contenteditable  https://review.openstack.org/8384722:00
*** hashar has quit IRC22:09
*** mfer has joined #storyboard22:23
*** mfer has quit IRC22:32
*** david-lyle has quit IRC23:30
*** david-lyle has joined #storyboard23:53
*** david-lyle has quit IRC23:58

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!