HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Please upgrade here. These earlier versions are no longer being updated and have security issues.

What is the git workflow for managing Vanilla installs?

XeoncrossXeoncross New
edited January 2013 in Vanilla 2.0 - 2.8

I can't seem to find anything about deploying vanilla using git. I'm assuming I just need to checkout the github master (git://github.com/vanillaforums/Garden.git) and then create a separate branch that contains my own themes/configs and regularly pull in changes from the master branch. Is this correct or is vanilla a self-updating system like wordpress?

Tagged:
UnderDog

Comments

  • Ok, so I went ahead and checked out the master branch and created a new branch for my changes (themes, etc..). The install went fine and it's working. However, all css assets seem to be failing to load. I get a location like http://forum.loc/utility/css/style/style-d37a9620.css. There is no "utility" folder so I'm guessing I need extra rewrites or something that only developers know about.

  • peregrineperegrine MVP
    edited January 2013

    edited: my mistake. posted to wrong discussion.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • LincLinc Detroit Admin

    @Xeoncross Set DebugAssets = TRUE in your config. There's a frequent problem with CSS in the unreleased version.

    No, Vanilla has no automatic updater. That feature is a nightmare to build. Look into generic PHP / git deployment articles for more ideas. What I do is have all my repositories outside the web root on my server, so I pull to each of them as necessary. Then I have a simple script that copies the files in all those repos to their place in my web root at once for a near-instantaneous deploy.

  • businessdadbusinessdad Stealth contributor MVP

    @Lincoln said:
    No, Vanilla has no automatic updater. That feature is a nightmare to build.

    Out of curiosity, what are the steps required to update Vanilla? I'm not trying to say that it would be extremely easy, it's just that I've never done it and I was wondering what else would be required, apart from overwriting the files.

  • @Lincoln, thanks adding the undocumented $Configuration['DebugAssets'] = TRUE; fixed the problem. Perhaps you should setup a wiki page for these things.

    @businessdad, I checked out the public repo onto my server in a private folder. Then I cloned that repo from my server onto my desktop and created a new branch I'll use to manage my changes without messing with the master branch commits. Now I'm free to pull updates to my server repo, then pull to my development machine(s) and merge with my branch, then I push my branch back to my server, then from my web root I pull the repo changes from the private folder on my server and I'm done. I can easily add more machines this way and I don't have to leave the public-facing checkout responsible for handling changes.

    @Lincoln, having a .git folder in my web root isn't a problem since it's not accessible. Why bother to manage a custom export script? What if you need to revert a live system?

    server {
        location ~ /\. { access_log off; log_not_found off; deny all; }
    }
    
  • peregrineperegrine MVP
    edited January 2013

    good question about git workflow.

    going off to trivia tangent:

    thanks adding the undocumented $Configuration['DebugAssets'] = TRUE; fixed the problem. Perhaps you should setup a wiki page for these things.

    there is a wiki - you can add it. the wiki challenge.

    http://vanillawiki.homebrewforums.net/index.php/Main_Page

    also you could have found it by searching

    http://vanillaforums.org/search?Search=utility+css

    if one of those people would have documented it in the wiki it would have been there.

    http://vanillaforums.org/search?Search=debugassets

    http://vanillaforums.org/discussion/comment/170608/#Comment_170608

    the other perhaps unreal expectation is - documentation for a version that is in alpha release. i.e. vanilla 2.1

    After it is finally released as stable and the documentation is not updated shortly after - then that will be cause for concern and justifiable.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Wait, so master isn't even stable yet? Why is it master? Should I be using the "live" branch instead?

  • peregrineperegrine MVP
    edited January 2013

    see the documentation page - search for the word stable in the page.

    http://vanillaforums.org/docs/installation-download

    http://vanillaforums.org/download/get/stable

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Wait, so master isn't even stable yet? Why is it master? Should I be using the "live" branch instead?

    all good rhetorical questions.

    the best git version is here with mia zapata - you owe yourself a listen.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • LincLinc Detroit Admin

    @businessdad The steps to manually upgrade? Basically: 1) upload/overwrite files 2) run utility/update. The steps to automatically upgrade? Start thinking about how you'd have your server safely retrieve & verify the new files, then overwrite itself. And, make it cross-platform. The complexity will reveal itself. :)

  • Of topic but a self defence group was started after mia zapata's murder called "Home Alive", that ran for several years not for profit in the Seattle area.

    Although I wouldn’t personally rate it, going about the the level of difficulty and experience required to stop an attack as that. They did going by their mission statement, bring confidence, and general personal safely advice, which is never a bad thing.

    grep is your friend.

  • XeoncrossXeoncross New
    edited January 2013

    see the documentation page - search for the word stable in the page. - @peregrine

    So the only way to have a stable branch is not to use git? Seems a little off. There should always be a stable/master branch in version control regardless of whether there is a pre-packaged version or not.

  • peregrineperegrine MVP
    edited January 2013

    @Xeoncross

    perhaps you mistake me for a person who works for vanillaforums. I'm just an unpaid user like you. Only difference between me as well as some of the regulars (whu606, kasperisager, x00, hbf, vrijvlinder, mcu_hq, halfcat, underdog and 422 etc) who provide help - - is that we try to provide some help to the community, rather than only coming here when we need help. You will find some users login with multiple names and consultants and designers coming here expecting free help while they get paid for the job, then not showing up till they need help again. Then, there is another class of users on the forum - those that don't read documentation / search and prefer to ask questions rather taking a few minutes to solve it themselves. Another small group of users inhabit this forum believing they are innovationists - who ask people to write free plugins for them and after the plugin or theme is written by someone else, assume that they the innovationists contributed something tangible by requesting help from someone else.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    businessdadUnderDog
  • businessdadbusinessdad Stealth contributor MVP

    @peregrine said:
    Xeoncross

    there is another class of users on the forum - those that don't read documentation / search and prefer to ask questions rather taking a few minutes to solve it themselves.

    This "breed" is very common in every forum I read. You could even write a sticky post titled "HOW TO DO X" and you can be sure that, within a few hours, someone will register and immediately post "How do I do X?". The record I've seen so far was registering at 8 PM and posting a (stupidly common) question at 8:02 PM.

    vrijvlinderUnderDog
  • I don't think there is an issue with Xeoncross, I think he asking a genuine question.

    A while back there was a post on the different branches, which explained the gitflow.

    grep is your friend.

  • peregrineperegrine MVP
    edited January 2013

    @x00 said:
    I don't think there is an issue with Xeoncross, I think he asking a genuine question.

    A while back there was a post on the different branches, which explained the gitflow.

    He had a good question - deploying vanilla using git.

    and then he had ancillary questions about branching, which may be answered here or by searching the forum possibly.

    http://vanillaforums.org/discussion/19820/vanilla-forums-git-branching-model

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    UnderDog
  • XeoncrossXeoncross New
    edited January 2013

    @pergrine, I'm not even sure where to start with you. You've subtlly attacked me every time I post and often incorrectly answer my questions. Apparently your upset about other users who you view as abusing your time, but don't take it out on me.

    I searched before asking this question and read through the documentation, but very little of it seemed to assume any git knowledge and certainly did not provide an answer to my question.

    Anyway, the last link you posted is actually helpful. And, as I stated before, confirms that I was expecting exactly what Vanilla claims to be doing. My only question then is - why isn't master branch stable then?

    The master branch of the vanillaforums repository will always contain our latest production (release) code.

    If this is true then I should be able to pull the master branch onto a new project without having insider knowledge about missing configuration values like "DebugAssets". Manually working with source code using something clumsy like FTP should have ended years ago. I am very happy to see Vanilla using Git, but the fact that no one seems to have asked my question about git deployment before scares me.

    Do people really still use FTP to manage production forum installs? At least @Lincoln uses a deploy script.

    If there is anything else I discover moving forward I'll continue to document it here. When I am finished I have no problem contributing to a wiki.

  • peregrineperegrine MVP
    edited January 2013

    @Xeoncross said..

    @pergrine, I'm not even sure where to start with you

    Anyway, the last link you posted is actually helpful.

    glad I provided some help, as minimal as it might have been.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • ToddTodd Chief Product Officer Vanilla Staff

    @Xeoncross said:
    Do people really still use FTP to manage production forum installs? At least @Lincoln uses a deploy script.

    I'm guessing this is still more common than not. A lot of web hosts don't even give ssh access to a site which git would require.

    UnderDog
Sign In or Register to comment.