Node import: Feeds, Migrate, más?

DruTa képe

Üdv!

Szeretnék adatfelvitel gyorsítás miatt importálni node-okat, vagyis felvinni újként egy táblázatba rendezett forrásból.

Nem találtam erre mást eddig, csak a Feeds és a Migrate modulokat.

A Feeds modullal sikerült is, de egyrészt ez nem végleges verzió, másrészt nekem úgy tűnik ez inkább Hírcsatorna kezelésre van, nekem viszont nem erre kell, csak simán egyszer-egyszer betenni egy nagyobb adag node-ot.

A Feeds minden esetben csinál egy Fő node-ot, és ahhoz kapcsolja a bevitt többi node-ot. Amit még nem értek miért van, vagyis Hírcsatornánál nyilván egy node-hoz kell kapcsolni, de nálam ez nem igazán jó, és leválasztani se sikerül, mert nem aktív az a gomb.

Ráadásul előre be kell állítani, hogy milyen felhasználó jogosultsággal történjen, holott azt szeretném, ha egy-egy felhasználó maga is betehetne így magának egyszerre több tartalmat.

A Migrate pedig költöztetésre való, telepítettem, de egyelőre még importálni sem sikerült vele, de mint tudom, ez nem is erre való.

Tud valaki egy sima node import modult, ami meg tudja tenni csupán ezt?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
DruTa képe

Kipróbáltam a Feed Import modult (nem Feeds), csak magát az importot nem írják, hol és hogyan, minden egyebet leírnak.

A Feeds modulban aztán újabb nekiveselkedésre és utánajárásra megtaláltam, hogyan legyen, hogy önálló node-ok jöjjenek létre:
az Alapbeállításoknál a Különálló űrlap használata lehetőséget kell választani.

Ami még nem megoldott:

hogy milyen felhasználó jogosultsággal történjen az import, holott azt szeretném, ha egy-egy felhasználó maga is betehetne így magának egyszerre több tartalmat. Ráadásul ezt nem lehet importáláskor kiválasztani, mint admin, hanem előre ott be kell állítani, aztán vissza és névtelenre tenni, különben legközelebb véletlenül rossz user néven kerül fel egy anyag.

0
0
DruTa képe

Ha így teszek:

Ki kell választani a létrehozandó tartalmak szerzőjét – „Anonymous” hozzárendeléséhez üresen kell hagyni.

és a CSV file-ban megadom az user-t is, akkor ennek ellenére (Anonymous) az adott user-hez rendeli a tartalmat, tehát ez is megoldva.

Azt kéne még, hogy csak saját nevében tudjon importálni és ne férhessen hozzá korábbi importáláshoz (ami csak úgy lehet most megoldani, ha nem engedjük menteni a feltöltött CSV file-t).

0
0
Geva képe

Fileupload beállításainál egy jelölőnégyzet beállításával törölhető az importált fájl

0
0
Geva képe

Feeds modullal megoldható,
kell hozzá egy xls parser - feeds_excel, feeds_xls - node-kba történő importáláshoz
...nem magától értetődő a feeds beállítása, de remekül működik, találsz hozzá videó tutoriálokat is
(ha az xls adatainak kezelésével gond van, pl a dátum -, akkor csv-vel kell dolgozni)

0
0
DruTa képe

Az Importált file problémáját megoldottam, mint írtam is, nem engedem, hogy mentődjön, de ettől még azt nem tudom megoldani, hogy egy felhasználó úgy importáljon tartalmat, hogy az hozzá kapcsolódjon, csak ha egy oszlopban minden node-hoz megadja a saját felhasználónevét, ez viszont nem elegáns és sokan el is rontanák, elég, ha egyszer kifelejtik, vagy rosszul adják meg.
Elég logikus lenne, hogy aki importál, annak a node-jai legyenek azok, ahogy normál node beküldésnél is.

Nem tudom, hogy a második hozzászólásod erre vonatkozik?

És közben még az is felmerült, hogy a mezőkre megadott validálások sem működnek importáláskor, pedig az fontos lenne, hogy ne kerülhessenek fel így se hibás adatok.

Legjobb lenne, ha pl. 100 node importálásánál a validálásal nem elfogadottakat listázná, hogy javítani lehessen, de semmi ilyen nincs sajnos és jogosultságkezelést sem találtam, olyan modult, ami a Feeds-et kezelné ilyen értelemben.

0
0
Geva képe

a tartalom importáló felhasználóhoz való kapcsolása:
- beállítanék egy felhasználót az importáláshoz(pl admint, aki minden importálásnál lenne a létrejövő tartalom szerzője, mert hogy mást nem tehetsz a feeds beállításainál), majd a tartalom beküldéséhez kapcsolva egy szabályt(rules), az új tartalom szerzőjét átírni a bejelentkezett felhasználóra(esemény új tartalom mentése előtt, a kapcsolódó művelet adatérték beállítás )
...az importálás szerepkörökre kellően finoman hangolható, szükséges hogy az adott tartalomtípushoz is kapcsolódjon beküldési joga

- a második hozzászólásom az importált fájl törlésére vonatkozott,
a validálásra így általánosságban nem igen lehet mit mondani, esetleg ha leírnád hogyan-mivel igyekeztél megoldani és mi nem sikerült, ...

0
0
DruTa képe

A Rules-ost kipróbálom, de inkább hagyom névtelenen, ha már úgyis átírom Rules-szal. De ha egyszerre pl. 100 node-ot importálok, vagyis node-ba, akkor a Rules mitől fogja úgy érzékelni, hogy tartalmat hoztak létre, lehet, de nem vagyok benne biztos, de azért kipróbálom.

A Validálás, ami tartalom bevitelekor működik, importáláskor nem. Nem próbáltam még, de biztos nem, tehát ha pl. egy mezőre az van megadva, hogy adószám formátum, akkor a Field validation modul szól mentés előtt, ha rosszul adná meg valaki, de importáláskor ezt nyilván nem tudja megtenni.

0
0
Geva képe

azért próbáld ki :-), a többin meg gondolkozz el: az importálás folyamatában rekordonként létrejön egy node a weboldalon :-) EZ esemény a rules számára :-)

ha a validálás nem felel meg a céljaidnak az importálásnál, van más:
- az excelben az adatbevitel kontroll alatt tartható ilyen szinten - mindez előre megadva, beállítva, automatizálva úgy, hogy a honlap mezőnél biztosan átmenjen a validáláson, importálás alatt.

0
0
szantog képe

Utána néztem a validálás témának, sajna nem valószínű, hogy fog menni importkor. A field_attach_validate() csak form beküldéskor van használva, és a feedsben sem láttam, hogy kezelnék.

Én megpróbálnám a hook_feeds_presave()-ben meghívni a field_attach_validate-et. Viszont vigyázni kell, a field_attach_validate exceptiont dob, ha gáz van, ergo az egész import folyamatot megakasztja. Úgyhogy ezt el kell kapni, és pl kiírni, hogy melyik entity_id-nél milyen probléma volt.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

DruTa képe

Kösz, nem tudom mit mondasz, ez nekem még kínai, de mint írtam logikus volt nekem is, hogy nem kezeli, miért is tenné.

Valószínűleg a Feeds modul nem erre van kitalálva. Mást viszont nem találtam, ami ezt csinálná. Próbáltam még a Feed Import modult, de azt meg nem tudtam működésre bírni, viszont nagyon sok beállítása van.

0
0