Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
I implemented a dirty function which fetches revision information from comment_cck and builds log history of comment_driven from it
but it isn't generic, rather case-specific, but a good foundation to a migration path
I was migrating a site with:
- nodereference
- userreference
- content_taxonomy (saving terms to core's taxonomy)
regretfully, I won't have time enough to invest on this
but depending on requests made it might be picked up sooner or later, or totally dropped
Comments
Comment #1
arhak CreditAttribution: arhak commentedBTW, the above goes for unstable3
Comment #2
obrienmd CreditAttribution: obrienmd commentedI can see this as being VERY useful, especially given Comment CCK's lack of recent updates (and the number of sites that use it, seems substantial)...
Comment #3
arhak CreditAttribution: arhak commentedneeds a little design to be generic, and a little thought to know how many might be brought from comment_cck
until now, I identified:
- userreference
- nodereference
- content_taxonomy
¿is there something else?
the most important thing to keep in mind is preserve comment_cck table
never "uninstall" it
when the time comes "disable" it, but keep the table
{comment_cck_revisions}
I would recommend backing up both:
{comment_cck_revisions}
&{comment_driven_log}
, since my first migration attempts failed because of silly bugs and thanks to table's backups I was able to start fresh again once bugs got fixednevertheless, this will have to wait a little longer, since it is a feature request, and bugs will get more priority
Comment #4
Aren Cambre CreditAttribution: Aren Cambre commentedThis could be important pending outcome of #725704: Comment CCK seems abandoned.
Comment #5
Azol CreditAttribution: Azol commentedOne single most important thing (in my case) that stops me from migrating is no support for Date CCK field at the moment.
Comment #6
arhak CreditAttribution: arhak commentedas I previously said, I can guarantee:
- userreference
- nodereference
- content_taxonomy
- other (if properly reported, haven't heard yet)
this is not abandoned, I started a UI to diagnose the migration before proceeding
afterwards, a lot of code needs to be migrated to generic cases and tested (for which I'm counting with users' feedback in trial environments)
luckily, there was a wise decision from comment_cck to preserve revision change history (opposed to comment_alter_taxonomy), therefore, migration won't be affected by any bug comment_cck might have as long as revision numbers are accurate (I think they always are, haven't heard of any bug regarding this)
thus, comment_driven builds its history by comparing revisions, and also follows the same wise decision of keeping revision change history.
Comment #7
arhak CreditAttribution: arhak commented@#5 it is planned (as the project description states), please start an issue for it
Comment #8
arhak CreditAttribution: arhak commentedmigrating dates... I forgot them
Comment #9
arhak CreditAttribution: arhak commented@#5 you're welcome to try it #734446: support date fields
Comment #10
arhak CreditAttribution: arhak commentedI'm gonna be working on this a few days, lets see how far I get
Comment #11
Azol CreditAttribution: Azol commentedMigration should be pretty seamless (Comment CCK respects revision history and stores corresponding revision #s for each comment.)
I was unable to test the migration part in action on my test site. Did I miss anything (using Unstable6) or should I just wait for the next dev. release?
Comment #12
arhak CreditAttribution: arhak commentedindeed, migration is based on {comment_cck_revisions} table
I haven't committed any code related to it
Not sure when it will be committed, right in this moment I'm making huge refactors to make the API more flexible and in passing by I'm testing the core of migration
soon you will be able to play with migration sub-mods (named "inspector" and "import"), which will let you test whether all fields you have are supported or not
also, you will be able to migrate to comment_driven without having them all supported, since the "inspect" sub-mod will allow to re-import changes when new fields get supported or even correcting damage that occasional bugs might cause
Comment #13
arhak CreditAttribution: arhak commentedlets make it clear, by "damage" I'm referring to the {comment_driven_log} table, which caches data that eventually might stop being compatible with newer versions (or be affected by an occasional bug)
and with inspect/import that data can be regenerated from revision vids as many times as desired
Comment #14
arhak CreditAttribution: arhak commentedyou can start trying the "inspect" tool, which will report how accurate migration path is being planed
install "inspect" sub-module (which requires the main API module, of course)
(property providers sub-mods are not required though)
look for some comments handled by comment_cck (with and without introduced difference, i.e. diff summary table)
keep their cids at hand
(also phpMyAdmin might be helpful to find cids into {comment_cck_revisions} table,
but won't have a way to know for sure if those cids introduced changes and which ones)
navigate to admin/build/comment_driven/inspect
and submit a list of cids (separated either by commas or spaces)
check whether the rendered "live comparison" matched the diff summary tables provided by comment_cck,
most of all, when there are missing fields/values in live comparison
if errors/warnings arise, check recent logs for details (or dumped data)
Comment #15
Azol CreditAttribution: Azol commentedLooks about correct for me, but I did not have the chance to do extensive testing yet.
Comment #16
Azol CreditAttribution: Azol commentedAny further work on this?
Comment #17
arhak CreditAttribution: arhak commentednop
never received the proper feedback
(actually, never got any feedback at all)
Comment #18
Azol CreditAttribution: Azol commentedAt least the feedback you were asking for in #14 is "comparison looks correct, no errors or any other kind of problems arised". I believe there should be pretty easy procedure to convert the comment cids and node revisions into Comment Driven format. If you can provide such procedure, I am willing to give it a try on a test site mirroring the production system with at least 1000+ nodes worth of testing material.
Comment #19
arhak CreditAttribution: arhak commentedin no way that could be a proper feedback,
I'm asking for exhaustive tests,
throughout possible config combinations
I know most of the times comparison looks correct
otherwise this module would be unusable
half true,
there are kind of fields fully supported,
others have pending bugs,
and there have to be a lot without support yet
those supported are straightforward,
the ones with pending bugs are waiting for more feedback and/or free time,
the unsupported ones haven't being reviewed, so I can't say..
it was a long time ago the last time I dealt with it,
that code is dusty already
and judging the quality of the feedback received so far... I rather focus on other things
your willingness is appreciated,
but it is not a matter of large volumes of the same kind of data,
it is more about the gazillion possible ways to configure a field (or a set of modules)
which haven't been tested
and I know problems can arise,
checkout the issue queues (http://drupal.org/project/issues/driven & http://drupal.org/project/issues/comment_driven)
and you'll see some tickets I haven't decided how to address
that's why the migration was halted in the first place,
because I don't wanna drag people into false hopes,
neither wanna spend time attending complains about some specific configs
and be left without the proper feedback
the proposal on this ticket was:
- test your cases thoroughly
- report back with details (internals / dumps)
- and then the predominant cases might get some migration drafts
- after drafts being reviewed... etc
but we never got there..
(and we won't get there with a comment or two)
Comment #20
arhak CreditAttribution: arhak commentedand BTW,
#14 states clearly: use the inspect tool
that piece of code was made just for those asking for migration paths, but it hasn't been used
(just one or two developers used it to report their issues)
do you want to keep wasting my time?