Main Stories
Slash Boxes

Slash Open Source Project

Slashcode Log In

Log In

[ Create a new account ]

Article Poll

Poll I found this article to be
Very Helpful
Helpful
Not Helpful
Not Very Helpful
[ Results | Polls ]
Comments:0 | Votes:4

Upgrading

posted by Krow on 03:12 PM March 15th, 2003   Printer-friendly   Email story
I just wanted to suggest that someone out there who's rather good with Slash write a How-To on Upgrading to the latest CVS, or upgrading to the latest release, or both! It'd sure help me out. (a simple how-to in the comments to this article would help a great deal as well!)
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login
Loading... please wait.
  • Get on IRC. The channel's on the front page of slashcode. That's nearly all
    that's been talked about the past 2 days.

    I moved my sites in jan from 2.2.6 to the latest rtag, then recently, about 2
    weeks ago, went to full blown current-cvs.

    Going to the latest rtag was a lot more work then going to the the latest cvs.
    It was quite a jump. It took me about a week to do it. (4 sites)

    Here's how I did it:

    1. backed up everything
    2. dumped each site's db using mysql-dump, ie

    mysqldump -u slash slash --add-drop-table > mysite.sql

    3. updated slash src from cvs
    4. compared each site's theme with the slashcode theme.
    -added/removed tasks
    -added/removed htdocs/perl scripts
    -added/removed templates

    5. for each site, used template-dump
    http://www.lottadot.com/files/templ ate-dump.txt to dump the currently used
    templates to disk.6. for each site, diff'd the current templates in the theme
    against the slashcode theme's stock templates. also used template-check for this
    too.

    7. for each site, in each theme, replaced all templates w/ the templates from
    slashcode theme.

    8. for each site, hand-editted, using the diffs and output from template-check,
    the templates to put the cosmetic changes into the site's theme.

    9. for each site, make a copy of the sql/mysql/upgrades file. hand edit, and
    remove anything in the file that doesn't pertain.
    example: none of my sites use the subscription plugin. so i removed anything out
    of that file that had to do with the subscriptions.

    10. Now, for each site, I applied each site's sqlupgrades file to each site's
    db. I did this over and over until it applied w/o errors.
    I found it handy to put it all into a text file that I could paste into an xterm
    while I was editting each sqlupgrades file. See
    http://www.lottadot.com/shane/upgrade.txt
    fo r an example.

    11. once that's done, for each site cd themes/mysite/templates and template-tool -u slash -s *
    to load them into the db.

    12. make install. restart apache and slashd.

    13. have multiple cold beverages.

    I found it far easier to setup a second box, install slash, install-slashsite for each of my sites, and then
    load the db's from the production webserver into each site.

    That way I could hit each site w/ the upgrade file, if I got errors, drop and reload the db, edit the sqlupgrades file for that specific site, and repeat until no errors went through.

    A few thing's you'll want to be aware of:

    1. post install apply this to your db, it'll help fix the menus

    update menus set menu='config' where label='Blocks';

    2. set all your stories to dirty so they'll be rewritten to disk

    update vars set value="!ok" where name="writestatus";
    update stories set writestatus='dirty';

    3. look at the bugs list on sf.net , and make sure you really want to do this

    http://sourceforge.net/tracker/?group_id=4421&at id =104421

    4. if you didn't use themes, or you didn't install plugins w/ symlinks, you can change that by

    insert into site_info (name,value,description) values ('theme','mysitesthemename','mysites theme');

    and for each plugin

    insert into site_info (name,value,description) values ('plugin_{NAME}_symlink','1','{NAME} plugin files installed symlink?');

    where name would be 'Search' etc.

    Hope that helps :)

    tf23
    --
    lottadot [lottadot.com]
  • Brian/Krow: How's the installer/upgrade tool thing wugga coming? Is it anywhere near release? If you can seriously tell me that it's going to come out in a week, I won't upgrade for a week...
    --


    "How about you interface with my ass? By biting it!" --Bender
    • Not sure when it will be done. Need to review the XML schema again and run it by Jamie.
      --

      --
      You can't grep a dead tree.
      • So, a week? A month? A year? I'm not asking for a firm "it will be done by..." commitment or anything, just a ballpark hint. :-)
        --


        "How about you interface with my ass? By biting it!" --Bender
        • Maybe a week, hopefully within a month.
          --

          --
          You can't grep a dead tree.
          • Is there anything that we in the community can do to help?
            --


            "How about you interface with my ass? By biting it!" --Bender
            • Translating/test the the XML config file for the older upgrades file once it is done. Much of the work for the upgrades file working actually goes to the (I think tf23?) who did the work to make sure it would work for all sites back to the last tarball.
              --

              --
              You can't grep a dead tree.
              • We upgraded anyway, with much nashing of teeth. It wasn't perfect, and we're still fixing things. Hope that script is done soon. :-(
                --


                "How about you interface with my ass? By biting it!" --Bender
  • Uttles has come up with our Plan of Attack for upgrading. We plan to do this Sunday, though we'll wait if someone (Cough cough Jamie? Krow? Cough Cough) tells us that the official 2.2.6 to CVS upgrade wugga is right around the corner.

    So, comments, suggestions, advice appriciated and welcomed, here's our plan, as it stands currently:

    Plan of attack

    0) backup everything
    1) theme all the sites, dump current templates into themes
    2) download current version of slash ( /usr/local/src/slash )
    3) run customized mysql upgrades for each site (found in the slash src)
    4) edit each site's theme templates to be up to speed with current CVS

    Server downtime starts

    5) template-tool install the templates
    6) change site info to use new theme (in the vars table)
    7) make install new slash
    8) copy all normally symlinked files from slash install to appropriate place in each site
    9) recycle apache and slashd

    Server is back up

    step 4 will be tricky
    I think the best way to go about it is:
    - capture a diff between the default slashcode templates and each site's templates
    - make a temporary templates directory, copy the slashcode theme templates to it(for the new slash)
    - then manually apply the diffs to the appropriate templates (therefore applying the site's theme to the updated templates)

    NOTES:
    this still seems funky though... we'll have to go in and tweak each site through the web interface most likely

    "theming" a site is simply copying the slashcode theme to a new directory named after the site, which gets it ready for all of our template manipulation we'll do
    --


    "How about you interface with my ass? By biting it!" --Bender