Issue #1126108 by Damien Tournoud: Fix undefined variables in XML error handling
[project/migrate.git] / BACKPORT.txt
CommitLineData
a2fcb2cc
MR
1Differences visible to users/implementors:
2
a2fcb2cc
MR
3Field handlers have no $field_info parameter in D6
4
5D6 has no machine names for vocabularies - the D6 migrate module will basically
6generate one from the the user-visible name (lower-case, spaces=>underscores),
7there is a small risk of collision as a result if vocabulary names differ only
8in punctuation and/or case.
9
a2fcb2cc 10
955920f0 11Conventions to make porting changes between Drupal 6 and Drupal 7 easier:
869a5c98
MR
12
13Try to always use specific DBTNG functions such as db_select() instead of the more
14general db_query(), which needs to be renamed to dbtng_query() under Drupal 6.
15
869a5c98 16
955920f0
MR
17TODOs for initial backport to Drupal 6:
18
a2fcb2cc
MR
19Most of the visible differences above can probably be eliminated
20MigrateDestinationTerm constructor takes name instead of machine name as a
21 parameter, should use a generated machine name.
22node.inc: Retrieve attached fields in fields()
955920f0 23comment.inc: Changes needed for D6 comment_save() (form assumptions)
955920f0 24fields.inc: File API changes
a2fcb2cc
MR
25image field support
26
27
28D6/D7 differences:
29
30*.info:
31Core/PHP requirements
32
33*.install:
34D6 requires explicit install/uninstall of schema
b266813a 35D6 implements hook_requirements() to verify autoload 2 is present.
a2fcb2cc
MR
36
37migrate.drush.inc:
38Rollback/wipe need to run as uid 1 in D6
a2fcb2cc
MR
39
40migrate.info:
cf8d20b3 41D6 dependent on autoload/dbtng
a2fcb2cc
MR
42
43migrate.install:
44D7 update functions
45
46migrate.module:
47Includes d7.inc
48migrate_field_handler_invoke_all() has no $field_info parameter in D6
49migrate_watchdog() disabled in D6 (review)
50
51includes/base.inc:
b266813a 52No second chance (drupal_static_reset) on low memory in D6
a2fcb2cc
MR
53
54plugins/destinations/comment.inc:
55Field differences: timestamp vs. created/changed
56No fields on comments in D6
57Differences in node_comment_statistics query
58Table name (comments/comment)
59comment_save takes array in D6.
60
61plugins/destinations/fields.inc:
62Handlers have both $instance and $field_info on D7, $instance only on D6
63Field arrays keyed by language on D7 only
64Fields only apply to nodes in D6
65No taxonomy_term_reference in D6
66
67plugins/destinations/node.inc:
68No is_new in D6.
69Teaser field in D6 only.
70Body is a field API field in D7.
71No node_object_prepare() in D6.
72
73plugins/destinations/term.inc:
74Fields only apply to nodes in D6.
75Taxonomy API differences
76
77plugins/destinations/user.inc:
78Fields only apply to nodes in D6.
79
80plugins/sources/sqlmap.inc:
81db_table_exists/dbtng_table_exists
82
83migrate_example/beer.inc:
84Destination term specified by visible name instead of (non-existent) machine
85name on D6.
86No fields on users in D6.
87Node IDs not preserved in D6.
88Teaser is its own field in D6, not a body argument.
89
90migrate_example/beer.install.inc:
91No image field in D6 (yet)
92Taxonomy API differences.
93Vocabulary not a field in D6.
94Difference in node_type_save parameter.
95No node_add_body_field() in D6.
96No user fields (gender, favs) in D6.
97Field/CCK API differences.
98
99migrate_example/migrate_example.info:
100D6 dependent on content
101
102migrate_example/migrate_example.install:
103No DRUPAL_ROOT for required files in D6
104No API for format creation in D6
105
106migrate_example/wine.inc:
107Destination term specified by visible name instead of (non-existent) machine
108name on D6.
109No fields on users in D6.
110Teaser is its own field in D6, not a body argument.
111Comment field differences
112
113migrate_example/wine.install.inc:
114No image field in D6 (yet)
115Taxonomy API differences.
116Vocabulary not a field in D6.
117Difference in node_type_save parameter.
118No node_add_body_field() in D6.
119No user fields (gender, favs) in D6.
120Field/CCK API differences.
121
122migrate_ui/migrate_ui.module:
123hook_perm() vs. hook_permission()
124
125migrate_ui/migrate_ui.pages.inc:
126D6 uses drupal_get_form(), D7 returns form array directly
127D6 uses theme_table(), D7 uses '#theme' => 'table', ditto for item_list
128No vertical tabs in D6
129#value vs. #markup
130Classes passed as arrays in D7