IRC log for #flow3 on 20120905

00:44.47*** join/#flow3 kevin_ (~kevin@76.14.67.16)
01:21.14*** join/#flow3 kevin (~kevin@76.14.67.16)
02:02.22*** join/#flow3 boonkerz (~boonkerz@pd95c8e64.dip0.t-ipconnect.de)
02:59.53*** join/#flow3 Robbo_ (~robbo@ppp232-35.static.internode.on.net)
04:00.25*** join/#flow3 BenW_ (~Ben@c-67-169-11-222.hsd1.ca.comcast.net)
04:01.10BenW_hello, is anyone active at the moment?
04:02.46BenW_I noticed, when using kickstart to create a package, that all of the subdirectories it created were given 777 file permissions. Does anyone have any idea why this might be?
05:34.10*** join/#flow3 afoeder (~afoeder@ip-109-43-0-37.web.vodafone.de)
05:38.19*** join/#flow3 BenW_ (~Ben@c-67-169-11-222.hsd1.ca.comcast.net)
05:53.49*** join/#flow3 afoeder (~afoeder@p4FD647C6.dip0.t-ipconnect.de)
05:57.32afoedermorning guys
06:05.34*** join/#flow3 soee (~soee@83-238-167-52.ip.netia.com.pl)
06:19.29kdambekalnshi afoeder
06:19.44afoederhi :)
06:25.27ChristianMmorning
06:31.46*** join/#flow3 pgampe (~phil@pptp-212-201-70-209.pptp.stw-bonn.de)
06:32.25*** part/#flow3 pgampe (~phil@pptp-212-201-70-209.pptp.stw-bonn.de)
06:32.32*** join/#flow3 hmrdk (~hmrdk@x1-6-b8-c7-5d-ca-a3-b0.k704.webspeed.dk)
06:33.15*** join/#flow3 Nurbs (~nurbs@f049038112.adsl.alicedsl.de)
06:46.18*** join/#flow3 xaver (~xaver@host-80-81-17-255.static.customer.m-online.net)
06:55.15*** join/#flow3 aertmann (~aertmann@79.138.250.106.bredband.3.dk)
07:16.56afoederI saw there's a node type "Shortcut"; is it already possible to create page shortcuts (in my case only some kind of "first subpage", ie menu usage)
07:21.19aertmannafoeder: no not with the ui, but you might be able to with the xml import
07:22.36afoederthat'd be fine; and it slightly leads me to the next question ;) what do I have to respect when I want to change node names?
07:22.56afoederthat could be done with modifying the XML and reimporting, right?
07:31.02aertmannyes that should work
07:31.21aertmannwe will implement a way of doing it with the ui during the next few days
07:31.32afoederah even better ;)
07:31.38afoederthen I'll wait :)
07:34.51*** join/#flow3 skurfuerst (~Adium@79.138.250.106.bredband.3.dk)
07:42.18*** join/#flow3 Kollode (~patrick@designnet.work.de)
07:48.22*** join/#flow3 skurfuerst (~Adium@79.138.250.106.bredband.3.dk)
07:55.42*** join/#flow3 Robbo__ (~robbo@ppp232-35.static.internode.on.net)
07:59.58*** join/#flow3 pwalter (55731364@gateway/web/freenode/ip.85.115.19.100)
08:05.16*** join/#flow3 pedda (~pedda@p5DDDB2D9.dip.t-dialin.net)
08:06.57*** join/#flow3 humnus (~humnus@wli8013.zv.uni-wuerzburg.de)
08:07.13*** part/#flow3 humnus (~humnus@wli8013.zv.uni-wuerzburg.de)
08:10.58kdambekalnsafoeder: rename in the CR is up for review, manually it can be done in the DB - keep in mind to change path *and* parent path :)
08:12.40*** join/#flow3 skurfuerst (~Adium@79.138.250.106.bredband.3.dk)
08:12.56*** join/#flow3 hmrdk (~hmrdk@x1-6-b8-c7-5d-ca-a3-b0.k704.webspeed.dk)
08:13.31afoederyes I already considered doing it in the DB, but since also the complete path of each "involved" node has to be changed, I hesitated to do that already
08:15.13*** join/#flow3 RafaelK (~RafaelK@dslb-178-004-020-166.pools.arcor-ip.net)
08:17.24*** join/#flow3 hmrdk (~hmrdk@x1-6-b8-c7-5d-ca-a3-b0.k704.webspeed.dk)
08:17.25*** join/#flow3 alex|b (~chatzilla@80.149.237.98)
08:25.39*** join/#flow3 Conic3 (~conic@mail.mauersberger.org)
08:32.35afoederah alex|b, great you just joined :)
08:32.38afoedergotta minute?
08:32.51alex|bsure, what's up?
08:33.02afoederI'im just up to rework https://review.typo3.org/#/c/12718/1
08:33.18afoederI now renamed the method to isClassOrObjectInheritingFrom()
08:33.38afoeder(merging both Karstens and Christians comments ;-)
08:33.59afoederand I wanted to ask you what you meant with the "border cases"
08:34.01*** join/#flow3 mneuhaus (~mneuhaus@79.138.250.106.bredband.3.dk)
08:34.13afoederis it intended that you referrred to the *same* object with the get_class() ?
08:35.16alex|byeah, to check that it works with supplying both the class name and an instance of that class, or twice the same class name
08:35.35alex|bthat's what I meant with "border cases" - ie, checking inheritance of itself
08:35.59afoederyes I see
08:36.04*** join/#flow3 mneuhaus (~mneuhaus@79.138.250.106.bredband.3.dk)
08:36.07afoederexpecting "false", right?
08:36.39alex|bnot sure what instanceof gives in that case, but I would expect it to work exactly like that
08:37.20afoederOK so I'll verify that :)
08:37.54alex|bI assume it should return TRUE though, since ($object instanceof 'ObjectName') is a correct assumption
08:38.02*** join/#flow3 andreaswolf (~aw@p4FDCEEF1.dip.t-dialin.net)
08:39.34afoederah yes of course! you're right
08:45.36*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
08:47.17ChristianMguys, I thought the idea is to cover only class inheritance
08:47.51ChristianMa multi purpose method doesn't feel clean, you should know if you have an object or a string
08:48.10ChristianMif you have the string you could use the method, if you have an object you can directly use instanceof
08:48.30afoederChristianM, the parent to check must always be string
08:48.46afoederwhile the candidate itself can be a string or an object
08:49.12ChristianMyeah and I don't really like that
08:49.19ChristianMyou should know what your candidate is
08:50.04ChristianMthe instanceof call could be directly in the developers code if he/she/it knows that it is an object
08:50.36ChristianMI would just drop the if/else leaving only the else part and accept only string candidates
08:50.44afoederbut there would be no instanceof option, since the "parent" is always expected to be a string
08:51.09ChristianM?
08:51.21ChristianMreturn $classOrObject instanceof $parentToCheck;
08:51.34ChristianMthat is the case if $classOrObject is an object
08:51.47ChristianMthat could be done directly in your local code
08:51.56ChristianMif you know you are dealing with an object
08:52.03afoederok I see
08:52.53ChristianMstring and object are quite different, I would expect that in a certain piece of code you know what you have and then can decide on the way to check it
08:53.29afoederok, perfect... that'll reduce the method name again; fine with it :)
08:53.36ChristianMgreat :)
09:22.12*** join/#flow3 t3andi- (~t3andi@14237.nodes.robertlemke.net)
09:22.21*** join/#flow3 Denyerec (~Never@cpc4-shep11-2-0-cust49.8-3.cable.virginmedia.com)
09:34.38*** join/#flow3 avalarion (~quassel@scar.mufasa.tech42.de)
09:37.12*** join/#flow3 Benno (d95c45dc@gateway/web/freenode/ip.217.92.69.220)
10:04.29*** join/#flow3 Conic2 (~conic@mail.mauersberger.org)
10:07.57*** join/#flow3 Denyerec (~Never@cpc4-shep11-2-0-cust49.8-3.cable.virginmedia.com)
10:36.28*** join/#flow3 Nurbs (~nurbs@f049038112.adsl.alicedsl.de)
10:38.33*** join/#flow3 Denyerec (~Never@cpc4-shep11-2-0-cust49.8-3.cable.virginmedia.com)
10:45.44*** join/#flow3 Robbo__ (~robbo@ppp232-35.static.internode.on.net)
10:46.22*** join/#flow3 foertel (~foertel@port-213-160-6-42.static.qsc.de)
10:51.05*** join/#flow3 boonkerz (~boonkerz@pd95c8e64.dip0.t-ipconnect.de)
11:25.43*** join/#flow3 mneuhaus (~mneuhaus@79.138.250.106.bredband.3.dk)
11:29.55*** join/#flow3 st3fanAr (~serialize@155.56.40.72)
11:30.00st3fanArHallo All :)
11:41.08*** join/#flow3 philippSchiffman (~philippSc@141.71.113.65)
12:03.09*** join/#flow3 linh (~test1@217.19.187.106)
12:17.10BennoServus!
12:40.01*** join/#flow3 pgorley (~pgorley@68.65.34.227)
12:42.21*** join/#flow3 bachi (~bachi@zux166-203.adsl.green.ch)
12:42.45*** part/#flow3 bachi (~bachi@zux166-203.adsl.green.ch)
12:51.22ralbertshi guys; easy question but I can't seem to find the answer:
12:51.38ralbertswhere can I set the default language in configuration?
12:54.50afoederralberts, TYPO3.FLOW3.i18n.defaultLocale
12:55.17ChristianMafoeder was faster than me...
12:55.19ChristianMthanks :)
12:55.26afoederah :)
12:55.36ralbertssweet, thanks
12:55.53ralbertsand would it be possible to change the language for a certain user
12:55.57ralbertsor at least change it runtime?
12:56.51afoeder*waiting*... ;-)
12:57.26afoederralberts, $this->localizationService->getConfiguration()->setCurrentLocale()
12:57.44afoederwhereas $localizationService is an injected \TYPO3\FLOW3\I18n\Service
12:58.02*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
12:58.09ralbertsthanks a lot!
12:58.15afoederNP
12:58.43ChristianMI stopped reading because you seem to be doing fine answering the questions :D
12:58.52afoeder:-D
13:02.04*** join/#flow3 pgorley_ (~pgorley@cpe-65-189-221-205.neo.res.rr.com)
13:05.49*** join/#flow3 pedda (~pedda@p5DDDB2D9.dip.t-dialin.net)
13:08.35*** join/#flow3 tomasito (~tomasito@38.104.90.194)
13:09.48st3fanArhey everyone, what's happening at emitAuthenticatedToken($token)?
13:10.16afoederst3fanAr, that's only a "helper" method for the SignalSlot functionality
13:10.45afoederhttp://flow3.typo3.org/documentation/guide/partiii/signalsandslots.html
13:11.00afoederyou can use these for hooking into; consider it as kind of "event delegation"
13:11.05afoeder(or observation)
13:14.05st3fanArokay, I've to read this, because I still have problems with getting the backend account login running, it works only at the first time, and later (after a logout or after restarting the browser) only if I call the Login-Form, don't enter some data, press login and get the expected error
13:17.58st3fanArafter doing this, it's working again until the next logout/browser restart. I can set the AuthenticationStatus for the token, but it seems that "it" does not recognize, that the user is logged in: authenticationManager->isAuthenticated() seems to be NULL
13:18.21st3fanAror FALSE
13:19.25afoederI don'T already can see your actual problem
13:19.50afoederyou wrote "..get the expected error", if it's expected, it's fine, no? ;)
13:21.02*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
13:22.46st3fanArI expect that he says something like "No credentials given", if I don't enter them. The Issue is, that I have to use the form once to get the backend-login working again
13:23.10afoederand what happens instead of "no credentials given2?
13:23.11*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
13:23.49afoederI, for example, have >> try {                $this->authenticationManager->authenticate();
13:24.06afoeder} catch (\TYPO3\FLOW3\Security\Exception\AuthenticationRequiredException $exception) {                $this->addFlashMessage('Sie konnten leider nicht eingeloggt werden.');                $this->redirect('wrongCredentials');           }
13:24.24ralbertsafoeder, somehow this does not work for me; the language doesn't change upon login http://pastebin.com/0iGXNWR5
13:24.37ralbertsany idea what is wrong there?
13:25.03afoederI would say the Locale gets lost due to the redirect
13:25.16afoeder(unless the configuration is scope session, for example)
13:25.33afoederit isn't
13:25.59ralbertsok; but would it be possible to achieve what I'm trying to do here?
13:26.39afoederI remember there's some work done regarding at least the automatic determination of the locale
13:28.48afoederhttps://forge.typo3.org/issues/35030
13:29.46ralbertsah, thanks
13:30.08*** join/#flow3 alex|b_ (~chatzilla@80.149.237.98)
13:30.37*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
13:30.47*** join/#flow3 alex|b (~chatzilla@80.149.237.98)
13:31.58*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
13:32.10*** join/#flow3 Robbo_ (~robbo@ppp232-35.static.internode.on.net)
13:40.17*** join/#flow3 ghost1 (~ghost1@38.104.90.194)
13:42.13afoederralberts, unfortunately it seems that there's still no option to store it into the session; but maybe really scoping the Locale\Configuration session could work
13:47.20ralbertsafoeder, my colleague is hacking an aspect in place for this
13:47.24ralbertswe just need this for a demo
13:47.33ralbertsto switch language based on the user who is logged in
13:47.38afoederaight
14:11.29*** join/#flow3 Robbo_ (~robbo@ppp232-35.static.internode.on.net)
14:20.18ghost1good afternoon everyone
14:20.31ghost1is there anyone still awake?
14:20.43afoederghost1, it's 1620 here, so I hope so :)
14:20.58ghost1Hehe, how are you afoeder ?
14:20.58afoeder*zzzZZZzzz*
14:21.08afoederfine fine
14:21.20ghost1Let me pick at your brain
14:21.23afoederwhat are you up to, ghost1?
14:28.13*** join/#flow3 linh (~test1@217.19.187.106)
14:28.33*** join/#flow3 avalarion (~quassel@scar.mufasa.tech42.de)
14:36.12*** join/#flow3 andreaswolf (~aw@p4FDCEEF1.dip.t-dialin.net)
14:43.24afoedercan someone say what's intended to happen on such a case please? https://gist.github.com/9d097fec6791f82ae4e1#gistcomment-543387
14:55.35*** join/#flow3 nd___ (~nd@mnhm-590e57bb.pool.mediaWays.net)
14:58.37*** join/#flow3 boonkerz_ (~boonkerz@pd95c8e64.dip0.t-ipconnect.de)
15:08.22*** join/#flow3 soee (~soee@77.79.198.69)
15:14.23ghost1Hey afoeder shouldn't I be able to obtain the referer using the following: $this->request->getHttpRequest()->getHeader('Referer');
15:14.53*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
15:16.21afoederlooks good...?
15:16.31ghost1Its coming up blank
15:16.39afoederyou might also try ->getHeaders() and ses what's there
15:17.21afoeder->getHeaders()->getAll()
15:17.56ghost1Let me check that
15:18.07afoederI let
15:18.49ghost1it only contains, Host, User-Agent, Accept, Dnt, Accept-language, Accept-Encoding, Connection, Cache-Control
15:18.57ghost1it does not contain the referer
15:19.16afoederwell maybe it's not sent then?
15:19.27afoederhave you verified that the header is sent?
15:21.50ghost1I haven't verified but isn't that a standard for the request? Google uses your referer to determine where you came from and it checks its page caches.
15:22.11afoederit's up to the client if it sent.
15:22.30afoederBrowsers send it if you click links for example, but *don't* if you type an address
15:22.54afoederso if your client is a browser and you're clicking around your project, the Referer should be there.
15:23.05ghost1hmm, let me check that
15:23.10afoeder:)
15:25.20ghost1Perfect, that was the problem
15:26.07afoederyeeah :)
15:48.55*** join/#flow3 RafaelK (~RafaelK@dslb-178-004-020-166.pools.arcor-ip.net)
15:53.15*** join/#flow3 tdeuling (~tdeuling@g228254241.adsl.alicedsl.de)
15:57.26*** join/#flow3 andreaswolf (~aw@p4FDCEEF1.dip.t-dialin.net)
16:05.09*** join/#flow3 Denyere (~Never@cpc4-shep11-2-0-cust49.8-3.cable.virginmedia.com)
16:08.18afoedercould some PHP 5.3 guy quickly check if array() instanceof \Countable works?
16:10.10aertmannafoeder: false
16:11.10afoederyeah perfect thanks! 5.4 says TRUE
16:11.19aertmann5.3.12
16:14.11*** join/#flow3 sorenmalling (~sorenmall@109.202.148.90)
16:20.26*** join/#flow3 Denyerec (~Never@cpc4-shep11-2-0-cust49.8-3.cable.virginmedia.com)
16:23.01*** join/#flow3 skurfuerst (~Adium@79.138.250.106.bredband.3.dk)
16:25.07*** join/#flow3 afoeder (~afoeder@ip-109-43-0-20.web.vodafone.de)
16:28.40afoedermeh ChristianM there is already the CountValidator...
16:29.09ChristianMafoeder, ah yes, and I just realized I actually wanted to answer yes to a question before that one^^
16:29.11ChristianMsorry
16:29.19ChristianMbut still I would have liked the CountValidator
16:29.21afoederno problem :)
16:30.00afoederit's already there and works exactly like I intended mine (support for array() and instanceof \Countable
16:30.21afoeder(only \Traversable is not supported, but that's not my problem ATM ;)
16:51.38*** join/#flow3 linh (~test1@217.19.187.106)
17:03.47*** join/#flow3 andreaswolf (~aw@p4FDCEEF1.dip.t-dialin.net)
17:07.42*** join/#flow3 foertel (~foertel@port-213-160-6-42.static.qsc.de)
17:15.03*** join/#flow3 Kollode (~Kollode@g224125216.adsl.alicedsl.de)
17:19.08*** join/#flow3 afoeder (~afoeder@ip-109-43-0-20.web.vodafone.de)
17:19.38*** join/#flow3 andreaswolf1 (~aw@p4FDCEEF1.dip.t-dialin.net)
17:23.22*** join/#flow3 cognifloyd (~cognifloy@pat00.orem.infotraxsys.com)
17:26.21*** join/#flow3 foertel (~foertel@port-213-160-6-42.static.qsc.de)
17:26.53*** join/#flow3 thasmo (~thasmo@d86-32-185-121.cust.tele2.at)
17:33.45*** join/#flow3 skurfuerst1 (~Adium@95.209.248.156.bredband.3.dk)
17:34.18*** join/#flow3 mneuhaus1 (~mneuhaus@95.209.248.156.bredband.3.dk)
17:37.13*** join/#flow3 aertmann (~aertmann@95.209.248.156.bredband.3.dk)
17:55.59*** join/#flow3 cognifloyd (~cognifloy@pat00.orem.infotraxsys.com)
18:11.22*** join/#flow3 linh (~test1@ip-109-91-107-103.unitymediagroup.de)
18:15.10*** join/#flow3 cognifloyd (~cognifloy@pat00.orem.infotraxsys.com)
18:23.49*** join/#flow3 cognifloyd (~cognifloy@pat00.orem.infotraxsys.com)
18:44.26*** join/#flow3 afoeder (~afoeder@dslb-092-075-226-020.pools.arcor-ip.net)
18:46.55*** join/#flow3 afoeder_ (~afoeder@dslb-092-075-235-070.pools.arcor-ip.net)
19:03.51*** join/#flow3 hagbard_celine (~hagbard_c@95.157.36.162)
19:04.43*** join/#flow3 foertel (~foertel@tmo-111-101.customers.d1-online.com)
19:11.06*** join/#flow3 hagbard_celine (~hagbard_c@95.157.36.162)
19:27.57*** join/#flow3 afoeder (~afoeder@dslb-092-075-081-065.pools.arcor-ip.net)
19:31.06*** join/#flow3 afoeder_ (~afoeder@dslb-094-217-180-127.pools.arcor-ip.net)
19:31.46*** join/#flow3 afoeder__ (~afoeder@dslb-094-217-180-127.pools.arcor-ip.net)
19:33.27*** join/#flow3 afoeder___ (~afoeder@dslb-092-074-089-225.pools.arcor-ip.net)
19:35.46*** join/#flow3 afoeder (~afoeder@dslb-092-074-080-138.pools.arcor-ip.net)
19:38.16*** join/#flow3 CouchAfoeder (~afoeder@dslb-092-074-080-138.pools.arcor-ip.net)
19:41.40*** join/#flow3 Wrack_00113 (~eric@f052231076.adsl.alicedsl.de)
19:51.32*** join/#flow3 afoeder____ (~afoeder@dslb-092-074-086-188.pools.arcor-ip.net)
19:53.17*** join/#flow3 afoeder_____ (~afoeder@dslb-088-067-128-051.pools.arcor-ip.net)
19:54.14*** join/#flow3 foertel (~foertel@tmo-111-101.customers.d1-online.com)
19:56.22*** join/#flow3 afoeder_ (~afoeder@dslb-092-075-088-166.pools.arcor-ip.net)
19:58.44*** join/#flow3 afoeder__ (~afoeder@dslb-088-067-142-036.pools.arcor-ip.net)
20:01.16*** join/#flow3 afoeder__ (~afoeder@dslb-092-075-235-130.pools.arcor-ip.net)
20:04.28*** join/#flow3 afoeder (~afoeder@dslb-092-074-095-118.pools.arcor-ip.net)
20:09.39*** join/#flow3 afoeder___ (~afoeder@dslb-092-075-238-236.pools.arcor-ip.net)
20:13.12*** join/#flow3 afoeder____ (~afoeder@dslb-088-067-140-072.pools.arcor-ip.net)
20:20.50*** join/#flow3 afoeder____ (~afoeder@dslb-092-075-230-177.pools.arcor-ip.net)
20:23.25*** join/#flow3 afoeder_____ (~afoeder@dslb-092-074-081-144.pools.arcor-ip.net)
20:33.52*** join/#flow3 afoeder______ (~afoeder@dslb-094-216-010-079.pools.arcor-ip.net)
20:34.03*** join/#flow3 aertmann (~aertmann@95.209.248.156.bredband.3.dk)
20:37.24*** join/#flow3 sorenmalling (~sorenmall@95.209.248.156.bredband.3.dk)
20:40.19*** join/#flow3 sorenmal_ (~sorenmall@94.191.186.107.mobile.3.dk)
20:45.37*** join/#flow3 afoeder_______ (~afoeder@dslb-092-074-093-215.pools.arcor-ip.net)
20:48.05*** join/#flow3 afoeder________ (~afoeder@dslb-092-074-093-215.pools.arcor-ip.net)
20:52.28*** join/#flow3 afoeder_________ (~afoeder@dslb-092-075-092-016.pools.arcor-ip.net)
20:52.29*** join/#flow3 sorenmalling (~sorenmall@94.191.186.107.mobile.3.dk)
20:59.34*** join/#flow3 afoeder_________ (~afoeder@dslb-088-067-130-063.pools.arcor-ip.net)
21:08.43*** join/#flow3 afoeder_________ (~afoeder@dslb-092-074-095-153.pools.arcor-ip.net)
21:09.23*** join/#flow3 sorenmalling (~sorenmall@94.191.186.107.mobile.3.dk)
21:15.59*** part/#flow3 afoeder_________ (~afoeder@dslb-092-074-095-153.pools.arcor-ip.net)
21:28.52*** join/#flow3 crus0e (~Thunderbi@HSI-KBW-149-172-198-162.hsi13.kabel-badenwuerttemberg.de)
21:57.38*** join/#flow3 mneuhaus (~mneuhaus@95.209.248.156.bredband.3.dk)
21:59.16*** join/#flow3 sorenmalling (~sorenmall@94.191.186.107.mobile.3.dk)
22:12.00*** join/#flow3 sorenmal_ (~sorenmall@95.209.248.156.bredband.3.dk)
22:25.26*** join/#flow3 sorenmalling (~sorenmall@95.209.248.156.bredband.3.dk)
22:25.46*** join/#flow3 skurfuerst (~Adium@95.209.248.156.bredband.3.dk)
22:45.13*** join/#flow3 sorenmalling (~sorenmall@91.194.37.55)
23:01.07*** join/#flow3 sorenmalling (~sorenmall@91.194.37.55)
23:24.10*** join/#flow3 boonkerz (~boonkerz@pd95c8e64.dip0.t-ipconnect.de)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.