Importera cck-noder med termer?

Events happening in the community are now at Drupal community events on www.drupal.org.
OlaLj's picture

Hur importerar man cck-noder på bästa sätt?

Jag har ett antal företag (i en gammal databas samt i en Excell-fil) som jag vill importera till Drupal.

Jag har tyvärr stött på en del problem på vägen när det gäller att importera termer till noderna.

Jag har främst provat Node Import.
Jag använder Taxonomy Field till termerna för att jag både ska kunna tagga dem och spara dem i cck-table.
Med Node Import så importeras tyvärr inte termerna.
Det som händer är att content_field_mittfält uppdatersas med de nya noderna, men delta och value blir 0.
Term_node uppdateras inte alls.

Vet inte om Node Import är det bästa alternativet, kom gärna med andra förslag eller en eventuell lösning på mitt problem.

Har även tittat på http://drupal.org/node/133705 , men då jag använder samma fält i två olika types så bryts alla fält upp i en egen tabell, vilket ger väldigt många tabeller att uppdatera.

Comments

Inget enkelt svar men tre tips

TBarregren's picture

Jag har inget enkelt svar men tre tips som kanske kan hjälpa dig:

  1. Importera användare och termer före noderna. Eftersom noderna innehåller referenser både till användare (author) och termer så är det viktigt att dessa importeras före noderna.
  2. Använd Content Taxonomy i stället för CCK Taxonomy Fields. Problemet med CCK Taxonomy Fields är att modulen bara sparar termer i CCK-fältet och ej i taxonomimodulens tabell. Med andra ord är CCK Taxonomy Fields termer inga "riktiga termer". Content Taxonomy kan å andra sidan konfigureras till att spara i både CCK-fältet och i taxonomitabellen. (Därtill är Taxonomy Field ganska buggig och eftersatt enligt min mening.)
  3. Skriv ett skript och testa, testa och testa det igen innan du applicerar det på den skarpa databasen. Att exportera och importera kräver en hel del planering och en del exprimenterande. Så därför bör du skriva ett skript som gör jobbet, så att du kan köra fungerande delar om och om igen tills allt fungerar.

Jag har helt nyligen slagit samman fyra separata Drupal 4.7 webbplaster till en enda Drupal 5 webbplats med flerspråksstöd. För att gå iland med detta skrev jag ett bash-skript som gjorde följande:

  1. Lät MySQL exporterade användare, termer och noder till CSV-filer
  2. Använde sed och awk för att städa filerna, uppdatera länkar, lägga till extra fält m.m.
  3. Lät MySQL importera användare och termer från de städade filerna till den nya databasen.
  4. Lät MySQL uppdaterade Drupals sekvenstabell.

Observera att jag inte lät MySQL importera noderna. För det använde jag Node Import modulen för att på så sätt slippa strula med CCK.

Hoppas det var till någon hjälp.


Thomas BarregrenWebbredaktören

http://drupal.org/node/67887

gnucifer's picture

http://drupal.org/node/67887 är också en bra tråd i ämnet. Hinner tyvärr inte komma med så mycket mer tips just nu. Är iaf inte lätt om man inte har bra koll på mysql och något scriptspråk, enklast känns nästan att avnända drupals API för spara noderna via ett PHP-script.

Ett förtydligande!

OlaLj's picture

Jag använder Content taxonomy , som under field - type kallas Taxonomy Field. (Miss av mig att kalla det Taxonomy Field.)

Menar du kanske CCK Taxonomy Fields som under field - type kallas CCK Taxonomy.

Tack så mycket för hjälpen.

Jag blir lite snurrig...

TBarregren's picture

...av ditt förtydligande. :-) Hur som helst så trodde jag att du med Taxonomy Field avsåg modulen med (nästan) samma namn. Det är den modulen som man bör undvika till förmån för Content Taxonomy.


Thomas BarregrenWebbredaktören

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: