IRC logs for #farmOS, 2016-10-06 (GMT)

2016-10-05
2016-10-07
TimeNickMessage
[21:40:31]* JustTB1 has joined #farmos
[21:42:16]* JustTB has quit (Ping timeout: 244 seconds)
[23:57:04]* kadaan has joined #farmos
[00:26:30]* kadaan is now known as kadaan_
[00:26:37]* kadaan_ is now known as kadaan
[01:05:39]* kadaan has quit (Ping timeout: 256 seconds)
[01:06:11]* kadaan has joined #farmos
[04:14:50]* kadaan has quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
[06:50:35]* M-DzzzzzzR has quit (Remote host closed the connection)
[07:04:56]* M-DzzzzzzR has joined #farmos
[10:04:47]* Kadaan_ has joined #farmos
[10:12:07]* mstenta has joined #farmos
[10:12:14]<Kadaan_>mstenta: Played around for a while last night with getting farmOS setup and making the drop down change. If you have some time, I'd love a quick walk through on farmOS setup, architecture, drupal, etc. My normal googling/hacking resulted in some progress, but my familiarity with drupal docs is non-existent so it was hard to say if I was even going in the
[10:12:14]<Kadaan_>right direction.
[10:12:26]<mstenta>Hi Kadaan_
[10:12:40]<Kadaan_>Hey!
[10:12:40]<farmBOT>eh oh
[10:12:56]<mstenta>Cool - sure thing
[10:13:04]<mstenta>I'm just reading the recent docker posts too
[10:13:20]<Kadaan_>I posted my docker experiences in github.
[10:13:31]<mstenta>I think I have a pretty clear plan for that now too... I'll post my thoughts there now...
[10:13:37]<Kadaan_>Nice
[10:16:55]<mstenta>so yea - the issue you're working on is actually a great place to start because it doesn't actually require any coding... and it will give you a good overview of a lot of the configuration and module packaging processes
[10:17:09]<mstenta>which is really a lot of what farmOS is
[10:17:57]<mstenta>there is definitely a good deal of custom code too, but i try to keep that to a minimum - so it is largely just configuration of drupal modules, and that config is exported to code
[10:18:24]<mstenta>this is the basis of a lot of it: http://drupal.org/project/features
[10:18:47]<mstenta>the Features module essentially gives you the ability to export config into new "features modules"
[10:18:56]<Kadaan_>So for changing to a dropdown, I tried changing the widget module to 'option' and the type to 'option_select'. Then replaced the settings with 'multiple' => FALSE. It seemed to change the page. The result was a list with all areas (- None -, Barn, Field 1, etc.), but no drop down arrow. The resultant HTML had 'multiple'=multiple on it. If I removed that,
[10:18:56]<Kadaan_>it then has a dropdown arrow and all looks good.
[10:19:02]<mstenta>most of the farmOS modules are features modules - along with some other custom stuff added in
[10:19:24]<mstenta>nice!
[10:19:37]<mstenta>we will need to leave "multiple" = true, though, for backwards compatability
[10:19:48]<mstenta>because we need to be able to reference multiple areas
[10:20:02]<mstenta>that will make it into a select list, rather than a dropdown
[10:20:14]<mstenta>which allows multiple selections
[10:20:21]<Kadaan_>Sadly, with multiple=true it is not a dropdown. It is a scrollable list
[10:21:06]<Kadaan_>The irritating part was I couldn't figure out how to get the behavior to change by modifying the configure
[10:21:10]<mstenta>yea that's true - but that's actually what we want... "dropdown" is a misnomer in the feature request
[10:21:29]<mstenta>it will need to be a select list... because we need to maintain the ability to select multiple areas
[10:21:43]<mstenta>what behavior do you mean?
[10:21:48]<Kadaan_>If that is what we want, then I think there is abetted module for the job
[10:22:22]<Kadaan_>Behavior: I was trying to make the field a single select dropdown.
[10:22:42]<Kadaan_>I couldn't get it to work.
[10:23:51]<Kadaan_>I tried specifying 'multiple' => FALSE, which according to the module code should get it to switch to single select with a dropdown arrow
[10:25:38]<Kadaan_>And with 'required' => TRUE it should have replace '-- None --' with '-- Select an item--'. Didn't work for me. I must have the configure in the wrong place, but the docs do not clearly lay out how to configure it
[10:27:33]<Kadaan_>For example in many places the docs show the config as being specified like '#multiple' => FALSE. It isn't clear if the belong in the settings array, etc.
[10:31:55]<Kadaan_>Why wouldn't we use something like https://www.drupal.org/node/1862900
[10:32:59]<Kadaan_>There is another module that seemed good too. Can't find it now on my phone
[10:33:37]<mstenta>So... are you making changes in code? or in the UI?
[10:34:00]<mstenta>You can do either... I was going to walk you through the UI-based approach
[10:34:23]<mstenta>Doing it in code works fine too - but it might require a bit more knowledge of exactly what you're changing... and how to ensure that it takes affect
[10:35:34]<Kadaan_>In the "code". I was tweaking https://github.com/farmOS/farm_log/blob/7.x-1.x/farm_log_activity/farm_l...
[10:35:41]<mstenta>Re: improved_multi_select - yea we can definitely consider something like that! i've used something similar on other sites... i'm inclined to say we wait until Drupal 8, just to keep the number of modules simple in D7
[10:36:09]<Kadaan_>Changing lines 37 to 43
[10:36:26]<mstenta>Kadaan_: ok cool - so the other way to do it would be to enable the Field UI module - and make the changes in the site itself
[10:36:36]<mstenta>Kadaan_: and then re-export the feature to include the changes in code
[10:36:58]<Kadaan_>Re improved_multi_select: that is fine
[10:36:59]<mstenta>and how is your dev site set up right now? are you using Docker?
[10:37:18]<Kadaan_>Yes. The way listed in the github issue
[10:37:39]<Kadaan_>FieldUi seems nice. Didn't know about it
[10:37:55]<mstenta>ok, and how are you editing the file? are you running "docker exec ... /bin/bash" to get into the container, and then editing the code with vim or something?
[10:38:01]<Kadaan_>I think I know where to enable that
[10:38:03]<mstenta>(just getting a sense of all the variables)
[10:38:50]<mstenta>yea - even if you do work mostly in code, it's really good to get familiar with the UI - especially the Features module
[10:39:14]<mstenta>because you can actually use it along with the Diff module to view the changes you've made as a diff directly in the Features config
[10:39:32]<mstenta>in /admin/structure/features
[10:39:34]<Kadaan_>I moved the farm modules from profile to sites
[10:39:40]<mstenta>oh ok
[10:40:00]<Kadaan_>So that I could "mount" and edit via Atom
[10:40:04]<mstenta>ok cool
[10:40:10]<mstenta>that works
[10:40:28]<Kadaan_>Had to move the farm_theme or everything wad screwed up
[10:40:29]<mstenta>FYI - you can copy them instead of move... modules in sites will override those in profiles
[10:40:54]<mstenta>hmm yea i saw you mention the theme in the docker issue... that was something that i still needed to debug - i was seeing the same issue in my earlier testing
[10:41:28]<Kadaan_>Really? It felt like when I did that I got an error regarding redefinition something
[10:41:40]<mstenta>fyi: thedude's instructions in that issue are not necessarily the recommended setup... i forget exactly what his approach was... but it was part of the process of honing in on the "right" way, and i think i took a slightly different approach
[10:41:46]<Kadaan_>Would have to repro to get it exactly
[10:41:56]<mstenta>Kadaan_: hmm not sure
[10:42:13]<Kadaan_>His were using docker-compose
[10:42:25]<mstenta>but yea... ultimately my plan with docker is to essentially mount the entire /var/www/html folder - so you have the whole codebase locally
[10:42:35]<Kadaan_>Forgot to mention that I was working in the docker branch
[10:42:53]<mstenta>good - the the docker branch is the latest stuff i had worked on
[10:43:05]<mstenta>it will be merged into 7.x-1.x once we settle on things
[10:43:27]<mstenta>right now 7.x-1.x only has the simple Dockerfile that @rjsteiner contributed
[10:43:37]<Kadaan_>but just running docker didn't get me up and running. I could connect it to MySQL on my host
[10:43:38]<mstenta>that was what kicked off the whole docker initiative
[10:44:08]<mstenta>mm yea i saw you mention that too... i'm not very familiar with getting docker to connect to mysql on the host
[10:44:15]<mstenta>i did get it working to connect to a mysql db in another container
[10:44:24]<mstenta>(that's what the docker compose does too_
[10:44:31]<Kadaan_>thedude459's docker-compose sets up a MySQL container called FB
[10:44:35]<Kadaan_>db
[10:44:40]<Kadaan_>Yup
[10:44:46]<Kadaan_>That is what I did
[10:45:06]<mstenta>oh so... are you using thedude459's branch? or the docker branch?
[10:45:12]<mstenta>they are different
[10:45:21]<mstenta>he used different base images if i remember correctly
[10:45:27]<Kadaan_>docker branch in farmOS/farmOS
[10:45:31]<mstenta>ok
[10:45:32]<mstenta>cool
[10:46:05]<Kadaan_>Using this: https://github.com/farmOS/farmOS/blob/docker/docker-compose.yml
[10:46:21]<mstenta>FYI - in parallel with the docker branch in farmOS, I'm also working on a docker branch in the farmOS.org repo (for documentation)
[10:46:22]<mstenta>https://github.com/farmOS/farmOS.org/compare/docker
[10:46:34]<mstenta>ok cool - that's good
[10:47:05]<mstenta>so once we get things figured out and merged into 7.x-1.x, i'll also push the documentation up to farmOS.org that will outline exactly how to get up and running
[10:47:21]<Kadaan_>I did all that except: sudo docker inspect --format '{{ .NetworkSettings.Networks.farmos_default.IPAddress }}' farmos_farmos_1
[10:47:31]<mstenta>oh yea that's just to get the IP address
[10:47:36]<mstenta>but it's not actually necessary
[10:47:39]<mstenta>i might remove that piece
[10:47:49]<Kadaan_>So I was connected to the farmOS page via slink from Kitematic
[10:47:52]<mstenta>(still a work in progress)
[10:48:05]<mstenta>i'm not familiar with slink/kitematic
[10:48:14]<Kadaan_>I finished the install as you documented
[10:48:40]<Kadaan_>The UI came up, unthemed
[10:48:53]<mstenta>ok yea - i saw the same thing, but didn't get into debugging it yet
[10:49:02]<mstenta>interesting that you said moving the theme to sites fixes it...
[10:49:07]<Kadaan_>I moved farm_theme from profiles to sites
[10:49:17]<mstenta>hmm interesting
[10:49:24]<mstenta>i will have to look deeper at that
[10:49:31]<Kadaan_>I moved the farm specific modules only from profiles to sites
[10:49:43]<mstenta>cool - and everything seems to be working?
[10:49:48]<Kadaan_>Reloaded the UI, it was themed an all worked
[10:49:51]<mstenta>are the maps working? or did you have to get a google api key?
[10:50:16]<Kadaan_>The map on the main page worked
[10:50:31]<Kadaan_>But not on the add area page
[10:50:47]<mstenta>hmm
[10:50:49]<Kadaan_>I didn't configure a google API key
[10:50:55]<mstenta>lots of little things to figure out... :-/
[10:51:09]<mstenta>so yea... google recently started requiring an api key for their map layers
[10:51:24]<Kadaan_><sigh>
[10:51:38]<mstenta>fortunately, they grandfathered in any domains that were using it previously, so i didn't need to get one for farmos.net sites
[10:52:18]<mstenta>my plan is to a) make the google maps optional during install, and b) provide a simple field to enter an API key during install (with instructions to get one)
[10:52:32]<mstenta>need to find another map provider that doesn't require a key
[10:52:47]<mstenta>but also... google maps isn't ideal for everyone...
[10:53:03]<mstenta>in some areas of the globe, they are off by many meters
[10:53:08]<Kadaan_>Aren't too many other choices are there
[10:53:12]<mstenta>yea... :-/
[10:53:24]<Kadaan_>Bing,not sure if it is better
[10:53:31]<mstenta>i wish there was a good open source option out there
[10:53:38]<mstenta>supported by a non-profit or something
[10:53:52]<mstenta>but alas - satellites aren't cheap
[10:54:21]<mstenta>ok, well... back to the issue at hand...
[10:54:35]<mstenta>were you able to enable the Field UI module?
[10:56:13]<Kadaan_>Nor all the hosting infra for maps
[10:56:15]<Kadaan_>Nor all the hosting infra for maps
[10:57:11]<mstenta>yea
[10:57:11]<Kadaan_>I'll finally be at my computer in a few minutes if we can look at the dropdown change
[10:57:21]<mstenta>oh ok cool - forgot you were on your phone
[10:57:25]<mstenta>no problem
[10:58:25]<Kadaan_>Will be at a computer soon. Have to feed goats
[10:58:55]<mstenta>:-) cool
[10:59:10]<mstenta>i'll reply to the docker issue in the meantime
[11:00:14]* kadaan has joined #farmos
[11:01:32]<mstenta>kadaan: do you have an android phone? curious what irc client you use
[11:01:39]<kadaan>mstenta: Will be at a computer in 30. Have to feed the goats
[11:01:47]<kadaan>I'm on an iphone and using irclcoud.
[11:02:21]<kadaan>Enabled "FieldUI" in modules. Don't see "Diff" module
[11:03:44]<mstenta>kadaan: should be there...
[11:04:06]<mstenta>unless... it does seem like there might be an issue with stuff in profiles
[11:04:16]<mstenta>and the diff module would be in profiles/farm/modules/contrib
[11:04:31]<kadaan>How does one enable it in the UI?
[11:04:32]<kadaan>BRB
[11:04:34]<mstenta>but if there is an issue with profiles... i think you would be seeing a lot more broken stuff in general
[11:04:52]<mstenta>k, no rush
[11:05:02]<mstenta>modules are enabled in /admin/modules
[11:05:32]<mstenta>if you just go to that page and type "diff" it should filter down and show it to you
[11:05:45]<mstenta>you said you enabled field ui... did you do it through /admin/modules?
[11:52:25]<kadaan>Back
[11:54:34]<kadaan>Found it and enabled it.
[11:56:50]<kadaan>Trying to figure out the field UI now
[11:58:06]<mstenta>kadaan: hi welcome back :-)
[11:58:08]<mstenta>kadaan: there is a module called Field UI that you need to enable through /admin/modules as well
[11:58:16]<kadaan>Did that too
[11:58:27]<kadaan>Then web to Structure -> Features
[11:58:40]<mstenta>ok cool
[11:58:43]<mstenta>so...
[11:58:46]<mstenta>two things...
[11:58:50]<kadaan>Farm Log
[11:59:00]<mstenta>first, yea open Structure > Features
[11:59:08]<mstenta>that will show you all of the "feature modules" in farmOS
[11:59:18]<mstenta>and it will also show you whether they are "default" or "overridden"
[11:59:37]<mstenta>if they say "default" it means that the config in the site is the same as the default config defined in code
[11:59:38]<kadaan>farm_log showed an everride due to my manual changes.
[11:59:42]<kadaan>I reverted it.
[11:59:54]<mstenta>if they say "overridden" then it means the config in the database is different than the code
[12:00:23]<mstenta>ok cool... so that would explain why you weren't seeing the changes... because the database config was still using the old config
[12:00:23]<kadaan>Went to farm_log_activity
[12:00:49]<mstenta>but some advice: it's better to make the changes through the UI than through the code...
[12:00:50]<kadaan>I was seeing changes. Just not what I expected.
[12:01:20]<mstenta>because the UI will make ALL the necessary changes, whereas when you do it in the code you might miss something
[12:01:28]<kadaan>Cool. I reverted the changes via atom
[12:01:31]<mstenta>ok cool
[12:01:33]<kadaan>fieldUI show "rebuilding"
[12:02:00]<mstenta>yea.. i definitely recommend making the changes in the UI first... then exporting them to code via the Features "re-export" link
[12:02:02]<kadaan>No clue how long that will take. Still "rebuildinhg"
[12:02:17]<mstenta>yup - you need to clear the cache in order for that to finish
[12:02:26]<mstenta>either than or run drupal's cron... i forget which
[12:02:33]<kadaan>done
[12:02:36]<mstenta>great
[12:02:45]<mstenta>so now it's all default again? and the code is unchanged now?
[12:02:55]<kadaan>Yup
[12:03:05]<kadaan>Tried clicking field instances -> default
[12:03:11]<kadaan>Didn't get me to: log-farm_activity-field_farm_area
[12:03:34]<kadaan>"recreate" seems promising
[12:04:16]<mstenta>yea it is!
[12:04:19]<mstenta>features is AWESOME
[12:04:27]<kadaan>Joining a work meeting. Might be a little slow on the response.
[12:04:28]<mstenta>but also can be really confusing and frustrating
[12:04:38]<mstenta>you're sort of deep diving into advanced drupal stuff here... ;-)
[12:04:43]<mstenta>ok np
[12:04:54]<mstenta>i'll give some instructions for using field ui now...
[12:05:32]<mstenta>that's why i also recommend always making changes in the UI and letting Features handle the code changes
[12:05:40]<mstenta>because it has intelligence to know what needs to change
[12:05:58]<mstenta>ok so field ui...
[12:06:35]<mstenta>go to /admin/config/log/types
[12:06:42]<mstenta>that is the list of all "Log" entity types
[12:06:58]<mstenta>and with the Field UI module turned on, you will also see a "manage fields" link next to each
[12:09:04]<mstenta>so for activity logs specifically, you should end up here: /admin/config/log/types/manage/farm_activity/fields
[12:09:50]<mstenta>and then you'll see the "Areas" field, which is type "Term reference" and has a widget of "Autocomplete term widget (tagging)"
[12:14:02]<kadaan>Cool
[12:14:23]<kadaan>Was able to "easily" switch log_activity areas field to select
[12:14:44]<mstenta>great
[12:14:56]<mstenta>now if you look at the Features page again, you should see that it's overridden
[12:15:06]<mstenta>and you can also click "overridden" to see a diff of the code
[12:15:17]<kadaan>Was able to diff
[12:15:26]<mstenta>cool
[12:15:31]<kadaan>Though I get a bunch of errors at the top like: Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; _DiffOp_Copy has a deprecated constructor in include_once() (line 3479 of /farmOS/farm/includes/bootstrap.inc).
[12:15:42]<mstenta>ah... you know what that is...
[12:15:58]<mstenta>the Drupal 7 docker image that we are inheriting from uses PHP 7
[12:16:02]<kadaan>k
[12:16:15]<mstenta>i'm not sure we want that...
[12:16:25]<kadaan>What is the correct PHP version
[12:16:31]<kadaan>I'm new to PHP too.
[12:16:50]<mstenta>well, technically D7 supports PHP 7 - but not all modules do... most were build for PHP 5.6
[12:16:55]<mstenta>or 5.x I should say
[12:17:00]<kadaan>Got it.
[12:17:08]<mstenta>(PHP devs skipped version 6 - so there's no PHP 6)
[12:17:28]<mstenta>i'll mention that in the docker issue... that we may want to go back to 5.6 to avoid those issues
[12:17:37]<mstenta>but for farmOS 2.x on Drupal 8, we can use PHP 7
[12:17:56]<kadaan>Should we switch to: https://github.com/docker-library/php/blob/1c56325a69718a3e3cf76179e75d0...
[12:18:05]<mstenta>yea potentially
[12:18:32]<mstenta>it means we would have to just completely abandon the idea of having our image inherit from the official drupal images
[12:18:36]<mstenta>at least for 7
[12:18:46]<mstenta>but that would be ok for me... they aren't really doing anything special
[12:18:55]<mstenta>and they inherit from the php images themselves
[12:18:59]<mstenta>so we could just cut out the middle man
[12:19:13]<mstenta>i might work on that today
[12:19:16]<mstenta>if i have some time
[12:19:37]<mstenta>ok so... with regard to the field changes...
[12:20:11]<mstenta>once you've tested it and you think it's done, you can just go to the feature and re-export it
[12:20:22]<mstenta>this will give you a .tar.gz file with the new module code
[12:21:06]<mstenta>the farm_log_activity module is actually a sub-module of farm_log
[12:21:14]<mstenta>(in a sub-folder of the farm_log git repo)
[12:21:41]<mstenta>so... right now you don't actually have that Git repo checked out locally
[12:22:01]<mstenta>you have the farmOS repo, which is just the distribution... the distribution downloads all the packaged modules, not the individual git repos
[12:22:24]<mstenta>(that's what i was referring to in my last github docker comment - that we will probably also want to provide a way of automatically checking out all the individual git repos)
[12:24:39]<kadaan>Just replaced the modules in sites with git cloned versions
[12:25:49]<kadaan>Farm Delivery and Farm CSA show up a little screwt
[12:25:55]<kadaan>screwy
[12:27:00]<kadaan>Is "re-export" the same a "recreate"
[12:27:10]<mstenta>ah no... get rid of those...
[12:27:16]<mstenta>those are old and no longer maintained
[12:27:18]<kadaan>k
[12:27:27]<mstenta>did you clone them because they were in the github.com/farmOS repos?
[12:28:04]<mstenta>yes - "recreate"... sorry, not "re-export"
[12:28:45]<mstenta>so... taking a step back...
[12:29:01]<mstenta>if you were to create a commit off of that, and a pull request, that would be the general process...
[12:29:01]<kadaan>Yes
[12:29:21]<kadaan>Can we "tag" FarmCSA and FarmDelivery with "This project is no longer maintained."
[12:29:41]<mstenta>sure - you mean in the README.md?
[12:32:09]<kadaan>Something like: https://github.com/kadaan/farm_csa
[12:32:45]<kadaan>Then it shows up when you see it in the list.
[12:33:26]<mstenta>oh gotcha, just in the tagline, sure!
[12:33:33]<mstenta>maybe i'll also add a note at the top of the readme
[12:33:49]<mstenta>or maybe i should just delete them
[12:34:46]<mstenta>i left them there in case anyone in the future wanted to pick them up
[12:35:04]<mstenta>but at this point they are so far behind that it would be less work to start fresh
[12:35:38]<kadaan>It is sad to have them deleted.
[12:35:47]<kadaan>Wouldn't like to lose the code.
[12:35:53]<mstenta>mmm yea...
[12:36:00]<mstenta>maybe i'll move them to github.com/mstenta
[12:36:08]<mstenta>and put up a note that they are just there for archival purposes
[12:36:28]<mstenta>they are not supported, so i don't think they should be in github.com/farmOS... at least not until they are supported
[12:36:31]<kadaan>Is there any way to recreate log_activity and have it save to disk? Or do I have to download the tarball?
[12:36:39]<kadaan>That makes sense.
[12:37:25]<mstenta>kadaan: i think Features can do that yes... i KNOW it can do that in Drupal 8... not sure about Drupal 7... i've always just done the tarball approach - my fingers have the muscle memory to download and commit very quickly now :-)
[12:37:36]<kadaan>Hehehe
[12:37:59]<mstenta>but also, i typically work via phpstorm, with git checked out locally, and the site code in a vagrant vm
[12:38:23]<mstenta>so i actually need to save it outside the vm anyway
[12:38:33]<mstenta>(but now i'm maybe moving over to docker for dev)
[12:39:16]<kadaan>Hopefully you will
[12:39:24]<kadaan>Do we need to remove the autocomplete setting too?
[12:39:27]<kadaan>'settings' => array(
[12:39:27]<kadaan> 'autocomplete_path' => 'taxonomy/autocomplete',
[12:39:29]<kadaan> 'size' => 60,
[12:39:29]<kadaan> ),
[12:40:46]<mstenta>did Features remove it automatically?
[12:40:50]<kadaan>No
[12:41:06]<mstenta>hmm, that's surprising
[12:41:18]<kadaan>At least it didn't show it removed in the diff.
[12:42:32]<mstenta>yea - odd... oh well... no we don't need it... but we might need the settings array itself (just empty)
[12:42:44]<mstenta>so change to:
[12:42:50]<mstenta>'settings' => array(),
[12:43:07]<mstenta>this is where things get a little risky though...
[12:43:16]<mstenta>with Features
[12:43:23]<mstenta>i don't think we'll hit any issues with this specifically
[12:43:44]<mstenta>but basically the way Features works is by generating the code that it "thinks" should be there... and compares it against the module code
[12:43:58]<mstenta>so when you start to make changes manually, it could go against what Features things
[12:44:00]<mstenta>thinks*
[12:44:12]<mstenta>usually that only happens in more complex cases though...
[12:44:21]<mstenta>i think we'll be fine here if you manually change those lines
[12:44:23]<kadaan>k
[12:44:33]<kadaan>Well. I think what I was going to do is figure out the change.
[12:44:40]<kadaan>Then manually do it across all repos.
[12:44:48]<mstenta>yea that works
[12:44:55]<mstenta>cool yea - that was the other thing i was going to mention...
[12:45:13]<mstenta>i would want to see ALL the "areas" field widgets changed to select, for consistency
[12:45:37]<mstenta>and that means not just in farm_log_* modules... but also any other modules in farmOS that use that field
[12:45:43]<kadaan>Also, would it be worth making all the farm_* modules git submodules of farmOS
[12:46:02]<kadaan>So I don't have to clone 25 different repos :)
[12:46:19]<mstenta>haha yea... it's another good question...
[12:46:28]<mstenta>there's been some good discussion about that in general here: https://www.drupal.org/node/2784927
[12:46:33]<kadaan>Not sure how drupal will react
[12:47:08]<mstenta>i don't think Git Submodules is necessarily the right approach... but i have considerred just including their code directly in the farmOS distro repo, instead of in separate projects
[12:47:11]<kadaan>I'm thinking keep the repos separate, but: https://git-scm.com/docs/git-submodule
[12:47:28]<kadaan>That way you have the advantages of both.
[12:47:37]<mstenta>maybe... the big question would be whether or not the drupal.org packaging script can handle that
[12:47:46]<mstenta>because that's what builds the farmOS tarballs
[12:48:00]<mstenta>and that essentially uses Drush Make to pull in all the various modules
[12:48:10]<mstenta>i don't think it supports Git submodules
[12:48:32]<kadaan>https://www.amazeelabs.com/en/blog/drupal-git-submodules-cookbook
[12:48:41]<kadaan>drush dl module_name --package-handler=git_drupalorg --gitsubmodule
[12:49:45]<mstenta>hmm yea it's worth considerring
[12:49:47]<mstenta>also found this
[12:49:47]<mstenta>https://randyfay.com/content/drupal-deployment-git-submodules
[12:50:02]<mstenta>want to post those links and ideas to that issue i linked above?
[12:50:39]<mstenta>i think those things are mainly up for consideration in Drupal 8 ... not sure if we should make that change in Drupal 7
[12:51:23]<mstenta>i'm eager to get working on D8 asap... and thus the farmOS 7.x-1.x branch will remain as-is
[12:51:44]<mstenta>right now i'm thinking that we'll get an official 1.0 out on Drupal 7, and then focus all future efforts on 2.x for 8
[12:52:02]<kadaan>That sounds great.
[12:52:16]<kadaan>If I can get more comfortable in drupal, I'll help as time allows.
[12:52:19]<mstenta>no sense in spending a whole lot more time on 7 in my opinion
[12:52:23]<mstenta>great!
[12:52:43]<mstenta>but 8 does change a lot of things... so it will take some time to adapt
[12:52:56]<mstenta>i almost wish that you had found farmOS a little later ;-)
[12:53:02]<mstenta>so you could start learning D8 instead of D7
[12:53:18]<kadaan>Hopefully it won't be long.
[12:53:23]<mstenta>but it's good... most of the concepts are the same...
[12:53:30]<mstenta>just might be slightly different processes for development
[12:53:36]<kadaan>Should we replace the autocompletes on things like taxonomy_term-farm_crops-field_farm_crop_family too?
[12:53:53]<mstenta>yea potentially
[12:54:00]<mstenta>let's create a separate feature request for that
[12:54:39]<kadaan>k
[12:54:45]<mstenta>i'd like to take a look and consider the implications first
[12:54:54]<mstenta>i think that field is required
[12:55:23]<mstenta>the nice thing about the autocomplete (tagging) widget, which is not true of the select widget, is it can be used to generate new terms on-the-fly
[12:55:27]<mstenta>aka tagging
[12:55:56]<kadaan>Right.
[12:55:58]<mstenta>so whenever we change away from that, we remove that ability, and force the user to go and create those terms manually ahead of time
[12:56:05]<mstenta>i think that's the right choice for Areas
[12:56:06]<kadaan>Which is part of your discussion before.
[12:56:08]<mstenta>yea
[12:56:18]<mstenta>and maybe it's the right choice for crops too
[12:56:39]<kadaan>Maybe. Just depends on how you come at adding your data.
[12:57:07]<kadaan>I don't even see crops as an asset.
[12:57:10]<kadaan>Where are they?
[12:58:14]<mstenta>so... crops are actually a taxonomy term
[12:58:17]<mstenta>"Plantings" are the asset
[12:58:38]<mstenta>plantings represent an actual planting of a crop... crop is more the general "idea" of a crop / variety
[12:59:04]<mstenta>ie: you might have a crop of "Corn" and a planting called "2016 Corn Planting" that references "Corn" as it's crop
[12:59:26]<mstenta>i recently changed the wording so instead of "Crop" it is "Crop/variety"
[12:59:50]<mstenta>so it's less confusing (still a bit confusing though)
[13:00:02]<mstenta>if you go to Assets > Plantings
[13:00:08]<mstenta>you will see a tab for "Crops/varieties"
[13:00:40]<kadaan>Ahhh
[13:00:51]<kadaan>So you need to define your taxonomy first?
[13:01:39]<mstenta>yes
[13:01:52]<mstenta>well... you can also define it on-the-fly with the autocomplete tagging widget...
[13:01:58]<mstenta>hence why we might want to consider keeping that feature
[13:02:18]<mstenta>in the future... i foresee a feature that allows you to import libraries of crops
[13:02:25]<mstenta>perhaps from specific seed producers
[13:02:52]<mstenta>so you could, for example, pull in all the crops from "Johnny's Selected Seeds" - and then use them to create your plantings
[13:03:30]<mstenta>I also foresee that the crop taxonomy terms will include more data, like "days to maturity" and other necessary data... which can be used to assist in the planning process by automatically generating plans
[13:03:50]<mstenta>there is some discussion about that in github as well... i will find the link
[13:04:26]<kadaan>That would eb great!
[13:04:38]<mstenta>yea! i'm really excited to work on that!
[13:04:47]<kadaan>Another thing that would be really useful and might be a core drupal thing is offline access.
[13:04:58]<mstenta>and i think Drupal 8 will pave the way for some of those things with it's concept of "config entities"
[13:04:58]<kadaan>I have really spotty cell in my fields.
[13:05:05]<mstenta>yea! agreed!
[13:05:24]<mstenta>that's a little tricky... but i think there are some potential approaches
[13:05:58]<mstenta>one idea was to create some simple JS-based apps that do specific things (ie: create an observation with a photo and text) and then sync the data to farmOS when internet is available
[13:06:11]<mstenta>so they could be separate from farmOS, and maintained separately
[13:07:01]<kadaan>True
[13:07:21]<mstenta>Drupal 8 also adds some nice built-in REST API features that will allow things like that to be built
[13:07:47]<mstenta>(we do currently use the RESTful Web Serviced module for D7 to allow some of that, but from what i've gathered it's still lacking)
[13:07:57]<mstenta>Services*
[13:08:21]<mstenta>so it's nice that they've been generalizing and pulling a lot of those things directly into Drupal core in 8
[13:08:30]<mstenta>rather than contrib modules
[13:08:48]<mstenta>that way you know it's maintained and will continue to improve long-term
[13:09:13]<kadaan>Yup
[13:09:25]<kadaan>I will create an issue to dicuss offline access.
[13:10:09]<mstenta>awesome
[13:10:43]<mstenta>yea, so as you can see in general: there's a lot of possibilities and a lot to do! but i hope that i've been setting it all up in a way that makes those things possible!
[13:11:17]<kadaan>It seems pretty awesome and there is a ton that can be gained from getting all this working.
[13:11:43]<mstenta>yea!
[13:11:51]<mstenta>have you watched the talk I gave at NOFA 2016?
[13:12:01]<mstenta>if not, it might be worth checking out if you have time
[13:12:15]<mstenta>it's the best overview-in-video-form that we have right now
[13:12:25]<mstenta>https://www.youtube.com/watch?v=w0ZCu8NsWKE&feature=youtu.be
[13:12:53]<kadaan>I did watch most of that.
[13:12:58]<mstenta>cool
[13:12:59]<kadaan>A little skimming and scanning.
[13:13:04]<mstenta>of course :-)
[13:13:05]<mstenta>it's long
[13:13:50]<mstenta>the slides are available too: https://farmier.github.io/nofa2016
[13:14:06]<mstenta>they have all the mini video demos embedded - so it helps to visualize some of the current features
[13:14:35]<mstenta>but none of it is about development... it's aimed more at farmers who want to see what farmOS can do
[13:15:28]<kadaan>That is where I started.
[13:15:38]<kadaan>Then I requested a hosted instance at farmier.
[13:15:43]<kadaan>And here I am :)
[13:15:44]<mstenta>oh cool
[13:15:47]<mstenta>great!
[13:16:23]<kadaan>Might end up just hosting it on my Windows Home Server, but getting it on Farmier meant I could show it to my wife quickly.
[13:17:26]<mstenta>yea cool
[13:17:49]<kadaan>Is farmier some drupal specific hosting?
[13:18:17]<mstenta>yea, and it's really farmOS specific
[13:18:41]<kadaan>I had been looking at running it on aws as well.
[13:18:49]<kadaan>Wasn't sure what specs were needed though.
[13:19:04]<mstenta>basically set it up as a way for people to try it out quickly, and have it hosted if they don't want to manage that... and hopefully to help support development over time
[13:19:39]<kadaan>Because there is a ton of time in this.
[13:19:56]<mstenta>yup
[13:20:38]<mstenta>i figure it will be a little while before it's mature enough for mass adoption
[13:20:46]<mstenta>but i'm patient :-)
[13:21:23]<mstenta>and it's a really fun project
[13:21:41]<mstenta>but i'm also a bit of an obsessive record keeper myself
[13:23:19]<kadaan>I'd like to be obsessive with it.
[13:23:24]<kadaan>That is why I want something like this.
[13:23:25]<kadaan>https://github.com/farmOS/farm_log/pull/1
[13:25:29]<mstenta>awesome!
[13:25:35]<mstenta>i'll test it out
[13:25:39]<mstenta>thanks!
[13:27:02]<mstenta>my local dev environment got corrupted a few days ago... so i need to get set up again
[13:27:22]<mstenta>the mysql innodb tables got corrupted bad :-(
[13:27:29]<mstenta>in a vagrant vm
[13:29:01]<kadaan>https://github.com/farmOS/farm_soil/pull/1
[13:30:10]<kadaan>Cool
[13:30:22]<kadaan>Got all the repos clones, remotes added, etc.
[13:30:25]<kadaan>I think I develop now.
[13:30:47]<kadaan>Any suggestion for another easy task?
[13:36:34]<mstenta>Hmm
[13:37:03]<mstenta>We talked about time tracking yesterday, right?
[13:37:04]<mstenta>https://www.drupal.org/node/2402943
[13:37:31]<mstenta>I think the first step for that would simply be adding fields to all log types that can collect a "Time spent" value
[13:37:57]<mstenta>(the punch-in/out button and other enhancements could then build upon that later)
[13:38:41]<mstenta>ignore my first comment in that issue... that time_tracker module is only for Drupal 7 - and it only works on nodes
[13:38:55]<mstenta>we can just start with a field for recording time spent
[13:39:48]<mstenta>probably a decimal field with 1 or 2 decimal point precision, which represents number of hours spent - does that sound right?
[13:40:14]<mstenta>so you could say ie: 2 hours... or 1.5 hours... or 0.25 hours
[13:41:18]<kadaan>Yeah.
[13:41:31]<kadaan>That sounds good.
[13:41:38]<kadaan>Will need to figure out how to add it to the db
[13:41:55]<kadaan>and adding the field can be done in the FieldUI.
[13:42:35]<mstenta>nope - drupal + field ui handles all the database stuff behind the scenes :-)
[13:42:40]<mstenta>just add the field and bam!
[13:42:47]<mstenta>it makes the database tables for you
[13:43:09]<mstenta>and when Features sees that a new field is added, it will update existing sites to have the new db tables too
[13:43:40]<mstenta>http://www.reactiongifs.com/wp-content/uploads/2013/03/magic.gif
[13:46:56]<kadaan>Nice
[13:47:56]<mstenta>fyi: i have been namespacing fields with farm_* in their machine names
[13:48:10]<mstenta>so this one can be farm_time maybe
[13:48:20]<mstenta>or farm_time_spent maybe
[13:48:47]* Kadaan_ has quit (Quit: Connection closed for inactivity)
[13:48:49]<kadaan>I like farm_time_spent
[13:48:51]<mstenta>(depending on whether or not we think we might need "farm_time" for something else in the future??)
[13:48:53]<mstenta>yea ok
[13:49:00]<kadaan>Have you looked at running uner HHVM?
[13:50:06]<kadaan>http://hhvm.com
[13:50:57]<mstenta>i haven't
[13:51:03]<mstenta>is that the thing that Facebook made?
[13:51:16]<kadaan>Yes
[13:51:23]<kadaan>To speed up all of their PHP
[13:51:25]<mstenta>ok yea i've heard of it... never used it before
[13:51:26]<mstenta>yea
[13:51:50]<mstenta>i wonder if Drupal works with it
[13:51:56]<mstenta>i think i heard somewhere that it might now
[13:52:05]<mstenta>because of some of Drupal's "magic" stuff...
[13:52:20]<mstenta>specifically the call_user_func_array() function
[13:52:34]<mstenta>which is the basis for Drupal's hook system
[13:52:43]<kadaan>Gotta take the dog out.
[13:52:54]<mstenta>yea i gotta eat some lunch...
[13:52:58]* kadaan has quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
[15:23:57]* kadaan has joined #farmos
[16:37:15]<kadaan>mstenta: Was wondering if we should also add a new Operation to "Done", "Not Done", "Reschedule", and "Clone". The new operation would be "Start".
[16:38:39]<kadaan>We could add a "Start Time" field. When someone uses the "Done" operation, it will then fill the "End Time". The "Time Spent" would be calculated.
[16:39:02]<kadaan>"Time Spent" could also be manually entered.
[17:28:45]<kadaan>Also having a bit of trouble with Administration -> Structures -> Features not detecting the new field I added to Log: Activity. I added the new field via the Fields module. The feature does not state it is overridden.
[18:42:25]* kadaan has quit (Ping timeout: 244 seconds)
[18:47:46]* kadaan has joined #farmos