[rt-users] RTFM articles content migration
Luis Moreno
luis at cantv.net
Mon Nov 13 08:13:39 EST 2006
Craig. Thanks for your answer.
I re run the migrate script (migrate-2.0-to-2.1) just to verify, and I
realice it is failing just before the importing articles (line 109), with
this error:
# perl -I/usr/lib/rt/ ./sbin/migrate-2.0-to-2.1
[Mon Nov 13 13:01:30 2006] [crit]: RT::FM::Article::CurrentUserHasRight
Unimplemented in RT::FM::ArticleCollection.
(/usr/lib/rt//RT/FM/ArticleCollection_Overlay.pm line 38)
(/usr/lib/rt//RT.pm:295
Any idea?
-luis
> -----Mensaje original-----
> De: Craig Green [mailto:cgreen at sentex.net]
> Enviado el: Viernes, 10 de Noviembre de 2006 08:23 p.m.
> Para: Luis Moreno
> CC: rt-users at lists.bestpractical.com
> Asunto: Re: [rt-users] RTFM articles content migration
>
>
> Luis Moreno wrote:
> > Hello RT admins
> >
> > In the README file is clearly specified the procedure to make an
> > upgrade of RTFM (2.0.4 to 2.1.40), I ran the script
> rt-setup-database
> > without any trouble. The custom fields for the content were created
> > too and assigned to the article classes, but the articles
> content is
> > still empty. Looking at the database, the "old" articles
> content is in
> > a table called fm_articlecfvalues.
> >
>
> Are you certain you assigned the custom field to article
> classes? I've still got the old article content in
> FM_ArticleCFValues, too, but the data has been copied into
> ObjectCustomFieldValues and FM_ArticleCFValues doesn't update
> when I modify the content text while ObjectCustomFieldValues does.
>
> I ask because I actually just ran into this today and that
> was the issue. I ran the migrate-2.0-to-2.1 script, did the
> DB schema etc.
> updates, installed 2.2.0RC4 and restarted the webserver.
> Browsing to RTFM shows the articles, but doesn't display the
> actual contents of the articles, though it does show up in
> the history. Trying to create a new article shows a page
> with no text entry field to actually enter the article body.
> There are a couple or three posts on the list about this, but
> I didn't see any actual answers other than "re-enter all the
> articles manually", which wasn't quite the answer I was hoping for.
>
> Anyway, after the usual cursing, swearing and futzing around,
> I did finally get the content to display. The problem was
> that the Body, the first custom field, exists, but isn't
> assigned to any RTFM article classes.
>
> In the web interface, I went to RTFM / Configuration / Custom
> Fields, then selected the body CF. At this point I was at
> the "Editing CustomField Body" page. I clicked on the
> "Applies To" link, and nothing was selected.
>
> My first go 'round I discounted this screen because the
> objects I could select were "Support", "Accounts", "Abuse",
> etc. -- basically my RT Queues -- and I'm thinking that, no,
> this custom field shouldn't apply to my queues and so left it
> alone (i.e. with the CF applying to nothing).
>
> Next time I visited the screen, in desperation I clicked the
> "Check All"
> button and Submitted, figuring I could always just undo it if
> I screwed it up. However, when I left the RTFM config and
> viewed my articles, the content now showed up. At this
> point, after a bit of furrowed brow thinking, I realized that
> "Support" and so on are my RT Queues, but they're also the
> names of my RTFM article classes, and since the Body CF is
> now associated with all articles (since I applied the CF to
> all article classes), the contents of the Body CF is now
> displayed and available when I view the article. A blank
> text entry field also shows up when I go to create a new article.
>
> 'Course I'm no RT expert and said explanation of why it now
> works may actually be worth rather less than an equivalent
> volume of raw sewage, but the content of my articles now
> display anyway so I'm happy. That's how I fixed it--YMMV. ;-)
>
>
> Note to Jesse et al: besides the obvious README documentation
> updates, I'm pretty certain that the migrate-2.0-to-2.1
> should do the SQL equivalent of the above automatically.
> Other custom fields may only belong to certain article
> classes, but in the old RTFM if I'm not mistaken (again, not
> an expert) every article has a body, and so the Body CF
> should be applied to all classes. Basically, the CF to
> article class associations should be migrated by the script
> just as whatever else the script migrates is migrated.
>
> Having the Body CF present but not applied to anything and
> thence not showing up at all is rather confusing, unfairly
> making ops doubt their ability to comprehend simple English
> and/or follow a simple 5-step set of instructions. ;-)
>
>
> Oh, and an unrelated note: the docs also assume you're
> upgrading RTFM in place. I'm actually doing a fresh RT and
> RTFM install on a new, beefier server, with just the DB
> copied over from the old server.
> The migrate-2.0-to-2.1 script, however, relies on files only
> present in the old version of RTFM. The script, therefore,
> immediately quit, complaining about a missing module. The
> usual cursing, swearing and a few find commands later and I
> located the missing Perl module on the old server. I then
> recognized the assumption made by the devs, tar'd up and
> dropped the old RTFM files into the appropriate place on the
> new server, and then the script decided to run.
>
> Well, only about halfway, actually--it bombed out complaining
> about an undefined function 'new' in
> RT::FM::TransactionCollection blah blah.
> This one was pretty easy: adding 'use
> RT::FM::TransactionCollection;'
> at the top of the script cured that, once I verified
> RT::FM::TransactionCollection had actually been copied over
> in my tarball of the old server's RTFM.
>
> All in all, it was a bit of an adventure, but the new
> server's working and holding up under light testing.
> Weekend, here I come... :-)
>
> Cheers,
>
> Craig.
> ------
More information about the rt-users
mailing list