Skip to content

New appliance: Foodsoft #216

Closed
Closed

Description

@wvengen

Foodsoft is web-based software for managing non-profit food coops (product catalog, ordering, accounting, job scheduling).

This Rails appliance is a little unusual in the sense that two versions of the app are shipped, with a choice at firstboot. (In the future I might perhaps add an option to switch between the two at a later time.)

One thing that's a little unclear to me about tkbam: do logfiles need to be filtered out?

(a new upstream version will be released the 25th of June, I'm submitting it now so that, perhaps, the TurnKey Linux appliance can be mentioned in the release announcement; let's see :) )

Activity

  1. lirazsiri commented on Jun 25, 2014

    @lirazsiri
    Member

    Foodsoft looks awesome, and the world could definitely use more food cooperatives. This looks like a labor of love. Kudos for developing it and for going the extra mile and developing a TurnKey version that makes it easier to deploy.

    We'll be rolling this into the upcoming maintenance release and putting in an extra mention on the newsletter and blog announcements.

    Regarding excluding Foodsoft's logs from TKLBAM, if you put the logs in /var/log (and you probably should) then you don't have to exclude anything because TKLBAM doesn't backup that directory by default. See the core profile (which all profiles inherit from) for details:

    https://github.com/turnkeylinux/tklbam-profiles/blob/master/core

  2. wvengen commented on Jun 26, 2014

    @wvengen
    Author

    Thank you, that's awesome.

    Foodsoft's logs are in a standard Rails location, would it be an idea to symlink /var/www/*/log somewhere into /var/log (making sure that permissions are fine) within the Rails profile; or add the Rails log directory to the rails default tklbam profile? (And, while we're at it, add a logrotate config - if it isn't there already.)

  3. lirazsiri commented on Jun 26, 2014

    @lirazsiri
    Member

    What we've done with other integrations is try to get them to conform to Debian conventions as much as possible. Consistency tends to make things easier. So a symlink to redirect logs from the Rails profile to /var/log/foodsoft + a log rotation script sounds like the way to go.

  4. wvengen commented on Jun 26, 2014

    @wvengen
    Author

    I will update this when turnkeylinux/common#6 (or something similar) is merged.

  5. added this to the 13.1 milestone on Mar 19, 2015
  6. modified the milestones: 14.0, 13.1 on Apr 17, 2015
  7. JedMeister commented on May 10, 2015

    @JedMeister
    Member

    @wvengen As I just posted on another thread; (it's verbatim cut & paste sorry; but equally applies to you so hope that you're not offended).:

    Sorry it has taken us so long so far... TBH it is embarrassing 😦 And I imagine that having to wait this long to see code you wrote actually make it to a release must be frustrating! I imagine that it certainly wouldn't be very motivating...

    Anyway, we are (finally) working on a new release (v14.0) that we won't be getting sidetracked from! (I promise!)

    I was just going to get someone else to update your code for the v14.0 release (with the latest version of Foodsoft) but thought perhaps I should check with you first. Are you at all interested in updating your appliance or would you like me to get someone else to do it?

  8. JedMeister commented on May 10, 2015

    @JedMeister
    Member

    PS I will be getting common Rails stuff updated fairly soon and I can post back when that's happened if you want? Or just get someone else to work on it...?

  9. wvengen commented on May 11, 2015

    @wvengen
    Author

    Thanks, that great news! Great to read what's improved and why in the release notes. And no problem for the wait - there's always more to do than is possible, and one needs to make choices.

    I'll be happy to look at the appliance for v14.0. It'd be useful if there's a way to obtain a new tkldev instance (since building it from v13.0 may not be so straightforward - trying now).

    I suppose the new ruby version will be 2.1.5? There are some gems requiring ruby 2+ nowadays. (And the Ruby Enterprise notes and customizations can be removed, I guess.) Looking forward to any tkl-rails changes!

  10. JedMeister commented on May 12, 2015

    @JedMeister
    Member

    Awesome! And thanks for your patient and understanding attitude! 😄

    Yes there is a new v14.0RC1 TKLDev iso (263MB 64bit ISO). I haven't yet publicly announced it but some people already know about it so please feel free to have a look...

    TBH though I expect that the Rails appliance is a little broken ATM (it hasn't been touched yet...). And yes it will use the Debian Jessie default version which will hopefully make installing Foodsoft (and other apps) a little neater...

    Regardless please feel free to either have a play and note (and fix if you want/can) any issues (with any of the appliances, although ATM you'll need to build them yourself with TKLDev). As I said though hopefully someone will be on to Rails within the next day or so...

  11. wvengen commented on May 12, 2015

    @wvengen
    Author

    Thanks!
    @JedMeister building the Passenger Apache2 module now requires installing libssl-dev, which was missing in common's plan/turnkey/rails. May be helpful when looking at the rails appliance.
    Then probably also a2dissite default -> a2dissite 000-default in conf/rails (among other appliances) - but I'm testing that right now.

  12. JedMeister commented on May 13, 2015

    @JedMeister
    Member

    Cheers on that. I just commented on your pull request and mentioned the guy that I'll get to have a deeper look at it. Will try to keep you posted...

  13. 5 remaining items

  14. wvengen commented on Jun 29, 2015

    @wvengen
    Author

    This happens because the repository is called turnkeylinux-foodsoft, but in TKLDev it should be called foodsoft (which will happen, I presume, when it is added as an official repository). When you rename the directory to foodsoft, this build would probably succeed. Then the database names are without a hyphen, and I'm curious if MySQL starts for you at boot. No clue yet why this doesn't happen for me.

    (DB_NAME="${HOSTNAME}_${ENV}", and HOSTNAME=$(shell basename $(shell pwd)))

  15. wvengen commented on Jun 29, 2015

    @wvengen
    Author

    I have a clue, it's probably caused by a firstboot script.
    mysql works until just before the configuration console status screen is shown (just after firstboot sequence).

  16. JedMeister commented on Jun 30, 2015

    @JedMeister
    Member

    Ok I renamed the dir I had it in to 'foodsoft' and remade it. Completed a treat. I then installed the ISO foodsoft/build/product.iso) into a KVM VM. I installed it and ran through the inithooks and it just works. Works a treat that is! I didn't need to do anything with MySQL (it started all of it's own accord). FYI I am using the current HEAD of both common and your repo... Great work all round IMO! 👍

    The inithooks all appear to work too (at least the one that sets the password does). I didn't dig into it very deep but i did log into FoodSoft successfully (using the password I set when the inithook ran at firstboot).

    Some feedback:
    Personally I'd make the default email "admin@example.com"; not because it's in any way superior just that's what the others do...

    Also what is the difference with "Adam's branch"? Is his branch really popular? Is swapping to that something that many people would want to do? Or even know about (or need to find out about)? Could changing to it be easily documented instead? Or done afterwards with some sort of helper script instead?

    As a FoodSoft newb whether or not I want Adam's branch is not a question I know the answer too (without research) and TBH I'd rather not have the choice (just give me the "best" one! 😜 ) However I'm guessing that other's (FoodSoft Pros that is) may feel differently...

    [update] I have just done a bit of reading and it seems to me that new users would be best advised to use the upstream version and that it is probably more current users of Adam's branch that may wish to continue down that path...?!

    Regardless, my opinion (0.02:dollar:) is to decide who your primary market for the TurnKey appliance is and which version they would most likely want. Then install that version by default and document and/or script swapping to the other... Unfortunately we don't yet have it, but whether or not the end user has the choice of different branches would be nicely solved by #369....

  17. wvengen commented on Jul 1, 2015

    @wvengen
    Author

    Thank you for testing, and providing valuable feedback!
    I've changed the email address, good to have it similar to others.

    There is currently no way to change the branch afterwards - that's why I put it here. The users I know that want to use a TKL version would like to use the adam branch, and are not technically proficient enough to login to the system and change it that way.

    I'd opt for moving branch choosing to a confconsole menu when that is possible in TKL.

  18. JedMeister commented on Jul 2, 2015

    @JedMeister
    Member

    Ok well with the new info you've given then it sounds like that question really needs to stay (at least until we have the "advanced" inithooks menu). I don't recall the text now but if it fits and doesn't look to busy perhaps you can add something like "if you don't know the answer to this question you want default branch" or something similar...? I'll leave that to you.

    Regardless great work and I'm looking forward to finally adding your appliance to the library (after how long...?!?) 😄

  19. JedMeister commented on Aug 31, 2015

    @JedMeister
    Member
  20. wvengen commented on Aug 31, 2015

    @wvengen
    Author

    Nice 👍

  21. JedMeister commented on Sep 7, 2015

    @JedMeister
    Member

    Hey @wvengen - Sorry about this but I have been speaking with Alon and we need to pick one of the versions to use by default. Otherwise the appliance won't be supported by the Hub. The Hub supports a range of "standard" inithooks and Alon is not willing to adjust those at this point. This means that your question re version will not be supported in the Hub.

    At the very least we need to make it so that it can be preset to a specific version if launched headlessly (e.g. via the Hub). Preferably it would just use one and then the other could be swapped in later (with a helper script perhaps...?). Just having a look over the inithook and it seems to me that pulling the version bit out and making it a standalone helper script seems possible?

    Thoughts?

    We need to do something ASAP and if nothing else happens then we may end up just having to hardcode a default to one version or the other... Apologies on the pressure (it's just we're trying to build images and do final touches prior to release).

  22. wvengen commented on Sep 7, 2015

    @wvengen
    Author

    I can understand, will have a look asap.

  23. alonswartz commented on Sep 9, 2015

    @alonswartz
    Member

    Just to be clear, this is not just for Hub based deployments, but for all headless deployments [1]. I'm currently working on a fix, will update the issue as soon as I have something...

    [1] http://www.turnkeylinux.org/docs/builds

  24. alonswartz commented on Sep 9, 2015

    @alonswartz
    Member

    @wvengen just to verify, the default variant should be foodsoft-standard, right?

    ref: turnkeylinux-apps/foodsoft@51d655a

  25. wvengen commented on Sep 9, 2015

    @wvengen
    Author

    Yes, foodsoft-standard is the default. Great plan to have a default value in any case.

    If that's enough, great. If you'd rather not have the question asked at all, or not even ship the alternate version, I can look into having a script to change that afterwards (though the latter would require some time to write and test).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions