jommla content-migration 1.5 to 3.x

Sziasztok.

Régi témám, de haladok.

Adott egy 1.6-os joomlán egy migrálandó cikktartalom, melyből kinyertem az sql-t, majd bashban átalakítottam kicsit.

A szerkezet így néz ki:


1.6joomla			3.xjoomla
-------------------------------------
1	`id`, 		1	`id`
2	`title`, 	aset	`asset_id`
3	`alias`, 	2	title
4	`title_alias`, 	3	alias
5	`introtext`, 	5	introtext
6	`fulltext`, 	6	fulltext
7	`state`, 	7	state
8	`sectionid`, 	10	catid
9	`mask`, 	11	created
10	`catid`, `	12	created_by
11	created`, `	13	created_by_alias
12	created_by`, `	14	modified
13	created_by_alias`, 15	modified_by
14	modified`, `	16	checked_out
15	modified_by`, `	17	checked_out_time
16	checked_out`, `	18	publish_up
17	checked_out_time`, 19	publish_down
18	publish_up`, `	20	images
19	publish_down`,  21	urls
20	images`, `	22	attribs
21	urls`, `	23	version
22	attribs`, `	25	ordering
23	version`, `	26	metakey
24	parentid`, `	27	metadesc
25	ordering`, `	28	access
26	metakey`, `	29	hits
27	metadesc`, `	30	metadata
28	access`, `	feat	featured
29	hits`, `	lang	language
30	metadata`	xref	xreference

(igen, ronda a táblázat, csak azért csináltam hogy teljes párosítás keletkezzen -- gráfelméleti szavakkal élve). Az új jumlákban van 4 új oszlop.

Ezen táblázatom alapján írtam egy awk-scriptet, amely a fenti táblázat 3. oszlopa szerint tolja a print után a $-jeles oszlopszámokat:


cat $1 | awk 'BEGIN {FS=","}\
  {i=400; i++; print "(", \
  $1, "`"i"`,", $2, $3, $5, $6, $7, $10, \
  $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, \
  $21, $22, $23, $25, $26, $27, $28, $29, $30", \
  `0`,", "`*`,", "``);"}' 

Gondoltam, ez eddig jó, mármint próbálkozásnak, de vannak kétségeim.
Nem tudom, hogy az új jumlákban a második oszlop (`asset_id`) miféle szám. Fent generáltam egyet 400-tól indítva, talán nem okoz gondot.

Van valakinek pontosan ezzel a számmal valami tapasztalata?

Hozzászólások

Nem vagyok egy Joomla szaki, de a Google azt mondja ACL :) A ciklusos megoldásod biztos nem lesz jó, mert referencia másik táblára (assets), szerintem hagyd 0-án.

The assets table is part of the Joomla! 1.6+ ACL system. It is designed to hold a record for each asset that defines the access rules.

You can read more about Joomla!'s ACL here and there's a section in the Joomla! 2.5 Component Tutorial about adding ACL support.

If you're importing to Articles (with a asset id of 0) then they don't actually have an entry in the #__assets table and they will inherit the default access until they are opened and saved. When they are saved an asset record will be created.

Forrás

Tanulmányozva egy hármas jumlát, azt látom, hogy egyik sem nulla, mindegyik különböző szám és látszólag az eleve növekvő id-számértéktől is különbözik.

id int(11) AUTO_INCREMENT ---mindkét jumlaverziónál

asset_id int(10) --3.x jumláknál. És félek tőle.

---
--- A gond akkor van, ha látszólag minden működik. ---
---