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

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

Half Cut Cell Solar

Hey I know this is off topic

Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates. I've been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.|

I will right away take hold

I will right away take hold of your rss feed as I can not in finding your e-mail subscription link or newsletter service. Do you've any? Please let me recognise so that I may just subscribe. Thanks.|

Hurrah, that's what I was

Hurrah, that's what I was seeking for, what a information! existing here at this blog, thanks admin of this site.|

My brother recommended I

My brother recommended I might like this website. He was entirely right. This post truly made my day. You cann't imagine simply how much time I had spent for this information! Thanks!|

Hello, just wanted to

Hello, just wanted to mention, I enjoyed this blog post. It was helpful. Keep on posting!|

Tremendous issues here. I am

Tremendous issues here. I am very happy to see your post. Thanks a lot and I am taking a look ahead to touch you. Will you please drop me a mail?|

This is very fascinating,

This is very fascinating, You're an overly skilled blogger. I've joined your feed and look ahead to searching for more of your great post. Also, I have shared your website in my social networks|

I always emailed this web

I always emailed this web site post page to all my friends, for the reason that if like to read it next my links will too.|

I always spent my half an

I always spent my half an hour to read this website's content everyday along with a cup of coffee.|

Simply wish to say your

Simply wish to say your article is as amazing. The clearness in your post is just great and i could assume you're an expert on this subject. Fine with your permission let me to grab your feed to keep up to date with forthcoming post. Thanks a million and please keep up the gratifying work.|

Piece of writing writing is

Piece of writing writing is also a excitement, if you
be acquainted with afterward you can write otherwise it
is complicated to write.

Outstanding post however , I

Outstanding post however , I was wanting to know if you could write a litte more on this topic? I'd be very thankful if you could elaborate a little bit further. Thank you!|

Hi, yup this paragraph is

Hi, yup this paragraph is genuinely good and I have learned lot of things from it about blogging. thanks.|

Thank you for sharing your

Thank you for sharing your info. I really appreciate your
efforts and I am waiting for your further post thanks once again.

I was recommended this

I was recommended this website by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my trouble. You are amazing! Thanks!|

Very great post. I simply

Very great post. I simply stumbled upon your weblog and wanted to say that I've truly enjoyed browsing your blog posts. In any case I will be subscribing for your feed and I am hoping you write again very soon!|

If some one wants expert view

If some one wants expert view concerning blogging then i recommend him/her to go to see this web site, Keep up the good work.|

I feel this is one of the

I feel this is one of the most important information for me. And i am satisfied studying your article. However wanna remark on few basic issues, The web site style is perfect, the articles is really great : D. Excellent job, cheers|

Hi there! I could have sworn

Hi there! I could have sworn I've been to this blog before but
after going through a few of the articles I realized
it's new to me. Nonetheless, I'm definitely happy I found it and I'll
be book-marking it and checking back often!

Hi there, i read your blog

Hi there, i read your blog occasionally and i own a similar one and i was just curious if you get a lot of spam remarks? If so how do you protect against it, any plugin or anything you can advise? I get so much lately it's driving me crazy so any support is very much appreciated.|

Hey! I know this is somewhat

Hey! I know this is somewhat off-topic however I had to ask. Does building a well-established website like yours require a large amount of work? I'm completely new to blogging but I do write in my journal every day. I'd like to start a blog so I can share my own experience and thoughts online. Please let me know if you have any ideas or tips for brand new aspiring blog owners. Thankyou!|

I simply couldn't go away

I simply couldn't go away your website prior to suggesting that I actually enjoyed the standard info an individual supply on your visitors? Is going to be again frequently to check up on new posts|

Hey there! I could have sworn

Hey there! I could have sworn I've been to this website before but after reading through some of the post I realized it's new to me. Anyways, I'm definitely glad I found it and I'll be book-marking and checking back often!|

Greetings! Very helpful

Greetings! Very helpful advice within this article! It
is the little changes that make the biggest changes.
Many thanks for sharing!

Hey I know this is off topic

Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates. I've been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.|

This is a very good tip

This is a very good tip particularly to those fresh to the blogosphere. Brief but very accurate info… Appreciate your sharing this one. A must read article!|

Heya i'm for the first time

Heya i'm for the first time here. I came across this board and I find It really useful & it helped me out much. I hope to give something back and aid others like you aided me.|

Greetings from Los angeles!

Greetings from Los angeles! I'm bored at work so I decided to check out your website on my iphone during lunch break. I enjoy the info you provide here and can't wait to take a look when I get home. I'm shocked at how fast your blog loaded on my cell phone .. I'm not even using WIFI, just 3G .. Anyhow, good site!|

This paragraph will help the

This paragraph will help the internet visitors for creating new blog or even a blog from start to end.|

Your mode of describing

Your mode of describing everything in this article is genuinely fastidious, every one be able to easily be aware of it, Thanks a lot.|

My brother recommended I

My brother recommended I might like this website. He was totally right. This post actually made my day. You can not imagine simply how much time I had spent for this information! Thanks!|

I needed to thank you for

I needed to thank you for this good read!! I absolutely enjoyed every bit of it. I have got you book-marked to look at new stuff you post…|

Huge Touch Screen

Fantastic web site. Plenty of

Fantastic web site. Plenty of useful info here. I am sending it to a few
pals ans also sharing in delicious. And naturally, thanks on your
sweat!

Black Range

Cloth Yoga

Do you mind if I quote a

Do you mind if I quote a couple of your posts as long as I provide credit
and sources back to your website? My blog is in the
exact same niche as yours and my visitors would certainly benefit from a
lot of the information you present here.
Please let me know if this okay with you. Appreciate it!

you're actually a just right

you're actually a just right webmaster. The website loading velocity is incredible.
It kind of feels that you're doing any distinctive
trick. Also, The contents are masterwork. you have performed a fantastic task on this
subject!

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.