it-swarm-eu.dev

Mohu použít jednoduché XML k napájení pohledů?

Chci využít schopnost zobrazení ke zpracování mých dat, která pocházejí z jednoduchého xml představujícího pouze tabulku mřížky nebo tabulky

<list>
  <listpos id="12312">
    <foo>attr1</foo>
    <bar>attr bar</bar>
    ...
  </listpos>
  <listpos id="124412">
    <foo>attr 2</foo>
    <bar>attr barxy</bar>
    ...
  </listpos>
  ...
  ...
</list>

Hlavním úkolem je tedy zobrazit mapu tabulky, vyloučit některé sloupce, filtrovat a prohledávat atd.

Je to možné s názory? Řekl bych, že to bude plugin? Nebo je plugin pouze pro výstup? (Vím o json, atom atd. Plugin/moduly.)

Vyzkoušel jsem také modul feeds plus xml/xpath parser a nechal dovozce vytvořit uzly, aby je mohl zobrazit pohled. Ale musím je odstranit i poté, co se uživatel odhlásí, protože se jedná o citlivá data a neměli by být na webovém serveru uchováváni.

A co kombinace těchto dat s jinými zdroji, tj. Spojení s tabulkou uzlů?

5
groovehunter

Existuje modul pro toto: Zobrazení XML .

2
Daniel Wehner

Nejlepší způsob, jak toho dosáhnout, by byl

  1. Napište modul pomocí jednoduché knihovny XML, která extrahuje data z xml
  2. Uložte tato data do uzlů
  3. K zobrazení těchto dat použijte zobrazení

Výhody Použití tohoto přístupu

  1. Čtení xml znovu a znovu pro návštěvníky
  2. Řekněme, že se změní struktura XML, nebudete mít v zobrazení prázdné nebo chyby

Podle mých zkušeností je analýza XML pokaždé velmi drahá.

Váš případ se však liší, protože data xml jsou citlivá a je třeba je ze serveru kdykoli vymazat, uživatel se odhlásí.

Vytváření uzlů a jejich mazání tedy není velmi chytrý krok.

Nejlepší způsob by bylo vytvořit vlastní modul pomocí jednoduché knihovny xml a vůbec nepoužívat pohledy. Uložte tato data do dočasné tabulky, ukažte je pomocí vlastního modulu nebo vlastního dotazu sql a poté pomocí odhlášení uživatele odstraněním tabulky a xml, jakmile se uživatel odhlásí.

2
Nikhil

To není úplně pravda. Pohledy mohou používat popisovače, které se nespoléhají na SQL. http://drupalmodules.com/module/entityfieldquery-views-backend je příklad modulu, který se snaží něco takového dělat. Jsem si jistý, že existují i ​​další. http://developmentseed.org/blog/2009/feb/05/extendr-flickr-and-views je zajímavá případová studie něčeho podobného.

Jak již bylo řečeno, pravděpodobně to není jednoduchý úkol.

1
user112

Pokud chcete, aby pohledy přistupovaly k vašim datům XML, musíte je uložit do databáze. To vše, co pohledy skutečně dělá, je vytvořit SQL pro vás a poskytnout některé různé tematické funkce pro výstup dat.

Některé moduly vám s tím mohou pomoci. Protože máte vlastní data, modul data je pravděpodobně nejvhodnější. Takto by byla data uložena ve vlastní tabulce.

Mohli byste vytvořit úlohu cron, odstranit záznamy starší než x hodiny/dny, abyste se ujistili, že data neukládáte natrvalo. Tímto způsobem je to trochu čistší a nejlepší volba, na kterou mohu myslet.

0
googletorp