Visszatért az oldal

Lefutottam a maratont :) Visszatért az oldal. 6 napi munkába került. Ah! A 6 napi barlangba zárkózás kissé megviselt. Nagyon fáradt vagyok, közben beteg is lettem, úgy csináltam végig.

Szóval az oldalt visszatért. Egy ideiglenes kinézettel, de ezt majd még egyszer megcsinálom, ez a legkisebb feladat.

Mi történt itt? Volt egy nagyon régi Drupal rendszerünk itt. Még 2005-ben készült, és soha nem volt frissítve! Miért? Mert kissé nehéz feladat lett volna... amit a mostani 6 nap is jól mutat. Most is halasztgattam egyik napról a másikra... Már tavaly ilyenkor is vész volt, amikor a szolgáltató kicserélte a PHP 5.2-őt 5.3-ra és leállt az oldal, de akkor gyorsan megoldottam néhány trükkel. Több funkció nem működött, de elevickélt az oldal.

Aztán történt, hogy a közelmúltban feltörték az ApCsel29.hu-t és a Siloe.ro-t (ezek még mindig nem állították helyre). A mi oldalunk ezeknél jóval régebbi technológián működött. Beijedtem, ez motivált.

Szóval, a volt oldalunk Drupal 4.7-en működött. Ebben a 6 napban egymás után felfrissítettem Drupa 5-re, majd Druapl 6-ra, majd Drupal 7-re. Gondolom, nem sokat tudjátok mit is jelent ez. Hadd mondjak egy hasonlatot. Ez olyan mint, hogy van egy Win 98-ad és fel kell frissítened WinXP-re, majd után Vistára, végül Windows 7-re úgy, hogy közben egyetlen dokumentum, levél, kép se vesszen el. Csakhogy közben a dokumentum formátum is megváltozott mondjuk DOC-ról, ODT-re; a leveleket minden változatban más-más program kezeli…

A legtöbb gond, vesződség a flexinode → CCK → Core field migrációval volt. Elég sok. Tovább nem szaporítom a szót, csak egyszerűen hálát adok neked Istenem, hogy velem voltál éjjel-nappal.

Csak néhány adat: 6 napi munka, 43 adatbázis biztonsági mentés a kulcsfontosságú mérföldköveknél, 4,9 GB összes mentés közben. Ez volt a napló, amit vezettem. Szükség volt rá, volt olyan munkafolyamat ami többször újra kellett kezdeni, mire sikerült.

Dokumentáció
= Drupal 4 környezet =
-   PHP 5.2 fastcgi modullal http://webpagedeveloper.me/blog/ubuntu-1004-lucid-lamp-server-running-php-52-and-53
    Majd vissza kell kapcsolni a 5.3-as PHP-t: sudo a2enmod php5
-   apache, etc/hosts, mysql
- settings.php Adatbázis csatlakozások módosítássa
- clip.php linkek átírása (felső menü)

= D4 felkészítése upgradre =
- Klónozás
    - Adatbázis klónozás: d5
    - Apache direktívák klónozása
    - Fájlok klónozása
    - /etc/hosts bejegyzések
- Frissítési probléma: A shared tables miatt úgy rémlik, hogy nem voltak a site-ok mind rendesen upgradelve. Ez nem biztos. Ezért
  !!! DB !!! Módosítások d5 adatbázisban: alap_system, projekt_system, badistak_system: system - shcema_version: 0 helyett 184
  Ha nem sikerült a D5 frissítés, akkor ide kell visszatérni és megoldani. 
  Kiindulási alap: http://drupal.org/node/22267 Share tables across instances (not recommended)
  Most úgy mutatja, hogy nincs semmilyen system_update (updates.inc egyébként ahol fel vannak sorolva, úgy láttam ezek mind végre voltak hajtva)
- Táblák leválasztása
  !!! DB !!!
  3 script futtatva lett: alap és projekt ugyanaz, a bandistákon 2 tábla kivételével (LEMENTVE!)
- Smink kikapcsolás
- Belépés Admin-nal
- settings.php domén süti kikapcsolása NEM MENT!

= D5 upgrade =
- upgrade.txt követése + http://drupal.org/drupal-5.0
- alapértelmezett smink beállítása
- settings.php lecserélése az újra: a süti megoldódott
- blokkok helyreállítása

- Kép modul frissítése, leírás a lap alján: http://drupal.org/node/3256/release?api_version[]=78
  Előbb erre a verzióra: image-5.x-1.10
  Szent András: sima update
  Projekt: sima update, majd "uninstall", mivel nem volt egyetlen kép tartalom sem
  Majd erre a verzióra: image-5.x-2.0
  De itt végre kell hajtani egy módosítást sztandras.image -> image_old átnevezés. Lásd: http://drupal.org/node/357793#comment-2849288
  Frissítés után e régi táblát töröltem, mivel szemét
  image_attach nincs használva, uninstall
  OK, sikeres
- Webform modul frissítés:
  Előbb: webform 5.x-1.10
  Utóbb: webform 5.x-2.10
  OK, sikeres
- Securesite modul frissítés
  Nincs adatbázis frissítése
  htaccess ->  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
  Nem működik!!!
- Abbahagyva: mentés készült róla!

==ÚJRAKEZDÉS d4 =============================
- misc/autcomplete.js módosítása
- d5 másolat létrehozása
- cck és flexiconvert telepítése: 

==ÚJRAKEZDÉS D5 =============================
MySQL Administrátor rossz backup miatt, újra kezdve innen!
- agregator modul tisztítás: bekapcsolás, kikapcsoás, unistall
- download_count bekapcsolása Bandisták
  Kiadott verzió már nem volt, a git-ből töltöttem le az 5.x-1.0-nek jelölt
  verziót: http://drupalcode.org/project/download_count.git/shortlog/refs/heads/5.x-1.x
- Flexinode: a simán letölthető flexiconvert-5.x-0.3 hibás, nem műkökdik. A tartalmakat nem hozza át. Ez a
  a hibajegy segített: http://drupal.org/node/272130#comment-1662716 Ez alapján letöltöttem a HEAD verziót,
  ahová Antoine Beaupré felkommitolta a javításait: http://drupalcode.org/project/flexiconvert.git (2009-06-04)
  Ehhez az akkor CCK-t töltöttem le: cck 5.x-1.10 (2008-11-05). Ezt majd frissíteni kell 5-1.12-re később!!!
- szükséges modulok bekapcsolása: cck összes, date, date API, date timezone, flexiconvert
- Konvertálás:
	- 73 tanuságtétel
	- 25 tanítóhivatali idézet
	- 31 koffein
	- 769 meghívó
	- 2 tanítás
	- 16 messiási prófécia
  Dátum nem konvertálódott, majd kézzel kell.
- Konvertálás után, rendbetenni a formákat, 2 feladat van minden tartalomtípusra:
	1) BODY tag törlése, SQL script, amivel töröljük a felesleges előnézeteket!
	2) Beviteli forma beállítása:	
		SELECT * FROM sztandras_node_revisions 
			WHERE EXISTS (
				SELECT sztandras_node.nid 
				FROM sztandras_node 
				WHERE sztandras_node.nid = sztandras_node_revisions.nid 
				AND sztandras_node.type = 'koffein'
			)	
		UPDATE sztandras_node_revisions 
			SET body = null, teaser = null
			WHERE EXISTS (
				SELECT sztandras_node.nid 
				FROM sztandras_node 
				WHERE sztandras_node.nid = sztandras_node_revisions.nid 
				AND sztandras_node.type = 'koffein'
			)
		UPDATE sztandras_content_type_koffein
			SET field_koff_koffein_format = 3
			WHERE field_koff_koffein_format = 0
- Koffein:
	Nevek rendbetéve,
	BODY és teasertörölve
	Beviteli forma beállítva 3-ra
- Messiási prófécia: 
	Nevek redbetéve
	BODY és TEASER törölve
	Beviteli forma marad, nincs benne HTML tag
- Tanítások: 
	Nevek OK
	Body és teaser törölve
	Beviteli formátum beállítva, mint az előzőnél.
- Tanítóhivatali idézet: 
	Nevek OK. 
	Filtered HTML kiegészítve address és blockquote elemmel
	Body és teaser törölve
	Beviteli forma átállítva 3-ra
- Tamúságtétel: 
	Nevek OK. 
	Body és tease törölve
	Beviteli forma átállítva mert vannak képek, Csatolás engedélyezve, van rá példa.
	Helyreállítva a a 2 taxonómiacsoport
- Meghívó: 
	konvertálás ok, 
	a dátum típusok félbemaradt konverzióját ki kell írtani: 2 tábla
		- node_fields: 3 db timestamp típusú
		- node_fields_instances: 3 db timestamp típusú
		+ törölni a cache-t
	Body és teaser törölve
    Dátumok nem jönnek át a flexiconvert-tel. Külön megoldás: Létrehozni a 3 mezőt
    Saját SQL kérdéssel lekérdezni a flexinode-ból a 3 dátumot, majd beírni az
    új mezőkbe. Sikerült!
		/* 221 találat, meghivo időpontok */
		SELECT a.nid, a.numeric_data, b.numeric_data, c.numeric_data
			FROM sztandras_flexinode_data a 
			INNER JOIN sztandras_flexinode_data b ON a.nid = b.nid
			INNER JOIN sztandras_flexinode_data c ON a.nid = c.nid
			WHERE a.field_id = 16 AND b.field_id = 17 AND c.field_id = 21
		/* csak az első sor, a további 220 sor külön lementve */
		UPDATE sztandras_content_type_meghivo 
			SET field_megh_kezdes_value = 1108796400, 
				field_megh_befejezes_value = 1108922400, 
				field_megh_jelentkezesi_hatarid_value = 1107889200 
			WHERE sztandras_content_type_meghivo.nid = 74;
	Mezők nevei és leírásai rendberakva
	A mezők sorrendjét majd 7-ben kell beállítani, ahol nincs korlátozva -10-ig a súlyozás
	Input format-ok rendberakva, ahol szokott Full HTML lenni.
- Flexiconvert kikapcsolása
- Flexinode táblák törlése: 3 tábla
- Takarítás: modulok bekapcsolás, kikapcsolása, unistallálása
	tinymce
	htmlarea (nem lehetséges, nincs intall fájlja)
- Modulok frissítése a legvégő 5-ös verzióra
  cck -> cck-5.x-1.12
- Nem továbbvitt modulok:
	tinymce → Wysiwyg majd 7-ben
	captcha → Mollom majd 7-ben
	Banner, elhagyjuk, nem kell majd új
	front_page, elhagyjuk, nem szükséges
	textimage → Nincs rá szükség, a captcha-nak kellett
	nodeaccess - nics 7-es verziója. Egyszerűen csak linkeléssel oldjuk meg ezt a kérdést.

= Drupal 6 upgrade =
1. Biztonsági másolat készítése:  
   fájlok, adatbázis
2. Felesleges modul eltávolítása: flexiconvert
3. Frissítendő modulok összegyűjtése/letöltése
	cck-6.x-2.9
	date-6.x-2.8
	download_count-6.x-1.6 -> download_count-6.x-2.0
	image-6.x-1.1
	securesite-6.x-2.4
	webform-6.x-3.15
4. Frissítés D6-ra: Előbb csak 6.10-re! mert a 6.24-re nem ment egyből
   vissza kellett tölteni. PHP 5.2-vel történt a frissítés.
	Váltás blumerine témára
	Minden egyéb modul kikapcsolása: 4×
	Törlés:  kivéve /sites, /files
	Új fájlok felmásolása - magyar fájl nélkül, majd 7-ben
	settings.php nem lett módosítva
	Update.php 4×
	Cache törlés 4×
	Fájlok letölthetőségének ellenőrzése: OK (van itt mentés)
	Friss modulok bekapcsolása 4×
	- Bandi: 
		download_count nincs 6.1.6 -> 6.2 frissítési mechanizmus, törlés, 
		Secure Site OK
	- Alap: nincs
	- Projekt: nincs
	- SzentAndrás: CCK, date, image, image gallery, 
		Webform: legalább 6.16 kell neki, nem tudom ellenőrizni
		CCK frissítés hibát adott... lehet, hogy ezt újra kell kezdeni
	bandistak.files/face írhatóvá tétele
5. Frissítés 6.24-re.
   Közben egy "semaphore" hibaüzenet jelent meg. Úgy tűnik ez normális:
   http://drupal.org/drupal-6.16 http://drupal.org/node/732024
   OK
6. Átváltás Garlandra 4×
7. Tartalmi ellenőrzés
	Meghívó tartalomtípusban a részek sorrendje beállítva.
	File letöltés Bandistáknál OK.
	Visszállítás online módra.
8. Tisztítás: 
	revision_deletion modul (DEV) verzió + törlés + modul kikapcsolás
9. Átállás PHP 5.3-ra sudo a2enmod php5 + apache config
10. Régi kép modul ajánlók, amelyekből ki kellett írtani a PHP kódot. A
	formájuk továbbra is PHP maradt vagyis 2-as
	Lekérdezés: SELECT * FROM sztandras_node_revisions n WHERE n.format = 2
	<?php print(image_gallery_page2(NULL, 184)); ?>
	node/719 -> 208
	node/551 -> 173
	node/559 -> 185
	node/560 -> 184
	node/561 -> 183
	node/562 -> 182
	node/563 -> 181
	node/564 -> 180
	node/565 -> 179
	node/566 -> 174
	node/567 -> 175
	node/589 -> 186
	node/606 -> 188
	node/624 -> 199
	node/655 -> 203
	node/848 -> 224, 225 Ezeket majd egyszer valahogy helye kellene állítani.

	PHP-s oldalak listázása: 
	SELECT * FROM sztandras_node_revisions n WHERE n.body LIKE '%<?php%'
	
	<!--break--> A kurzusmeghívókban. Nincs rá szükség rá, mert ezt már
	külön lehet szabályozni: SELECT * FROM sztandras_content_type_meghivo s 
	WHERE s.field_megh_bemutato_es_buzdito_value LIKE '%<!--break-->%'
	10 node javítása
	
	Törött hivatkozások szűrése és javítása
	15 jav: SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_bemutato_es_buzdito_value LIKE '%"files%' 
			SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_frissites_value LIKE '%"files%'
	1 jav:	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_tanusagtetel_value LIKE '%"files%'
	22 jav:	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_letoltheto_szorolap_value LIKE '%"files%'
	5 jav:	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_igehely_value LIKE '%"files%'
	9 jav: 	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_helyszin_value LIKE '%"files%'
			SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_szallas_value LIKE '%"files%'
			SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_hozzajarulas_value LIKE '%"files%'
	1 jav: 	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_jelentkezes_es_kapcs_value LIKE '%"files%'
			SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_egyuttmukodo_szervez_value LIKE '%"files%'
	5 jav.:	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_jelentkezesi_lap_value LIKE '%"files%'
			SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_hozz_magaddal_value LIKE '%"files%'
	1 jav:	SELECT * FROM sztandras_content_type_meghivo s WHERE s.field_megh_tovabbi_tudnivalok_value LIKE '%"files%'
	
	25 jav:	SELECT * FROM sztandras_node_revisions s WHERE s.body like '%"files/%'
	
	Így sose lesz vége. SQL dump-ban csinálom tovább. CCK és a node_revisions táblák kiexportálva
	keresés és csere
	109 href=\"?q= href=\"/
	26	src=\"files/ src=\"/files/
	17	href=\"files/ href=\"/files/
	SQL script külön lementve
	
- Felkészülés D7 frissítésre, állapotfelmérés
  - jquery nem indul el az alapítvány oldalon, egyszerűen nem kerül bele a forrásba, ezt 7-ben javítani kell. FIXME
  - alap OK
  - projekt: a hiányzó linket nem lehet lérehozni, OK
  - bandistak OK
  - szentandrás: reklám tartalmak törölve: 976, 788, 1028, 947, 773, 494, 490
  Minden OK-nak tűnik :)
  Jogosultságok nincsennek beállítva még, majd 7-ben FIXME
  
= D7 frissítés =========================================================
1. Biztonsági másolat készítése: fájlok, adatbázis
2. Frissítés D7-re
	Belépés 1. felhasználóval
	Karbantartás mód
	Téma visszaállítása az alapértelmezettre: Garland
	Minden egyéb modul kikapcsolása:
	Modulok összegyűjtése
		cck → cck: Content Migrate
		image és field_convert
		date
		securesite megszűnik, upgrade után az RSS-be csak a címek kerülnek
	Törlés: sites/default/default.settings.php
	Törlés:  kivéve /sites, /files
	Új fájlok felmásolása (D7.12)
	settings.php írhatóvá tétele! 4×
	update.php 4×
		timezone beállítás közben
		egy hiba a Szent András frissítése közben: Update #7061
		Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'public://meghívó.pdf' for key 'uri': INSERT INTO {file_managed} (fid, uid, filename, uri, filemime, filesize, status, timestamp) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7); Array ( [:db_insert_placeholder_0] => 1187 [:db_insert_placeholder_1] => 124 [:db_insert_placeholder_2] => meghívó.pdf [:db_insert_placeholder_3] => public://meghívó.pdf [:db_insert_placeholder_4] => application/pdf [:db_insert_placeholder_5] => 137654 [:db_insert_placeholder_6] => 1 [:db_insert_placeholder_7] => 0 ) in system_update_7061() (line 2812 of /var/www/d5/modules/system/system.install).
		Failed: DatabaseSchemaObjectExistsException: Table <em class="placeholder">system_update_7061</em> already exists. in DatabaseSchema->createTable() (line 652 of /var/www/d5/includes/database/schema.inc).
		Segítség: http://drupal.org/node/1049938
		SELECT * FROM sztandras_files s WHERE s.filename LIKE "meghívó.pdf" javítva: meghivo_3.pdf-re
		Szent András visszatöltve és újrakezdve a frissítési folyamat: OK, hibaüzenet nélkül lefutott így	
	Cache törlés OK 4×
	settings.php írhatatlanná tétele! 4×
	status/report: hibátlan 4×
- adminisztatív eszközök bekapcsolása 4×
	adminisztratív smink
	- overlay
	- toolbar
	- dashboard
	nem jelenik meg a toolbar menü (Szent András) vagy feleslges linkek vannak
	benne (Bandisták)
	http://www.slideshare.net/chrishall78/upgrading-drupal-from-6x-to-7x alapján
	DELETE FROM sztandras_menu_links WHERE module = 'system'
	/admin/config/development/performance clear cache
- tartalom migráció: CCK
	CCK -> CCK Content Migrate modul. Ez alapján a lépések: http://drupal.org/node/1144136
	Ok, de ahol a formátumkód null maradt, ott kézzel kell javítani
		UPDATE sztandras_field_data_field_megh_hozz_magaddal SET field_megh_hozz_magaddal_format = 3
		UPDATE sztandras_field_data_field_megh_hozzajarulas SET field_megh_hozzajarulas_format = 3
		UPDATE sztandras_field_data_field_megh_iktatoszam_azonosito SET field_megh_iktatoszam_azonosito_format = 1
		UPDATE sztandras_field_data_field_megh_jelentkezesi_lap SET field_megh_jelentkezesi_lap_format = 3
		UPDATE sztandras_field_data_field_megh_koordinator SET field_megh_koordinator_format = 1
		UPDATE sztandras_field_data_field_megh_kurzusigazgato SET field_megh_kurzusigazgato_format = 1
		UPDATE sztandras_field_data_field_megh_letoltheto_szorolap SET field_megh_letoltheto_szorolap_format = 3
		UPDATE sztandras_field_data_field_megh_team_tovabbi_tagjai SET field_megh_team_tovabbi_tagjai_format = 1
		UPDATE sztandras_field_data_field_megh_tovabbi_tudnivalok SET field_megh_tovabbi_tudnivalok_format = 3

		UPDATE sztandras_field_data_field_messp_idezet SET field_messp_idezet_format = 1
		UPDATE sztandras_field_data_field_messp_igehely SET field_messp_igehely_format = 1
		UPDATE sztandras_field_data_field_messp_magyarazat SET field_messp_magyarazat_format = 1
	mezőnevek és sorrendenek, megjelenések helyrehozása
	Content Migrate modul kikapcsolása
- Webform migráció: hiba nélküli az update, de nem jelennek meg a mezők
	Hibaüzenet: The form order failed to save because the following elements have same form keys and are under the same parent. Edit each component and give them a unique form key, then try moving them again.
	és valóban az adatbázisban a form_key értéke 'null': megoldás: minden mezőt
	elment újra, a form_key generálódik a nevéből.
	Az elektronikus ajánlás nem lett így rendbehozva! mert nem használjuk.
- tartalom migráció: képek
	image_legacy
	field_convert modulok bekapcsolása
	indítás ez alapján: http://drupal.org/node/757808
	kommentek megmaradtak :)
	alapvető megejelenés beállítás
	régi kép modul fájljainak eltávolítása
- Ellenőrzés
	Fájlok letölthetőségének ellenőrzése OK
- Magyar fordítás
	l10n_update
	Az első automatikus fordítás után a többit kézzel kellet megcsinálni.
- Új modulok telepítése/bekapcsolása a Szent Andráson
	colorbox
	views, ctools
- Képek emulálása views modullal
	/kepek
	/image/tid/[tid]
	szükséges volt telepíteni az image_url_formatter modult
- Téma telepítése
- FIXME-k
	- jogosultságok
- Karbantartási mód kikapcsolása
- Cron beállítása az éles szerveren csak!

Éles szerver telepítés:
	Wysiwyg
	mollom
	- jquery az alapítványi oldalon
- Ezt eltesszük későbbre. Hasznos lekérdezések: http://exodusdev.com/useful-drupal-administrative-sql-queries
	http://drupal.org/project/field_group ???
	http://drupal.org/project/field_permissions ???
  • Jóbel