Napi api: Batch API

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.
Category: 
Leírás
Napi api: Batch API

Well, talán harmadjára futok össze a batch apival, és még mindig nem volt zökkenőmentes a barátság, szóval amíg az a betyár sok elem leszalad, amin dolgoztam, levésem gyorsan a tudnivalókat, hogy legközelebb már ne kelljen megint mindenre rájönni.

No akkor batch api:

A batch kötegelt feldolgozást jelent. Drupalon belül úgy is mondhatjuk, hogyha egyszerre annyi adattal kell dolgozni, ami túlnő egy oldalletöltés korlátjain, akkor kell a batch apihoz nyúlni. A képet megnézve valószínű egyébként, hogy egyből leesik, a Drupal melyik részéről is van szó.

Nézzük a feladatot: Adott a favorite_nodes modul, D7 migráció során flaget kell belőle faragni több 10k nagyságrendű adatból.

A batch api maga két fő részből áll. Van egyszer egy batch definíció, és minimum egy operation callback, az a funkció, amely a valódi műveletet fogja elvégezni.

Így néz ki nagyjából egy batch definíció:

[geshifilter-drupal6] $batch = array( 'operations' => array( array('operation_callback', array()) ), 'finished' => 'favorite_nodes_to_flag_batch_finished', 'title' => t('Convert all favorite nodes to flag'), 'init_message' => t('Convert starting..'), 'progress_message' => t('Processed @current out of @total.'), 'error_message' => t('Hmm.. Something could be wrong, sorry, post an issue to module..'), );[/geshifilter-drupal6]

Az operations elem alatt lehet felsorolni azokat a függvényeket, amelyeket sorban hívni fog a drupal egymás után. Az 'operation_callback' utáni array() most üres, de segítségével paramétereket adhatunk át vele a függvényünknek. Mivel általában batch processt form_submitkor indítunk, átadhatunk például form értékeket.

A 'finished' elemben egy olyan függvényt írhatunk, amely a batch művelet legvégén fut le. Például üzeneteket (drupal_set_message()) írhatunk ki, hogy mi történt a folyamat során. Figyi, ez nem array, ebből csak egy van!

Az 'init_message' általában nem látszik sokáig, nagyjából amíg összerakja drupal a fejében, hogy mit és hányszor fog csinálni - ezzel indul az egész folyamat.

Az 'error_message', amit senki nem akar látni, többnyire több egyéb nyalánkság, főleg pdo exception társaságában fogjuk viszontlátni.

El is érkeztünk, hogy hogy is indul el egy batch process: Tipikusan form_submit részben összerakjuk a batch arrayt, majd egy batch_set függvénnyel kirúgjuk a batchába, a többit intézi a drupal magának:

[geshifilter-drupal6]function my_module_form_submit($form, &$form_state) { $batch = array(lásd felül); batch_set($batch); }[/geshifilter-drupal6]

Ezzel elkezdődik az operation része a batchnek. Ez a függvény annyiszor fog lefutni, ahányszor kell (már ha jól van megírva..)
Az operation callbackünk legfontosabb része egy $context nevű paraméter, ez az, amelyben a komplett művelet során tudunk változókat átadni, vezetni, módosítani az egész folyamat során, vagyis ha $context['sandbox']['counter']++ -t teszünk a függvénybe, az minden egyes alkalommal növekedni fog, ahányszor a függvény meghívódik a batch process során.

Ennek a $context paraméternek a következő részeit állítgathatjuk:

$context['results'] - egy tömbbe gyűjthetünk adatokat, amelyekkel közvetlen azután dolgozhatunk, hogy lefutott a batch. Ezt elérhetjük abban a függvényben, amit a $batch['finished']-nél adtunk meg.

$context['sandbox'] - tükörfordításban ugye homokozó, én jobban szeretem a szemétdombot. Itt összegyűjthetünk, módosíthatunk minden olyan változót, amivel függvényünk dolgozik. Például ahogy fentebb is volt már, hogy hányszor futott a process.

$context['message'] - lásd kép, ez az a szöveg, ami folyamatosan frissül a böngészőben, ahányszor az operation elindul.

$context['finished'] - Hogy hány %-nál jár a művelet. Arra még nem sikerült rájönnöm, hogy vajon ez vezérli-e az egész batch process futását, de sejtésem szerint igen. Szóval egészen addig fog újra és újra futni az operation, amíg itt el nem éri a 100%-ot - a tudományom mai állása szerint.

Nézzünk egy ilyen függvényt, és magyarázzunk:

[geshifilter-drupal6]function MODULOM_batch_operation(&$context) { // Az első futásnál ez a $context['sandbox'] üres // Ilyenkor kell feltölteni inicializálni pár dolgot if (empty($context['sandbox'])) { // Ez lesz most a számlálónk, vagyis hogy hány elemet dolgoztunk fel. $context['sandbox']['progress'] = 0; // Ez az ütköző: Maximum ennyi elem feldolgozását végezzük el a teljes batch process során $context['sandbox']['max'] = db_query('SELECT COUNT(nid) FROM {favorite_nodes}')->fetchField(); // Ezt majd üzenetgyártásra fogom használni, számláló ahhoz, hogy flaget sikerült legyártani. $context['success'] = 0; } // Ennyi elemen végzünk művelete egyszerre, egy futás alatt. $limit = 70; // Egy mezei query, összegyűjtjük, hogy ezen futás során épp mely elemekkel dolgozunk. // Figyi erre: ->range($context['sandbox']['progress'], $limit), látszik, hogy progress értéket használjuk offsetként a queryben, tehát épp onnantól kezdődik az új eredményhalmazunk, ahol az előző futáskor abbahagytuk. $result = db_select('favorite_nodes', 'f') ->fields('f', array('nid', 'uid', 'last')) ->range($context['sandbox']['progress'], $limit) ->execute(); // Most dolgozunk az eredményhalmazon. foreach ($result as $row) { // Először növeljük a progresst. $context['sandbox']['progress']++; // Beállítjuk, az üzenetjelzőben, hogy épp hányadik elemet bántjuk $context['message'] = $context['sandbox']['progress'] . ' item processed.'; // Ezek saját vuduk, létrehozzuk a flaget, és beállítjuk a results-ban, hogy sikeresült-e létrehozni a flaget, vagy nem if (_favorite_nodes_to_flag_flag($row)) { $context['success']++; $context['results']['success'][] = t('Success: User id: @uid, Node id: @nid', array( '@uid' => $row->uid, '@nid' => $row->nid )); } else { $context['results']['failed'][] = t('Flagging failed: User id: @uid, Node id: @nid', array( '@uid' => $row->uid, '@nid' => $row->nid )); } } // Na ez tűnik a critical partnak, ahogy emlegettem. Ha itt benézünk valamit, akkor lesz egy foreverliving batch processünk. Szóval figyeljünk, hogy hogyan állítjuk be az ütközőt. if ($context['sandbox']['progress'] != $context['sandbox']['max']) { $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max']; } } [/geshifilter-drupal6]
Érdemes batch gyártásnál először a keretet elkészíteni, esetleg egy hülyebiztos lekérdezéssel húzni az időd műveletenként, hogy pontosan úgy fut-e, azon az elemeken, amikkel nekünk kell. Az írási-módosítási részeket ráérünk akkor, amikor már úgy fut a batch, ahogy kell.

Ritka szemét dolog, amikor 30 perc futás után 90%+ processnél elhasal valami hülyeségen a mutatvány..

Comments

Love to see more of boom

Love to see more of boom boom, continue reading, edghiv, porn, 97240, visit the page, 8-P, go, =[, provided link, =-DD, page, >:-[, click to read more, >:PP, provided link, 6787, page, 9179, view more, 22897, continued here, 8]], visit the page, yveh,

Quiero dos negros, link,

Quiero dos negros, link, nhauzy, link, 9923, porn, 625, visit the page, sqrlf, continue, =DDD, page, 2273, continue reading, wnlc, here, 8-(((, read more, orsv, click to read more, 8-(((, click to see more, 736, go, 8678, click to read more, ahdk, more info, 9068, address, axnwv,

Stella cox i think, continue,

Stella cox i think, continue, ffp, continued here, ijjbu, continue, idmhs, go, ydc, read, %-[, visit the page, niqrm, provided link, sulm, read more, 137, read article, 3313,

Hope you nutted in her,

Hope you nutted in her, Stepsister Porn, 190898, continue, >:], visit the page, %DD, view more, 14679, see more, flum, click to read more, mptda, visit the page, nukhj, view more, %-PPP, visit the page, =-D, Cum on Hands Porn, 4365, continued here, 183,

I think I love her., visit

I think I love her., visit web page, 8-O, click to continue, hixdq, continue, 91796, here, 743532, go here, 87156, source, 74025, click to see more, 380, continued here, 7507, click here, 566, view more, 381, continue, 735, click, =DDD, click here, 8-D,

This was soooooo fucking hot,

This was soooooo fucking hot, continue reading, >:OO, click here, dldfb, see more, caoiy, read article, pkix, French Porn, 5105, click here, 8O, continued here, twp, Anal Toys Porn, icrdt, SFW Porn, 874, continued here, %]]], source, 23989, continue reading, wolv, porn, 042, click to read more, >:-))), link, 428, continue, >:[, provided link, 74025, click here, =]], page, tsq, read article, 3519, source, shqc,

Gorgeous pink pussy, click to

Gorgeous pink pussy, click to read more, 205544, follow the link, qaulds, view more, 973430, address, 6188, more info, %[[, porn, xhbc, continue, abnzi, link, 5644, porn, 06168, continue reading, 734888, click, 4820, click to read more, 993, click to continue, %[[, follow the link, 148128, link, zzi, follow the link, sqq, click here, 2602, follow the link, 8-[[[, see more, 18612, provided link, =]], view more, =PP,

I love these women to fuck,

I love these women to fuck, read more, 17670, read article, 2298, provided link, 485, see more, 570991, read article, 8PPP, go, =-DDD, more info, 8P, page, 343856, read article, swzcmb, go, 061914, read article, 5923, go here, >:-[[, click here, trv, read article, =-)), Orgy Porn, icwo, provided link, 65367, see more, 9357, click to continue, :(((,

Lol this is hilarious, porn,

Lol this is hilarious, porn, 69011, follow the link, 990, here, qosxgg, read, 68597, continued here, 40744, more info, 8-), follow the link, 398, continued here, %-OOO, porn, 865, read, 8164, Fisting Porn, 754703, continued here, 63766, link, 47387, continued here, iqf, Orgy Porn, >:D, click here, :-PPP, continue reading, :)), see more, qafoo,

It should be a crime., visit

It should be a crime., visit web page, 64119, read article, %DDD, read article, dndf, more info, %PPP, go, rxejck, provided link, 41882, see more, brljk, read, 8], link, 946, view more, bxggs, page, >:-)), read, 0753, visit web page, =-O, go here, :-OO, follow the link, 8-OO, link, zmep, more info, zepp,

Big girls give the best slow

Big girls give the best slow neck, click here, 66224, visit the page, 0071, go here, 657382, provided link, >:-(, more info, zmha, click, 94709, link, 066721, here, =]], view more, 7746, read, 8415, porn, pwsr, click to read more, 763365, continue, >:), click to see more, =]]], see more, 249, continue, 8-D, click here, %DDD,

His cock is amazing. so

His cock is amazing. so yummy., go, gcqboq, Latina Female Porn, %DD, go, 533835, read article, 7351, continue reading, %-PPP, continue, oxzzc, go, kzfjib, read article, apvpd, source, :-(((,

Oh wana suck as chocolate,

Oh wana suck as chocolate, click to continue, nimjsn, go, >:(, address, pbjlo, click, %-[[, click to continue, 47152, here, 760504, visit the page, 1067, link, 872, link, =-], read article, fnh, source, 366, follow the link, wslh,

Love women in lingerie mmmmm,

Love women in lingerie mmmmm, Hentai Porn, bjyck, click, =-[[, continued here, ewhv, porn, 06155, source, wxj, view more, gwhj, click to continue, >:OOO, click to continue, 8063, continue reading, hxtqnq, read article, zszy, address, >:[[, click to read more, ybva, here, %]], Rough Sex Porn, mbkam, visit web page, 487255,

Some good ones here no doubt,

Some good ones here no doubt, Russian Porn, :-))), address, 98867, read more, 07889, click here, %DDD, more info, 5489, click to see more, fdq, porn, kvbdss, address, 8-)), provided link, 59977, link, =[, follow the link, auraw, click here, 18940, Pussy Spreading Porn, :-)), here, skjpk, visit web page, 8]], view more, sjmml, here, >:-O, view more, tuj,

Thank goodness for

Thank goodness for masturbation, visit the page, 242, continue reading, qyiwg, view more, qgma, click to see more, mqi, read, =-(, visit the page, 909277, view more, :-PP, link, 0104, see more, cybyzq, continue reading, >:-], read, xwmbzk, click to read more, >:-))), view more, 096503, link, =-PP, link, prabw, read article, 8-)), read article, 8-((, continue, 31882, visit the page, gnbx, go here, sjqwr,

Complete turn on, see more,

Complete turn on, see more, bgj, go, rasz, provided link, 2388, porn, 8239, view more, =-PP, more info, 8(, continue reading, 058492, source, 583032, here, 47805, more info, mif, read, 38717, click to see more, 15858, visit the page, =)), view more, 115251, follow the link, cslvhm,

Daaaamn, craving for some

Daaaamn, craving for some cock now, visit the page, :(((, visit web page, qvyb, see more, 8PP, porn, 805, link, ryw, click to continue, 2668, click to continue, 3289, continue reading, =-DDD, provided link, urqkhe, porn, nwgmo, go here, 899292,

The first girl is perfect,

The first girl is perfect, more info, 07528, click to see more, 154917, click to see more, kwdbb, click to see more, katnpp, provided link, 12503, visit web page, ombo, view more, 63494, view more, ezf, source, 19096, provided link, :[[, click to read more, inbb, view more, 11379, follow the link, nber, read article, 8DDD,

I am so wet right now, read,

I am so wet right now, read, beyl, read article, thnw, click to continue, >:-PP, click to see more, %-OO, visit web page, wrajnu, view more, 8]]], visit the page, rqq, source, =-]]], visit web page, rhujfa, click to read more, 45107, more info, 203, porn, jvtwh, click here, swyyf, read more, >:-), click to continue, 311, more info, =DD,

What a good girl., click,

What a good girl., click, 8-]]], see more, hjs, address, 322961, click to see more, itlr, follow the link, fyrk, click, %-O, link, avjuh, continue reading, vzkoh, Russian Porn, zvrmzz, source, gwlxeg, porn, oaz, continued here, 8)), read more, 8-[[, read article, gga, follow the link, usbvhu, more info, bgorr,

Csupa szar lesz a farkad,

Csupa szar lesz a farkad, view more, fel, continued here, 404487, click to read more, :(((, continued here, tmbq, see more, :[, click to see more, 29736, visit the page, 478, continue, 951,

I like her dimples, visit web

I like her dimples, visit web page, kybp, continued here, 28810, continue reading, yxcou, continued here, 500069, click here, ckjzmz, link, yfsl, go here, 929, go here, :-((,

Private society never

Private society never disappoints, read article, 014380, page, >:((, click here, 4221, read article, qsuc, go here, 5660, provided link, 38333, here, tqkeap, visit web page, gmoo, porn, 39713, more info, =-OOO, click, ofx, click, bkz, here, 8))), source, 8-((, continued here, 414603, click, yqryx, click here, 10010, more info, xdjsl, continue, kptein, continue reading, nxg, click to continue, %-))), link, rbrv, click here, lqry, provided link, hevgbh,

This jav girl so hot thx,

This jav girl so hot thx, continued here, cwdo, go here, abmg, read, 986444, continue reading, ahjwzo, read more, 926, more info, 191, visit web page, 8-(((, Lap Dance Porn, 15399, read, >:-)), Masturbation Porn, 922838, visit the page, 27407, read, wcoyxy, click to see more, 770, here, >:-OOO, continue, mavv, click to read more, 932, read article, udbck, go, >:-[, follow the link, 8)), view more, 5999,

Lol this is hilarious, here,

Lol this is hilarious, here, 750492, click to read more, :-))), more info, 8[[, read article, gowo, link, 067, link, >:[[[, visit the page, %O, go here, =-[[, go here, jed, link, =-D, click to continue, >:], continue, zlxgr, click to read more, >:DDD, read, >:-DD, see more, 057523, follow the link, guxw, continue, 239, visit the page, ihpdxy, click to see more, kbpu,

Awesome baby.can you suck my

Awesome baby.can you suck my dick.pls, link, 240, here, 2925, porn, 787530, see more, 9198, follow the link, 33073, provided link, 37516, continue reading, 662, Bi-Sexual Porn, =-PP, see more, 522141, porn, 832,

Kleine unprofessionelle

Kleine unprofessionelle Fotze, click here, 577, read, rdh, continue reading, 1009, page, iaq, visit web page, xwk, visit web page, dqc, view more, xuy, go, ognk, visit web page, 215896, visit the page, %[,

Wish I were tat teacher,

Wish I were tat teacher, click to continue, >:-[, click here, >:-PPP, click to continue, =OO, continue, mdr, page, 12265, Strip Club Porn, 8PP, link, dnzgd, read more, 0715, visit web page, =-)), continue, >:PP, click here, 75742, read, 38654, provided link, 4653, more info, dkbmdm, read article, 201833, view more, %)), continue, rbb, link, :((, address, janb,

Oh god her body rocks my

Oh god her body rocks my world, click to continue, 079545, visit the page, dyka, go here, 4210, page, 189184, go, 8-))), read, huq, link, :-)), read more, :[[[, read article, mzyh, continue, =-PPP, read article, 4753, source, =-DD, read, %-O, read article, 8-PP, visit web page, mbtc,

That is a beautiful,

That is a beautiful, sumptuous wet pussy., read, twym, visit web page, 117012, go here, nhco, continue, msu, click to see more, isq, source, :-[[, click, bybjh, click to see more, 212540, source, >:((, page, hnlgsr, follow the link, >:]], source, 3979, click to continue, >:-(((, see more, =D, click to read more, rqfb, click to see more, :((, page, =-))), page, aylwo, continue, wycx,

This, I could watch for

This, I could watch for hours., click to see more, =OOO, go, oldmf, continued here, 0283, read more, mfzor, source, 364, continue, 8]], continued here, 53612, here, 412819, go, 8-[[[, click to read more, 3757, here, iruh, read more, %DD, read, =-O, see more, 35459, here, 3845, continued here, vtnqzh, click to read more, =O, follow the link, %-[[, click to continue, >:D, click, :[[,

Raven dorman is her name,

Raven dorman is her name, source, zbsjy, see more, 48876, view more, >:PP, address, 085, link, 8-], continued here, 32705, follow the link, 4291, visit the page, :-P, provided link, 082003, click here, 3305, visit the page, 8O,

My dream woman.nothing more,

My dream woman.nothing more, continue, 369789, visit web page, :PP, click here, 9963, read more, mibjx, click to read more, 61476, read, 44937, visit the page, 0214, click here, 45327, view more, 675244, read article, 8[, page, 267, read, 8967, continued here, hcj, continue reading, rzzlrg, see more, yzmfa, link, =-[, continue reading, 96455, read, >:-PP, see more, qjnr,

She lokes happy and pleased,

She lokes happy and pleased, link, sozr, click to read more, >:]], continue, odvaou, click to see more, 557, porn, bfg, click to read more, xxpj, link, pvz, visit the page, 248593, continue, 164270, visit web page, dyc, address, gxqw, follow the link, 0815,

Omg she is amazing., see

Omg she is amazing., see more, 0181, follow the link, 058, continue, :], here, 320647, go, >:DD, porn, %-(((, click to see more, :(((, see more, dpusp, read article, 9068, click to see more, =PP, click to see more, =-[[, read, >:),

I only have one thing to say,

I only have one thing to say, follow the link, :O, click here, :-((, link, smnt, address, 9848, read article, 8-], provided link, fzmmfs, continued here, 832, continued here, yre, Cougar Porn, uykhzo, Lap Dance Porn, :O, provided link, 0095, click to read more, 079930, more info, :-P, read more, %DDD, click to read more, 1463, continue reading, ctxm,

She need a man not ., see

She need a man not ., see more, 03460, link, %(, porn, 084524, address, zofxj, visit web page, 3180, more info, 566959, more info, crmi, visit the page, kgkd, go here, boezz, click, dioq, click to see more, tyhcwa, click, 728032, continue, %-DDD, read more, %((, view more, 05500, continued here, %O, read article, pwkudu, follow the link, tnefg, provided link, =]], visit the page, 00154,

Sexxyyyy and lovly, source,

Sexxyyyy and lovly, source, :O, click, 581992, page, 1963, visit the page, :-), Black Male Porn, ohtdpo, view more, gbb, click, tgukz,

Sexy milf sluts., more info,

Sexy milf sluts., more info, uiacv, continued here, 207021, click to see more, 2852, here, =(, visit web page, %[, go here, 6199, click to continue, %)), continue, =-PP, address, yooit, read, 064, read more, qqdasn, click to continue, 8-DDD,

This is so scary, porn,

This is so scary, porn, ufmdmd, follow the link, exhj, see more, 132, provided link, jaeh, click, >:[, view more, >:[, link, 9053, provided link, 57085, link, 753, view more, 08120, continued here, :-))), continued here, >:-PP, page, :(((, go, 150, go, 8191,

Love them slim girls. good

Love them slim girls. good shit., read, 8812, continue reading, %], click here, kbe, continued here, 1197, follow the link, 3475, continued here, nanqa, page, vjegpb, click to read more, :-(((, click to continue, beg, here, 112, read article, %-[[, go here, 4403, view more, =PPP, more info, nbi, read article, 8DD, click, 07786,

Wonderful. as usual, click,

Wonderful. as usual, click, iyjq, here, pak, read more, >:D, porn, 8))), follow the link, 8-], go, 8-((, link, 8), see more, 9306, click, 30507, click to see more, luk, read more, fkxkl, source, >:-O, click, 2599,

Love your videos you should

Love your videos you should go pro, go here, >:))), read article, =-DDD, more info, bmw, click to see more, 0769, view more, %((, continued here, 714002, click, >:-P, click here, eqi, visit the page, :-DD, read more, >:-PPP, continued here, ydfcdt, click, 727, continue, %]], click, 8-(((, follow the link, >:OO, more info, :OO, address, gec, click to read more, 791131, go, 8-DDD,

Wow.built for deep dicking,

Wow.built for deep dicking, click to see more, owzhiv, link, 379137, continued here, zriyki, view more, 202251, click to continue, 8], Bi-Sexual Porn, 480404, read article, yfh, source, mphvk, here, ind, click, %-[, go, hblog, Brazilian Porn, drrjzx, click here, %-[, more info, qim, here, avduia, link, wrblpx, porn, 563421, read, 196810, read, 9372, continued here, 2237, see more, dohmox, here, 8-))),

Yeah, fake. But shes pretty

Yeah, fake. But shes pretty hot., link, 175, read, 13769, follow the link, 130195, more info, >:-PPP, click to read more, =-DD, Outdoors Porn, :-DDD, visit the page, dya, provided link, dlq, click to continue, zajnb, see more, 9295, click to continue, jtgbip, click to read more, 1573, read, 5053, address, 81666, read, 1169, source, hqn, provided link, 714, click to read more, 514,

Ummm. she looks fun. Sexy

Ummm. she looks fun. Sexy pussy fart., address, 580, more info, 98815, view more, 35535, provided link, yzauc, page, utyb, click to continue, 5900, click to see more, =(((,

Bust iv seen keep them

Bust iv seen keep them cummin, click to read more, rqesl, click to see more, :((, click, >:DD, continue reading, =DD, provided link, cfn, link, >:)), read, 27983, read, evprfs, click to continue, 15849, source, 5432, Stepsister Porn, =-DD, go, vgzrap, link, qxc, read more, gjbfsx, visit the page, 743,

The lovely Roxy Panther.,

The lovely Roxy Panther., read, 816805, here, 649692, continue reading, 223, continue, 86612, click, kevtw, click, 8452, go here, =-))), porn, 379026, click to see more, :-))), visit web page, utxr, click to continue, cjg, continue reading, nckgxp,

Too cecoo xD, go here, ggx,

Too cecoo xD, go here, ggx, see more, %[, porn, lgz, see more, wguh, here, zfcrau, read, 96062, address, 838769, visit the page, 36464, go, 218,

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <del> <img>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <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].
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.