I’m working on universal CRON runner, which runs scripts saved somewhere in repository (more on this next time). Running webscripts isn’t so easy, as I thought, there is no scriptService.runScriptWithThisDescription(path) method, so I did some research and got some results, which I’d like to share. It’s possible to run java backed actions from js-webscripts. Everything you … Pokračovat ve čtení „Invoking scripts in Alfresco programatically“
I’m working on universal CRON runner, which runs scripts saved somewhere in repository (more on this next time). Running webscripts isn’t so easy, as I thought, there is no scriptService.runScriptWithThisDescription(path) method, so I did some research and got some results, which I’d like to share.
It’s possible to run java backed actions from js-webscripts. Everything you need is just a bean extending ActionExecuterAbstractBase with definition parent=“action-executer“ and it’s possible to access that bean from webscript like actions.create(„that_bean_id“). But not in reverse, at least not so simple.
First think I found was post on forum and advice to look at unit tests of webscripts, but everything I found were invocations through http. So I went deeper and figured out that Alfresco uses Rhino JavaScript implementation for scripts. At Rhino pages are good examples, so I had first working script soon. At following codelist I firstly load content of node (script body) from repository and then invocate script itself.
[code lang=“java“]
NodeRef nodeRef = new NodeRef("workspace://SpacesStore/4a96aaaa-bb80-eeee-aaaa-800a43fcddb8");
ContentReader contentReader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT);
InputStreamReader isr = new InputStreamReader(contentReader.getContentInputStream());
BufferedReader reader = new BufferedReader(isr);
But I wanted something more – some model in and out and something simplier. So I found ScriptService. Now all those long lines can be ommited, because there is executeScript method!
[code lang=“java“]
Map<String, Object> model = new HashMap<String, Object>();
model.put("foo", "bar");
Object result = scriptService.executeScript(scriptRef, model);
[/code]
Template rendering (I’m using FreeMarker’s ftls) is done the same way, but through TemplateService and processTemplate(nodeRef, model) method, which accepts the same model (altered by script running).
The most beautiful thing is ability of script (and also template) to call java methods, which classes are „injected“ through model, let’s see an example.
[code lang=“java“]
Map<String, Object> model = new HashMap<String, Object>();
model.put("something", new Something());
model.put("bar", "foo");
Object result = scriptService.executeScript(scriptRef, model);
String templateResult = templateService.processTemplate("workspace://SpacesStore/noderef", model);
. . .
public class Something {
public String text = "aaa";
public String getText() {
return "bbb";
}
}
[/code]
Now it’s possible to use script / template:
[code lang=“javascript“]
(** script **)
bar = something.text;
What is output? Is in templateResult „aaa ?=? aaa“? Nope! Script accesses class attributes directly, on the other side template accesses methods. So output is „bbb ?=? aaa“!!!
One more important thing: this JavaScript implementation is just a stub, so every alfresco service needs to be „injected“ through model, so for example it’s impossible to run stuff like this without modifications:
[code lang=“javascript“]
var connector = remote.connect("http");
var result = connector.call("http://www.google.com/");
[/code]
Remote object has to be injected (this script is from Share/Surf), more on this in this blogpost. You have to add ScriptRemote to model and create spring-webscripts-config-custom.xml with endpoints defined, see that post. Also another services needs to be injected – to get access to repository, search service… good starting point is Alfresco Wiki.
Edit: Native Java API Access described in wiki is wrong, IT IS POSSIBLE to access maps in JavaScript like this:
[code lang=“javascript“]
var value = javaMap.key;
[/code]
Včera jsem se zúčastnil BrMa (dle srazů „prvního neformálního pokecu na téma točící se kolem mobilních zařízení a jejich platforem“) a dojem z této akce byl více, než kladný. Původně jsem na akci šel čistě ze zvědavosti s představou, že to bude zase nějaká tuctovka ve stylu študáků lepících na koleně „ty webovky v PéHáPé … Pokračovat ve čtení „BrMo poprvé“
Včera jsem se zúčastnil BrMa (dle srazů „prvního neformálního pokecu na téma točící se kolem mobilních zařízení a jejich platforem“) a dojem z této akce byl více, než kladný. Původně jsem na akci šel čistě ze zvědavosti s představou, že to bude zase nějaká tuctovka ve stylu študáků lepících na koleně „ty webovky v PéHáPé protože to je teďka in a dělám to na tom…é…nette, protože v tom dělají všichni“, ale opak byl pravdou! Převažovali opravdoví vývojáři, jimž kódování je denním chlebem. A vývojáři ne tak ledajací – opět to nebylo 90% Android a 10% iOS, ale byly tu zastoupeny i další platformy – Symbian, Windows a dokonce i Bada v několika exemplářích (a aby se u RedHatů a další podobně proNokiácky smíšlející havěti nezlobili, musím zmínit i „kjůt“ přívržence Meega).
BrMo
Ale pojďme od začátku. Hned po příchodu jsem vyfasoval pěknou visačku a šáhnul si do krabice pro marcipánového maskota své oblíbené platformy – zeleného mužíčka. Večeři mi to sice nenahradilo, ale bylo to fajn! Ještě bylo možné si vzít jablko, ale protože bylo nakousnuté, tak jsem se k němu nějak neměl. Na srazech bylo přihlášeno okolo dvaceti lidí a mám dojem, že všichni opravdu dorazili a k tomu ještě někteří navíc, takže se Karel Souček za pořadatele (firma Trinerdis) chopil slova a celou akci uvedl. Z jeho slov bylo vidět zapálení pro celou věc a bylo cítit, že si to opravdu užívá a „myslí to upřímně“, velký dík!
Z celkového průběhu akce (jak bylo uvedeno výše – jednalo se o neformální pokec) si odnáším dva zásadní poznatky:
Nikdy nechci dělat pro Badu – je to systém tak příšerný, nedotažený a s chováním SDK velmi podivným, až mě nesmírná hrůza jímala.
Nokie stále neví, co chce (ale tak nějak tuším, že se chce soustředit na business sféru, jen je otázka, se kterou platformou a jak dlouho).
Ve sklépku
Čas utekl jako voda a když jsem prchal na vlak tak jsem při loučení zjistil, že výše zmíněný Karel Souček bude zřejmě ten Karel Souček, se kterým jsme v páté třídě v biologickém kroužku trhali mouchám nožičky, koukali mikroskopem na cibuli a šikanovali učitelku; a další člověk z Trinerdisu – Pavel Žák – se mnou sdílel navštěvování páté třídy základní školy. Svět je malej a rok na jedno BrMo moc dlouhej!
Všichni chtějí přijít s nápadem, který změní svět, který vydělá miliony a já nevím, co ještě. Většina těchto nápadů končí rozčarováním, protože nejsou realizovatelé, nebo nejsou realizovatelné v podobě, jak si je dotyčný budoucí milionář představuje. To je v pořádku. Protože jsem už pár nápadů zkusil realizovat a neuspěl, zkusím v tomto miniseriálu představit kroky, … Pokračovat ve čtení „Pozadí ubytovníčku“
Všichni chtějí přijít s nápadem, který změní svět, který vydělá miliony a já nevím, co ještě. Většina těchto nápadů končí rozčarováním, protože nejsou realizovatelé, nebo nejsou realizovatelné v podobě, jak si je dotyčný budoucí milionář představuje. To je v pořádku. Protože jsem už pár nápadů zkusil realizovat a neuspěl, zkusím v tomto miniseriálu představit kroky, které jsem se naučil a které doufám, že v případě Ubytovníčku povedou k dokončení a úspěšné realizaci tohoto nápadu.
Když jsem přišel s úplně prvním nápadem, okamžitě jsem koupil doménu a pak teprve začal přemýšlet, jak to vlastně udělat, co tam bude… Postupem času (dlouhého času) jsem pivotoval a pivotoval a vždycky se dostal k začátku realizace, ale tam jsem skončil. Proč? Nápad nebyl dopracovaný, nevěděl jsem, na koho budu cílit, co z toho bude dotyčný mít, co z toho budu mít já… Teď už vím víc: pokud dostanu nápad, chvíli nad ním přemýšlím a pak se ho snažím zapomenout. Pokud se další den ráno probudím a ten nápad tam je pořád a hlodá, pokračuju k další fázi – a tou je třídění myšlenek spojených s tímto nápadem.
Co mám: chuť něco dělat Co by mělo být výstupem fáze: nápady = množství trojic problém, řešení, zákazník
Co bude výstupem fáze: nápady, o kterých si myslím, že jsou dobré Co budu dělat: brainstormovat Co pro to použiju: mindmapper
Pro prvotní utřídění myšlenek používám myšlenkové mapy. Konkrétně jsem si zvyknul na nástroj mindmeister, který funguje jako online aplikace i jako aplikace pro Android, takže můžu přidávat myšlenky kdykoliv a kdekoliv. Používám dva postupy: „blití všeho“ a „brainstormovací mód“.
Mindmeister @ Android
Blití všeho používám především na začátku a je to takové prvotní nakopnutí, kdy ze sebe hrnu naprosto všechno, co mě napadá, a sázím to bez ladu a skladu (víceméně) do mapy, je to takové základní vytvoření budoucích uzlů celé mapy. K této fázi se už později moc vracet nedá, protože by tento přístup narušil započatou strukturu, takže je vhodné zauvažovat o vytvoření nové mapy a potom je nějak spojit. Ale popravdě – do této fáze se v udoucnu už nevracím, protože ji dobře pokryje fáze následující.
A to je fáze brainstormovací. Začnu v kořenu celého stromu a postupně procházím k listům, kdykoliv mě kdekoliv cokoliv napadne, okamžitě to přidám. Nedělám smyčky, postupuju systematicky dál a dál. Dost často skončím na listu a najednou se roztrhne pytel s nápadama a tak se chrlí.
Potom nastupuje třídicí mód, který je vhodné provádět způsobem „ráno moudřejší večera“, ale mnohdy se to ráno zvrhne v další chrlení :-). Jde to to, že se musí vyházet spousta nesmyslů (tohle je ovšem první fáze, větší odstraňování bude následovat příště), kterých je tam zákonitě velké množství, odstranit duplicity a trochu přeskládat strukturu. Ideální je, když je na projekt více lidí a tuto část udělá někdo jiný, nebo je při tomto čištění a uspořádávání přítomen. Člověk, který tyto nápady vychrlil může být slepý k některým nelogičnostem a nesmyslům a kontrola dalším člověkem tato místa odhalí a odstraní, případně poupraví. Pravdou ale je, že než hledat kompromis, lepší je danou věc úplně odstranit. Pokud bude potřeba, vyplyne tento fakt v budoucnu a může se zpětně zapracovat – méně je více.
Tato prvotní část se dá shrnout do celku „nápad“. Jde o to si uvědomit, že nápad není nápad sám, ale jeho rozpracování a zaznamenání do nějaké takovéto podoby, aby si člověk (a to především někdo druhý) mohl prohlédnout všechny souvislosti, náležitosti… Ještě pořád není vhodný čas na nákup domény, následuje další část – část ověření myšlenek a jejich ořezání, ale o tom zase až příště.
Byl jsem dneska odpoledne se psem na procházce a cestou sumarizoval, co jsem stihl a nestihl udělat v rámci skoro týdenní dovolené, kterou jsem si vzal, abych se mohl věnovat dalším projektům. Popravdě – myslel jsem, že se objeví jiskra stejně, jako se objevila v zimě mezi svátky, ale nebylo to tak žhavé. Moc jsem … Pokračovat ve čtení „Jak vysvitlo slunce“
Byl jsem dneska odpoledne se psem na procházce a cestou sumarizoval, co jsem stihl a nestihl udělat v rámci skoro týdenní dovolené, kterou jsem si vzal, abych se mohl věnovat dalším projektům. Popravdě – myslel jsem, že se objeví jiskra stejně, jako se objevila v zimě mezi svátky, ale nebylo to tak žhavé. Moc jsem tomu nedal a neměl jsem z toho dobrý pocit. Potom jsem si ale vzpomněl na jistý příběh a najednou mi bylo hrozně fajn :-).
Moje nová kancelář
Ten příběh zní:
Dva mniši se vydali do světa a po roce se vrátili zpět k mistrovi. Ten se jich hned ptá: „Nuže, co jste dělali celý rok?“ První žák: „Mistře, já celou dobu studoval, meditoval a pomáhal lidem.“ Mistr pokývá hlavou a říká: „Výborně, nepromarnil jsi svůj čas!“ a obrátí se k druhému, který také odpovídá: „Já jsem dobře jedl a dobře spal!“ Mistr se usměje a povídá: „Vidím, že ani ty jsi nezahálel!“
Postupem času si uvědomuju, že mám zažitých několik vzorců chování, které mnoha lidem můžou připadat divné. Nedávno se mě jeden kolega ptal, proč pořád píšu dlouhatánské mejly a nepoužívám telefon? Tato otázka byla impulzem k napsání tohoto blogpostu, ve kterém nejenom tyto důvodu shrnu. Třeba to někoho inspiruje :-). Pořád spím Už při studiu jsem … Pokračovat ve čtení „Jak funguje můj mozek?“
Postupem času si uvědomuju, že mám zažitých několik vzorců chování, které mnoha lidem můžou připadat divné. Nedávno se mě jeden kolega ptal, proč pořád píšu dlouhatánské mejly a nepoužívám telefon? Tato otázka byla impulzem k napsání tohoto blogpostu, ve kterém nejenom tyto důvodu shrnu. Třeba to někoho inspiruje :-).
Pořád spím
Už při studiu jsem si zvykl na jednu praktickou věc: jakmile se cítím jen trochu unavený, jdu okamžitě spát. A rozhodně to není promarněný čas. Zastávám názor, že tělo (potažmo mozek) samo ví, co potřebuje a řekne si o to. A protože nechci fungovat na dluh, tak mu vyhovím (jak je známo, tento dluh se projeví v tu nejméně vhodnou dobu). Zkouškové období bylo u mě rozpoznatelné podle toho, že jsem byl jako medvěd, který právě zahájil zimní spánek. V praxi to vypadalo tak, že jsem chvíli koukal do skript a dlouho spal. A znovu a znovu… Během spánku si mozek informace utřídil a především nepotřebné vyházel, takže zůstalo jen to podstatné, o čem mělo cenu povídat či psát a snažit se nacpat do hlavy ten zbytek jsem věděl, že je naprosto zbytečné (přehlcenost informacema, pletení témat dohromady atd.).
I dneska mi to pomáhá – když řeším podstatný problém, nebo se o něčem nedokážu rozhodnout, jdu spát. Ne nadarmo se říká – ráno moudřejší večera – opravdu tomu tak je. Člověk se vzbudí a většinou má jasno v tom, nad čím si zbytečně dlouho lámal hlavu. Dokonce jsem zjistil, že je to poměrně oblíbená metoda nazvaná Hammock driven development. To sedí – vývoj je poměrně náročná duševní činnost a tím, že se člověk bude prolívat litrama kafe a nutit se něco dokončit na úkor odpočinku, věci rozhodně nepomůže, spíše naopak. To, co vyplodí, budou eklhafty bez hlavy a paty a navíc únava bude mít negativní vliv na produktivitu a bude kalit mysl.
Hammock driven development
Nepamatuju si
Opravdu, vůbec nic. A proč taky, když okolo mě je tolik úložného prostoru? Jsem zastáncem tvrzení, že mozek mám proto, aby přemýšlel, ne aby si pamatoval. Pro zapamatovávání věcí využívám především krátkodobou paměť, nesnažím se věci si násilím cpát do hlavy, pouze je udržet na dobu nezbytně nutnou. To nechávám na mozku – on sám pozná, co je důležité a to uloží dlouhodobě. Ať z jednorázového použití věci, nebo opakované činnosti, kdy se ona věc dostane do paměti motorické. Pokud už se snažím o zapamatování si něčeho, potom je to způsob, JAK se k požadované informaci dostat, ne ta informace samotná. A v tomto případě spojením „zapamatovat si“ myslím i uložení odkazu mezi záložky v počítači, tvorbu prototypů (když něco vyvíjím, jednotlivé části píšu jako subprojekty), či zápisků v blogu (věci, o kterých vím, že okamžitě zapomenu, ale někdy bych je ještě mohl potřebovat).
Prázdná hlava
Netelefonuju
A nejraději bych ani telefony nepřijímal. Důvod je prostý: náplní mé práce je tvůrčí činnost, takže když mi někdo zavolá, existuje velká pravděpodobnost, že mě vyruší uprostřed hloubání nad něčím a já už potom ztěží navážu. Ze stejného důvodu nerad volám i já – nechci rušit. Nehledě na to, že ve velké části případů mě ihned po položení hovoru napadnou další věci, na které jsem zapomněl. Proto raději vše postupně píšu do mejlu a i když na něco zapomenu, můžu to poslat a druhá strana může jednoduše navázat v daném kontextu. Taky má více času na promyšlení daných věcí. V neposlední řadě konverzace zůstane zaznamenaná černá na bílém, takže si ji nemusím pamatovat a kdykoliv se k ní můžu vrátit.
Netelefonuju
To jsou moje tři zásadní přístupy, které mám zažité do morku kostí a těžko je někdy změním: spát, nepamatovat si a nenechat se vyrušovat. Nechci se ptát, jestli jsou správné či nikoliv, já o jejich správnosti přesvědčen jsem, protože (v kombinaci s vhodnými nástroji) věřím tomu, že mi pomáhají pracovat (a především používat mozek) mnohem efektivněji.
Příšerná únava, nekonečné klanění, zmatky, pocit marnosti, hlad a přesto pocit plnosti, davy a davy mravenců proudících po nalajnovaných cestičkách. Toliko se mi teď vybaví, pokud někdo řekne Japonsko. A možná i něco navíc, ale pěkně popořadě. Před odjezdem jsem načetl všehovšudy párstránkový dokument o tom, že smrkat na veřejnosti se nemá, vizitky se mají … Pokračovat ve čtení „Na co jsem přišel v Japonsku“
Příšerná únava, nekonečné klanění, zmatky, pocit marnosti, hlad a přesto pocit plnosti, davy a davy mravenců proudících po nalajnovaných cestičkách. Toliko se mi teď vybaví, pokud někdo řekne Japonsko. A možná i něco navíc, ale pěkně popořadě.
Před odjezdem jsem načetl všehovšudy párstránkový dokument o tom, že smrkat na veřejnosti se nemá, vizitky se mají podávat natištěnou stranou nahoru, textem k partnerovi a oběma rukama, do práce se chodí ve společenském obleku, hůlky se nezapichují do jídla a podobně. Potřeboval jsem však jiné informace, ale na ty jsem musel přijít sám, tak se je tu pokusím sepsat, třeba někomu v budoucnu pomohou.
Kvet lotosu
Japonci jsou těžce autistickej národ – mají nalajnované naprosto všechno, frontami na vlak počínaje a daily schedulem konče. Pokud to někdo naruší, rozhodí tím jejich režim a oni se s tím nedokáží vyrovnat. My jsme jim ho bourali pořád – stavěním se mimo fronty, pozdními příchody, snahou o dřívější odchody, nebo naopak prací přesčas, jídlem mimo vyhrazené přestávky (poznají se podle toho, že začne hrát hudba).
Způsob prezentování je taky nemálo zajímavej – danou prezentaci prostě mají ve schedule na daný den a vůbec nezáleží na tom, že už dané věci všichni přítomní znají nazpaměť, prostě tam být musí, protže je napsaná (i přesto, že se mají řešit mnohem podstatnější věci). Prezentace byla napsaná ve dvou jazykových verzích – anglicky a japonsky. Technik ji četl japonsky a „překladatel“ překládal do angličtiny. Protože se jednalo o poangličtěné výrazy, (ne-)bylo zábavné to sledovat: technik promítl slajd, ukázal na tlačítko s nápisem START-STOP a řekl: „start stop“, překladatel se na chvíli zamyslel a řekl: „start stop button“. Ve spojení s Engrish docházelo občas k úsměvným situacím, ale ve vydýchané místnosti měla většina přítomných problémy zůstat vzhůru i přes množství vypité kávy.
Japonci nejsou individuality, oni jsou tým. Těžko říct, zda za to může jejich množství, kde by jedinec prostě zanikl, nebo vliv Buddhismusu, který společně s dalšími náboženstvími vyznávají (ideálně všechny naráz – co se zrovna hodí). Každý v týmu má svoji roličku a tým má truck factor roven jedné, protože když daný člověk není přítomen, prostě se to neví-nerozhodne (nebo se to ví, ale rozhodnout nemůže, protože musí zasednout „rada starších“ a probrat to – to se děje většinou v noci, proto dochází k situacím popsaným níže).
Kousicek Pachinko herny
Neřeknou ne, umí pouze úsměv a kývat hlavou: „yes, yes“. -„je to bílé?“ – „yes“ -„nebo je to černé?“ -„yes“. -„nebo jaké to je?“ -„yes“. Ne nadarmo se říká, že je vhodné si s sebou vzít českého tlumočníka do japonštiny. My to štěstí neměli, ale jeden z jejich tlumočníků pobýval delší dobu na západě, takže byl znalý a nedokážu si představit, jak bychom to udělali bez něj. A to opravdu ne z důvodu, že nikdo neumí anglicky. Jednání probíhala intenzivním způsobem, ale z 90 % naprosto zbytečně a neefektivně – pokud už bylo něco probráno, ale stále existovalo zapsané ve schedule na další hodinu, stejně se tomu věnovala následující hodina. A naopak – pokud něco potřebovalo probrat detaily a už to nebylo napsané ve schedule, tak přes to nejede vlak a prostě se už probírat nebude.
Neumí anglicky. Opravdu. Aspoň mimo velkoměsta ne. Dokonce ani v relativně velkém (na naše poměry) hotelu na recepci – ani jeden ze tří recepčních nebyl schopen pochopit, že chci proměnit dolary na yeny. Pořád jenom ten úsměv a „yes, yes“. Naopak – zmateni v centru nočního Tokia jsme byli odchytnuti okolojdoucí Japonkou, dovedeni k automatům na lístky, bylo nám anglicky vysvětleno ovládání a pak se prostě rozloučila a odešla. Žádný scam ani nabídka erotických služeb se nekonal.
Nerozlišují mezi prací a soukromým životem. V praxi to vypadá tak, že se po celodenním intenzivním jednání všichni vykulí z místnosti (po shrnutí dokončených věcí = čtením a odsouhlasováním bodů ve schedule) unavení k smrti, že nejsou už schopní ani mluvit (v životě bych si nebyl schopen představit, že mi moje vlastní kravata bude tak nehorázně blikat) s tím, že se dospělo k jakémusi závěru, na kterém se všechny strany shodly. Udeří ráno, přečte se schedule a oni katapultují jednání předešlého dne úplně na nulu tím, že se jim líbil náš předešlý návrh (ten, který se zavrhl hned na začátku předchozího dne, protože jim z nějakého důvodu nevyhovoval). A jde se jednat nanovo s naprosto stejným výsledkem a další den ráno je to zase jinak. Pravda je, že se pomalu těmito skoky dostávali tam, kde jsme je chtěli mít úplně na začátku, takže je tajně podezřívám, že si to schválili ještě před začátkem všech jednání a z nás jenom tahali rozumy a bavili se u toho.
Pan Noro s rouskou
Nosí roušky, hodně z nich, jako král. Vysvětlení jsem pochopil tak, že pokud jsou nachlazení, zaměstnavatel vyžaduje, aby tyto roušky nosili v zaměstnání. A zřejmě si je nechávají i na cestu domů – pro mě naprosto neuvěřitelná ohleduplnost, žil jsem v přesvědčení, že je to přesně naopak a roušky nosí ti, kteří se bojí nachlazení. Velký bod a veliký bodlák pro nás, že to takhle neděláme.
Nesmrkají, aspoň ne veřejně. A sedět s nima u jídla je opravdu „potěšení“ – jednak srkají, ale to by se dalo snést a člověk sám začne srkat, aby dal najevo, že mu chutná. Horší je, když má dotyčný rýmu – to si potom dopřává dvojnásobnou porci nudlí. A ty zvuky u toho :-/.
Nigiri s tloustkou masa jako na stejk
Výměna vizitek je obřad (a klanění, stejně jako nesnáší podávání ruky – a když už, je to jako leklá ryba). Jen už nemilují, když si vyžádáte vizitku od někoho jiného, s nímž se nepočítalo (k jednání byl přizvaný externista, který bude dělat na části projektu a ten nám nebyl představen, tak jsme se potom představili bokem a předali si vizitky, nebylo to zřejmě vhodné).
Milují předávání dárků (a dokáží znemožnit předávání dárků nevhodným osobám – viz výše zmíněný externista – když tušili předání dárku i jemu při jeho odchodu, udělali jakoby mimochodem jakousi zeď a znemožnili k němu přístup). V materiálech o etiketě Japonska sice stálo, že není vhodné dárky vybalovat a prohlížet, že se to dělá až v soukromí, ale všichni obdarovaní se na dárečky lačně vrhli a rozbalovali, prohlíželi, zkoušeli…a u toho měli až dětinskou roztomilou radost.
Milují teplo, milují klimatizace. Nemají rádi průvan, otevřená okna nevedou, vydýchaný vzduch v místnostech nikomu nevadí, přestože i jim občas díky němu sklouzne hlava ke straně. Teplem mám na mysli přetopené pokoje na hotelu, přetopené taxíky, přestože přes okýnko pálí slunce, teplo všude.
Neradi chodí pěšky. Naši každovečerní vycházku do hospody o pár bloků dál vůbec nechápali. Ti, co byli s námi ubytovaní v hotelu, neměli zájem jít na jídlo někam mimo tento hotel (za tohle možná může představa, že kolem široko daleko nic není – „vesnice“ velikosti Brna je pro ně prostě příliš malá, aby se zahazovali někam setmělými zákoutími chodit). Na dotaz, jestli chodí ven, případně jestli byli někdy v horách viditelných v dáli, dávali odpovědi ve smyslu, že tam občas bývá sníh a že je to tam nebezpečné. Jinými slovy – nikdy tam nebyli. Snad mají aspoň miniaturní zenové zahrádky doma :-).
Hory v dali
I když nechodí pěšky, zároveň moc nejezdí auty. Když srovnám ranní situaci třeba cestou do Brna, tak každý jede s Hitlerem a těch aut je tam fůra. Japonci asi tuto situaci znají, tak jezdí MHD, nebo taxíky – a to tak, že prostor uvnitř daného dopravního prostředku využijí na maximum. Pokud se má do minitaxíku vejít 5 lidí, tak jich tam 5 nacpou. Limity ve vlacích metra nejsou, tak přichází na řadu pěchování – když jsem viděl videa, nevěřil jsem, dokud jsem toho sám nebyl svědkem. A dobré to bylo, pořád se od nich máme v tomto ohledu co učit.
Přestože dodržují schedule, mají na vše čas a milují tetris, aspoň taxikáři. Způsob rovnání zavazadel do kufru je neuvěřitelný. Narovná jedním způsobem, nevleze se. Zkusí druhý způsob, taky ne. Vrací se k prvnímu, k druhému, dělá drobné úpravy…a ne a ne přestat, dokud se nezadaří (i s ústupky formou víka kufru na gumicuku).
Pijí kafe, ne čaj. Jel jsem do japonska s tím, že bude všude čaj a všichni budou čaj pít a rozdávat, nebylo tomu tak. Na hotelích sice byly automaty s teplým čajem či indukční plotýnky s hrnečkem a výborným sáčkovým, jinak tomu bylo při práci. Holt termosky s teplou vodou a nekonečně dolívaná onlyovka se zeleným čajem se spíše asi nosí v číně. A tady se pije kafe – já, jakožto notorický čajař, který svůj oblíbený nápoj stále vyžadoval, jsem byl víceméně za podivína. Co se dodržování pitného režimu týče – na ulicích byly každých pár metrů automaty pro výdej chlazených i ohřátých lahví s nápoji – velmi levných a velmi dobrých (byly tam i pet lahve s čajem – genmaicha, jasmínový i obyč – neslazené, chuťově dobré. Mnoho bodůch!)
Napojovy automat
Toliko věci, na které jsem momentálně schopen si vzpomenout. Po týdnu tam stráveném se nedivím jejich sebevraždám kvůli práci, to tempo je prostě šílené (ovšem už ne tak efektivita). No a protože jsem, mimo jednání, viděl Japonsko především pouze z taxíku mezi hotelem a místem jednání, tak toho o jiných věcech moc říct nemůžu, snad jenom odkázat na trasu procházky z volného dne před odletem (který jsem chtěl původně věnovat návštěvě Ghibli muzea). Každopádně zkušenost zajímavá a rád bych se tam vrátil, tentokrát spíše jako turista.
I tried to find out how to delete completed workflows in Alfresco, but I find no way to do that. I’m talking about HUGE number of completed workflows – a thousands. There are many questions on that topic, but no solution. I tried to play with Workflow console, also tried Alfresco Workflow Purge webscript by … Pokračovat ve čtení „Deleting workflows in Alfresco“
I tried to find out how to delete completed workflows in Alfresco, but I find no way to do that. I’m talking about HUGE number of completed workflows – a thousands. There are many questions on that topic, but no solution. I tried to play with Workflow console, also tried Alfresco Workflow Purge webscript by Rothbury software and also tried to write own deleters based on Workflow service (more on this next time), but no success at all. In better cases process dies with „out of memory“, or completely locks Alfresco in worst cases. So I choose hardcore solution – to delete database tables. And it works :-).
I’m talking about 10 tables, which are bind with foreign keys. So to remove ALL workflows follow those steps (note I’m not responsible for data loses, you’re on your own, so backup carefully!):
Stop Alfresco and stop mysql
Do backups – at least alf_data and /var/lib/mysql
Start mysql and open mysql client
Turn off foreign key checking: SET FOREIGN_KEY_CHECKS=0;
Truncate following tables:
JBPM_TOKEN
JBPM_TOKENVARIABLEMAP
JBPM_TASKINSTANCE
JBPM_SWIMLANEINSTANCE
JBPM_PROCESSINSTANCE
JBPM_MODULEINSTANCE
JBPM_LOG
JBPM_BYTEBLOCK
JBPM_BYTEARRAY
JBPM_VARIABLEINSTANCE
Maybe it’s good idea to set index.recovery.mode to FULL
Simple yet effective. Please, let me know, if it works on your Alfresco too. I tested it od Community versions 3.4.e, 3.4.d and 4.1.0 (built from svn).