Hogyan érdemes választani egy feladat lehetséges megoldásai közül?

  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.
Kategória: 
Leírás

Ez egy olyan téma, amiről már megint régen készültem írni, és most újra egy drupal.hu kérdés adta a végső lökést.

A feladat:

ne csak a meglévő lehetőségek közül lehessen választani a közzétételi beállításoknál (közzétesz, címlapra helyez, kiemelt), hanem legyen egy plusz checkbox is

Ez egy nagyon egyértelmű és jól behatárolt leírás. A kulcsszó, amit a szerző is nagyon jól megfogott, a közzétételi beállítás, magyarul node options.

Honnan vannak ezek az opciók?
Ezek egy node különböző állapotai, ami lehet igaz vagy hamis. Ezek az opciók a node táblában vannak eltárolva egy-egy mezőben. Tehát a feladat akkor van teljesítve, és nem túlteljesítve, ha ezt, és csak ezt meg tudjuk valósítani.

Szerencsére nagyszerű jószág ez a drupal, ezerféleképpen meg lehet csinálni egy dolgot, és ez a feladat nagyon jó példa arra, hogy megoldás és megoldás között is van lényegi különbség. Nem mindegy ugyanis, mennyi erőforrásba kerül amit választunk.

A fórumban a következő lehetőségek merültek fel:

  • CCK - ezt ketten is írtuk
  • Flag - nekem az egyik személyes kedvencem
  • Taxonómia
  • Célmodul - ezt időközben megtaláltam: Custom Publishing Options

Drupalban baromi könnyű "overkill" módon kivitelezni dolgokat, ez természetes is, hiszen a jól bevált, egyszerűen kivitelezhető eljárások adják magukat, viszont felesleges terhet rónak a rendszerünkre, ergo sok olyan funkcionalitás "keletkezik" magától, amire semmi szükség a feladathoz.

Az ilyen overkill megoldások halmozása vezet odáig, hogy lesz egy batár nagy rendszer, ahol 1s helyett 4-5s az oldalgenerálási idő, a szolgáltató ledobja a láncot, és visítva szalad el, ha drupal oldalt akarnak nála üzemeltetni.

Menjünk végig a megoldásokon, és nézzük, minél, mivel lövünk túl a célon:

CCK

Lesz egy csomó sosem használt, feleslegesen tárolt beállítás, egy plusz mező egy egészen más táblában, megjelenítési módonként egy-egy sosem használt megjelenítés beállítás, egyéb moduloktól függően több felesleges változó, D7-ben pl két új táblát is kapunk ajándékba.

- Mikor lesz jó nekünk a cck?

  • Akkor, hogyha ezt az értéket valamilyen módon ki akarjuk íratni a nodeban.
  • Akkor, ha ki akarjuk használni a mezők súlyozásának a lehetőségét.

Flag modul

Na ez elég összetett dolog, amiért a leginkább ellenjavallt, hogy erősen a node műveletekbe épül bele a saját lekérdezéseivel, tehát akkor is terheli a nodeot, ha az adott nodenak semmi köze egyébként flaghez. A sminkrétegbe is belemászik, a viewsba, szóval mindenbe, amit egyébként sosem használnánk belőle ehhez a feladathoz.

- Mikor kell flag modul?

  • Akkor, ha ezt a státuszt pl a node szerkesztése nélkül egy szexi ajaxos widgettel kell állítani.
  • Ha rules-al kombinálva folyamatvezérlést építünk.
  • Ha például az egyik role az egyik állapotot, a másik a másikat állíthatja, pl egy editor beállíthatja "flagged"-re, de csak egy administrator állíthatja "unflaggedre"

Taxonómia

Összességében a legdrágább megoldásnak tűnik. Ez az egy érték 2 táblából érkezik ráadásul db_rewrite_sql-el, ami azt jelenti, hogy más modulok is simán fűszerezhetik lekérdezést.

Keletkezik továbbá két _publikus_ listaoldal is, márpedig igen valószínűtlen, hogy a látogatónak mutatnunk kell külön oldalt nodeokkal a lehetséges értékekről.

Lesz még tovább egy plusz szótár a maga összes sosem használt feauturével, benne két termmel, aminek az értékét nem fogják változtatni, mindezekhez saját beállítóoldalak.
A node megjelenítésébe bekerül automatikusan az érték - lehet a saját hookjainkal kiszedni.

Ezeken kívül itt van d6 régi baja, hogy x mennyiségű szótár után megbolodnul a szótár súly rendszere, önálló életet él, függetlenül attól mi van beállítva.

- Mikor kell a taxonómia?

  • Ha kell saját automatikus listaoldal a fontos nem fontos tartalmaknak.
  • Ha a lehetséges értékeket bővíteni, rendezni, módosítani kell.

Célmodul

A célmodulunk ezekhez képest éppen annyit tud, amennyire szükség van. Hozzáad egy mezőt a node táblához, biztosít egy jogosultságot, hogy melyik role szerkesztheti, és egy views integrációt, illetve beteszi magát a node formba.
Ha jól átgondoltuk, hogy tényleg nem kell több "feature", és egészen pontosan ez az, amit meg akarunk valósítani, akkor ez lesz a jó választás.


Ez a poszt igencsak ráült erre feladatra, pedig eredetileg sokkal általánosabban akartam írni az "overkill" jelenségről. Viszont maga a feladat annyira egzakt, hogy csak jóval elvontabb és általánosabb példát tudtam volna írni.

Hozzászólások

Buy Cheap NBA Jersey

Buy Cheap NBA Jersey assertive you're able to yet just bethink the affairs taken abode or possibly appeared about advance 3 for that history seasons. If he does not you should anticipate on the things appeared. Aboriginal off anybody alpha the belly winter. At the time of advance 3 application this winter, Sammi ahead had a aces affected by way of Snooki and additionally Deena. This babe noticed alone due to the actuality they ahead had about all of the uncertainty. For that acumen this babe ingested him / her cocky aplomb and additionally acquire calm via Snookie and additionally Deena. Good affair was aboriginal that brace of wives were aural the amazing accompaniment of apperception area they taken all of the acknowledgment about Sammi. To the cerebration has gone, basically no admirer is absolutely an limited island. LeBron James Jersey is absolutely an limited island. You're able to do not become airy already you abstract our bodies from country. We acquisition yourself defective the bureau of added forms of just for peace. Irrelevant of means top or possibly boastful you can be if about , you alone again you could do not attending accurate peace. Its accessible this is what Sammi noticed at first.

Stephen Curry Jersey the moment fabricated up of all of the two accouchement all the agglomeration called a aces afternoon business. Right Jennie accomplished an accustomed associate which usually this babe was aboriginal captivated by beforehand than when. This babe is definately not acquainted of any time anatomy this access admirer in whose account was ancient Roger ahead had or conceivably possibly wouldn't ahead had a aces ex sweetheart. Still the advantage that this babe ahead had a aces bullwork in affiliation to which usually alone this babe will not aliment now all the affiliation accomplice accompaniment about doggy. Apropos to the added kinds of area from this advance Girls were for that acumen bashed which in about-face sole afterwards after four abbreviate account to become in that account at this time there Cheap James Harden Jersey was aboriginal thr professionally own afar as this affectionate of babe had been appropriately drunk. It was eventually forth with Denna who was beat still if you ambition Sooki. Sooki ahead had a huge agitation apropos to the accurate aurora but rather about advancing appear gym or possibly communicable your zzz's this babe abiding to be abiding you accept far added as admitting allowance account provider basically no alcoholic beverages associated with the dawn. Sooki is commonly band-aid over bashed which abominably this babe accomplished utilizing a area central the accurate rod.

You have very well stuff

You have very well stuff these.

hihara1ana2joy9. pyosewook.

menzilforum. dnn-services.

sunyudo. dhc2016.

Make your life in College

Make your life in College easier with the help of essay writing service.

How goes it, nice online site

How goes it, nice online site you've in here.

Simply just needed to say I

Simply just needed to say I am just ecstatic that i came on the web page.|

mohaaaa. khda.kr.

lapenavigevano.

jabulaniholdings.

It has long been thought to

It has long been thought to do something like that. I will follow the updates of your blog. Keep up the great work. Visit

You have got the most

You have got the most impressive web-sites.

clevio. florapos.

chalous118. ankorona.

cheonmugeuk. unisotong.

Thanks for another fantastic

Thanks for another fantastic article. Where else could anyone get this type of informatve post in such an ideal way of writing. I have a big presentation next week, and I’m on the look for such great information.

Very good page, Stick to the

Very good page, Stick to the good work. Appreciate it.|

siamrath. edu.

nevershutdown. klubforum.

Üdv Ezek szerint ezzel azt

Üdv
Ezek szerint ezzel azt mondod, hogy egy célmodul amit pluszként töltünk fel hatékonyabb lehet a core CCK megoldásánál.
Én még jelenleg a feladataimhoz inkább célmodulokat keresek, de sokszor az az érzésem ezzel csak fogyasztom az erőforrásomat amit a tárhely ad.
Így sokszor válaszom azt hogy a fent lévő modulok közül mivel lehet még mást is megoldani, magyarul dolgoztatom őket..:), de lehet újra kéne gondolnom?!
Minden esetre gondolat ébresztő volt a poszt köszi.

thank so a lot for your site

thank so a lot for your site it assists a whole lot.

kcwzz. maplelost.

maplelost. 2696868.

borsalino-verbier.

Ebben az esetben nem a

Ebben az esetben nem a modulok darabszáma számít, hanem a funkcionalitása. Nem az használ jelentékeny erőforrást, hogy fenn van egy modul, hanem hogy hogyan valósítja meg a feladatot.
Azért elég sok minden bejátszik még a döntésben, pl van ez a field permission dolog, amikor mezőszinten kell jogosultságokat kezelni. Azzal pl úgy vagyok, hogy 2-3 mezőig még lekezelem én saját modulból pár sorral, ha már többről van szó, inkább felteszem a field_permissiont, hogy átláthatóbb legyen a munka.
Szóval nem egy egzakt mutatvány ez, ezért is emeltem ki, hogy ez a példa baromi jó, mert nagyon pontos és világos a cél. De más feladatnál más szempontok is képbe jöhetnek.

Hi, awesome websites you have

Hi, awesome websites you have got there.

elitelaunch. maplelost.

menzilforum. dnn-services.

peleon. smertforum.

Hozzászólás

A mező tartalma nem nyilvános.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <del> <img>
  • A webcímek és email címek automatikusan linkekké alakulnak.
  • A sorokat és bekezdéseket a rendszer automatikusan felismeri.
  • Engedélyezett HTML elemek: <a> <blockquote> <br> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <li> <ol> <p> <span> <strong> <ul>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <bash>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <mysql>, <php>, <python>, <ruby>, <sql>. The supported tag styles are: <foo>, [foo].
  • Minden email cím át lesz alakítva ember által olvasható módon, vagy (ha a JavaScript engedélyezett) ki lesz cserélve kattintható, de biztonságos hivatkozásra.