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 #2
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 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 fixed
nevertheless, this will have to wait a little longer, since it is a feature request, and bugs will get more priority
Comment #4
aren cambre commentedThis could be important pending outcome of #725704: Comment CCK seems abandoned .
Comment #5
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 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 commented@#5 it is planned (as the project description states), please start an issue for it
Comment #9
arhak commented@#5 you're welcome to try it #734446: support date fields
Comment #10
arhak commentedI'm gonna be working on this a few days, lets see how far I get
Comment #11
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 commentedMigration should be pretty seamless
indeed, migration is based on {comment_cck_revisions} table
I was unable to test the migration
I haven't committed any code related to it
or should I just wait for the next dev. release?
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 commentedor even correcting damage that occasional bugs might cause
lets 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 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 commentedLooks about correct for me, but I did not have the chance to do extensive testing yet.
Comment #17
arhak commentednop
never received the proper feedback
(actually, never got any feedback at all)
Comment #18
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 commentedAt least the feedback you were asking for in #14 is "comparison looks
correct, no errors or any other kind of problems arised".
in 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
I believe
there should be pretty easy procedure to convert the comment cids and
node revisions into Comment Driven format.
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..
If you can provide such procedure
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
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.
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 commentedAt least the feedback you were asking for in #14 is "comparison looks correct, no errors or any other kind of problems arised".
and 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?
Comment #1
arhak commentedBTW, the above goes for unstable3