| time |
nick |
message |
05:31 |
<Bevin> |
hi |
06:09 |
<Drone> |
[svn-3433] [rife] gbevin : Re-activated finally continuations test since JDK 1.5 is pretty baseline nowadays |
06:16 |
<hynek> |
hi |
06:16 |
<Bevin> |
hi hynek, how's it going? |
06:22 |
<hynek> |
Bevin: busy busy...writing my thesis atm, so no time for active rife-fun...got ``vacation'' |
06:42 |
<Bevin> |
hi j6wbs |
06:43 |
<j6wbs> |
hi bevin :) |
08:16 |
<bogghed> |
good morning |
08:20 |
<bogghed> |
Bevin: What would be the best way to do a dynamic image in a continuation loop in Rife? I need to show 5 distorted characters for the user to type (to verify that they are human). Normally I would just have a servlet generate the image and inject the verify string into the session. What would be best practice in Rife? |
08:21 |
<Bevin> |
just keep it in a local variable |
08:22 |
<bogghed> |
yes I figured that one out, what about dynamic images? |
08:22 |
<Bevin> |
what about it? |
08:22 |
<Bevin> |
generate them and stream them out |
08:22 |
<bogghed> |
hmm, as Elements? |
08:22 |
<Bevin> |
sure |
08:23 |
<bogghed> |
ok, I haven't seen any example of this yet, this was just what I wanted to check |
08:23 |
<Bevin> |
set the correct content type and stream them out |
08:23 |
<Bevin> |
look on the list |
08:23 |
<bogghed> |
aha |
08:23 |
<Bevin> |
there was a post about this a few weeks ago |
08:24 |
<Bevin> |
it's easy though, set the right content type and use getOutputStream |
08:25 |
<bogghed> |
I will have it done in a jiffy then |
08:25 |
<Bevin> |
*nod* |
09:26 |
<bogghed> |
works like a charm |
09:27 |
<Bevin> |
kewl :-) |
09:28 |
<Bevin> |
how did you generate pass the string on to generate the image? |
09:29 |
<bogghed> |
that's the final thing I need to fix |
09:30 |
<Bevin> |
hehe |
09:30 |
<Bevin> |
curious how you're going to do that |
09:30 |
<bogghed> |
me too |
09:32 |
<Bevin> |
let me check something for you |
09:32 |
<bogghed> |
okie |
09:33 |
<Bevin> |
hmmm this could be very easy if I open up an api call |
09:34 |
<Bevin> |
you ever built RIFE itself? |
09:34 |
<bogghed> |
good idea? |
09:34 |
<bogghed> |
no, but it is a small thing I guess |
09:35 |
<bogghed> |
want me to check it out? |
09:35 |
<Bevin> |
that would be a good idea |
09:35 |
<Bevin> |
see, you could provide the continuation id to the image generation element |
09:36 |
<bogghed> |
ahh, interesting idea |
09:36 |
<Bevin> |
this could then get the continuation context from the continuation manager |
09:36 |
<Bevin> |
that context contains a reference to the element instance |
09:37 |
<Bevin> |
and you could store that string as a member var |
09:37 |
<Bevin> |
and provide a getter to obtain it |
09:37 |
<bogghed> |
perfect, then I just have to ask it for the string |
09:38 |
<Bevin> |
you'll have to make ElementSupport getElement() public though |
09:38 |
<Bevin> |
it's a method on ContinuationContext |
09:38 |
<bogghed> |
okie |
09:39 |
<Bevin> |
if it works out well, I'll open it up and commit it |
09:40 |
<bogghed> |
ok, I am checking it out now |
09:50 |
<Bevin> |
bogghed: ant jar is normally enough to build RIFE |
10:07 |
<bogghed> |
Bevin: yep, works fine. I am going to write the signup code now and test the mod |
10:08 |
<Bevin> |
kewl |
11:51 |
<bogghed> |
Bevin: How would you pass the continuation id to the image generation element? |
11:52 |
<Bevin> |
input |
13:00 |
<bogghed> |
hmm, looks like I have a race condition |
13:03 |
<Bevin> |
how so? |
13:05 |
<bogghed> |
The embedded element doesn't get the output value. It looks like it is executed before I manage to set it |
13:23 |
<Bevin> |
use the + sign before the embedded element ID so that it's processed late |
13:23 |
<Bevin> |
bogghed: http://rifers.org/wiki/display/RIFE/Embedded+element+priorities |
13:24 |
<bogghed> |
doh :-) |
14:04 |
<bogghed> |
Bevin: I had to fall back to using Session to make it work. The idea of passing the continuation id and using getElement() is pretty good, but I have problems getting the variable to the embedded element. Time for an espresso... |
14:05 |
<Bevin> |
bogghed: ok, would be good to track down why it's too difficult |
14:16 |
<Drone> |
[svn-3434] [rife] gbevin : Added support for the 'format' constraint to bean property injection for all numeric types. Made ContinuationContext.getElement public. |
14:20 |
<frequency31> |
Bevin: saw the blog entry :) didn't know i was talking to the jedi master |
14:21 |
<Bevin> |
frequency31: hehe |
14:22 |
<frequency31> |
we looked at every web framework there is before choosing Rife -- you've done a great job. |
14:22 |
<Bevin> |
frequency31: thanks :-) |
14:22 |
<Bevin> |
frequency31: what in particular made the decision balance in our favor? |
14:26 |
<frequency31> |
of course, some stuff is just poorly implemented and falls out of the running immediately, or it uses some old or non-supported technology as a key piece... |
14:27 |
<Bevin> |
frequency31: yeah but that shouldn't be the case with the major players |
14:28 |
<frequency31> |
but, in the end, it comes down to the balance between ease of configuration/specialization vs productivity ... that is, is there enough done for you so that you can build things quickly, but not so much that it is a huge challenge if you want to do something "out of the ordinary" |
14:29 |
<frequency31> |
you struck a great balance between the RoR-style "get the basics up quickly" and the configurability to handle non-standard application needs |
14:30 |
<Bevin> |
wow, thanks, great summary :-) |
14:46 |
<bogghed> |
Bevin: Yes, I will have a look at the continuation id problem later. I am trying to roll out some apps in the next few days so I am learning Rife as fast as possible at the moment. Learn by doing more or less :-). |
14:47 |
<Bevin> |
bogghed: kewl :-) |
14:48 |
<bogghed> |
transferring all my projects to Rife now, beats Spring+Hibernate+Acegi+menutags+sitemesh+webwork+...etc |
14:49 |
<Bevin> |
bogghed: wow, great, it would be wonderful if you could write a blog post or an article about your switching experience, many people have been asking for information like that |
14:50 |
<Bevin> |
bogghed: if you want a big site to publish an article to, I can help you with that |
14:51 |
<Bevin> |
bogghed: tss, java.net. developerworks,... |
14:51 |
<Bevin> |
infoq |
14:51 |
<bogghed> |
Bevin: hmm, we have been thinking about putting up some free Rife stuff like SMS-schedulers etc |
14:51 |
<Bevin> |
that would be awesome too of course |
14:53 |
<Bevin> |
bogghed: articles is what is the most badly needed though, certainly about switching |
14:54 |
<Bevin> |
bogghed: since people can then easily evaluate why they would go through the trouble of doing so |
14:56 |
<bogghed> |
Bevin: our company will use Rife from now on and I think most of the coders I know will find it very interesting to start using Rife as well |
14:57 |
<Bevin> |
bogghed: :-) |
14:58 |
<Bevin> |
bogghed: if you're able to explain why in a nice article, that might attracts a whole horde and it could be good publicity for your company if it's published on a site like TSS |
14:59 |
<bogghed> |
Bevin: yes, it is a good point. I will give it some thought |
15:00 |
<Bevin> |
bogghed: great :-) |
15:06 |
<bogghed> |
Bevin: I like the setup with the rep switch in Bamboo, good idea |
15:07 |
<Bevin> |
bogghed: yeah, it was cool to design that |
15:08 |
<Bevin> |
bogghed: makes it very easy to keep to setup and production sites separate and have no performance degradation at all once production is running |
15:09 |
<bogghed> |
Bevin: yep, I have adopted it :-) |
15:09 |
<bogghed> |
Bevin: I was thinking of making the setup modularized, it would be nice to be able to configure what you want to configure |
15:10 |
<Bevin> |
bogghed: the way it's setup in Bamboo is that it only forces you to configure what is needed for the application to be able to run |
15:12 |
<bogghed> |
Bevin: yes, but it would be nice to make the setup generalized so one can use it in different projects without code duplication |
15:12 |
<Bevin> |
bogghed: hmmm interesting idea |
15:13 |
<bogghed> |
Bevin: I thought so too |
15:13 |
<Bevin> |
bogghed: feel free to discuss it over at the mailinglist |
15:14 |
<Bevin> |
bogghed: could be a good addition to the RIFE/Modules project we're planning |
15:14 |
<bogghed> |
Bevin: sure |
15:15 |
<bogghed> |
Bevin: Are you talking about the RIFE/Modules on devel? Might be a good idea to lurk there then? |
15:15 |
<Bevin> |
yeah |
15:16 |
<Bevin> |
I'll be setting up the initial structure this weekend hopefully |
15:17 |
<bogghed> |
Okie |
15:40 |
<frequency31> |
I'm following the instructions on the In-depth Simple Blog (from the Theater), and I can't get it to create the database structure in Derby... |
15:40 |
<frequency31> |
SEVERE: com.uwyn.rife.cmf.dam.contentmanagers.exceptions.InstallContentErrorException: Can't install the content database structure. |
15:40 |
<frequency31> |
at com.uwyn.rife.cmf.dam.contentmanagers.databasedrivers.org_apache_derby_jdbc_EmbeddedDriver.install(org_apache_derby_jdbc_EmbeddedDriver.java:131) |
15:40 |
<frequency31> |
at com.internalmachine.e60vision.elements.WellAdd$Deployer.deploy(WellAdd.java:70) |
15:40 |
<frequency31> |
at com.uwyn.rife.engine.ElementInfo.deploy(ElementInfo.java:280) |
15:40 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.setupElements(SiteBuilder.java:982) |
15:40 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1610) |
15:40 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:259) |
15:41 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:250) |
15:41 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.setupSubsites(SiteBuilder.java:992) |
15:41 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1611) |
15:41 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:259) |
15:41 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:250) |
15:41 |
<frequency31> |
at com.uwyn.rife.engine.SiteBuilder.getSite(SiteBuilder.java:176) |
15:41 |
<frequency31> |
at com.uwyn.rife.rep.participants.ParticipantSite.initialize(ParticipantSite.java:36) |
15:41 |
<frequency31> |
at com.uwyn.rife.rep.BlockingParticipant.run(BlockingParticipant.java:252) |
15:41 |
<frequency31> |
at java.lang.Thread.run(Unknown Source) |
15:41 |
<frequency31> |
Caused by: com.uwyn.rife.database.exceptions.ExecutionErrorException: Error while executing the SQL 'CREATE TABLE ContentRepository (name VARCHAR(100) NOT NULL, repositoryId INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY, CONSTRAINT PK_CONTENTREP PRIMARY KEY (repositoryId), UNIQUE (name), CHECK (name != ''))'. |
15:41 |
<frequency31> |
at com.uwyn.rife.database.DbStatement.executeUpdate(DbStatement.java:645) |
15:41 |
<Bevin> |
frequency31: don't paste in the channel!!! |
15:41 |
<frequency31> |
at com.uwyn.rife.database.DbStatement.executeUpdate(DbStatement.java:672) |
15:41 |
<frequency31> |
at com.uwyn.rife.database.DbQueryManager.executeUpdate(DbQueryManager.java:175) |
15:41 |
<frequency31> |
at com.uwyn.rife.cmf.dam.contentmanagers.databasedrivers.org_apache_derby_jdbc_EmbeddedDriver.install(org_apache_derby_jdbc_EmbeddedDriver.java:114) |
15:41 |
<frequency31> |
... 14 more |
15:41 |
<frequency31> |
Caused by: SQL Exception: Schema 'WELL' does not exist |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) |
15:41 |
<frequency31> |
at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source) |
15:41 |
<frequency31> |
at com.uwyn.rife.database.DbStatement.executeUpdate(DbStatement.java:637) |
15:41 |
<frequency31> |
... 17 more |
15:41 |
<frequency31> |
sorry |
15:42 |
<Bevin> |
we have a pastebin for this |
15:42 |
<Bevin> |
or the mailinglist |
15:42 |
<Bevin> |
next time I'll have to kick you from the channel |
15:42 |
<frequency31> |
where is the pastebin? |
15:42 |
<bogghed> |
no flood protection in ChanServ :-)? |
15:42 |
<Bevin> |
frequency31: see topic |
15:42 |
<frequency31> |
:( sorry |
15:43 |
<Bevin> |
bogghed: hmm checking |
15:44 |
<bogghed> |
Bevin: never mind, just kidding, this is a very civilized channel mostly |
15:44 |
<Drone> |
See frequency31's post at http://rifers.org/paste/show/1400 |
15:45 |
<frequency31> |
there it is -- sorry about that |
15:45 |
<Bevin> |
bogghed: no flood protection |
15:47 |
<Bevin> |
bogghed: try without any username |
15:47 |
<Bevin> |
oops |
15:47 |
<Bevin> |
frequency31: try without any username |
15:47 |
<frequency31> |
ok |
15:48 |
<Bevin> |
frequency31: afaik this is a Derby bug |
15:49 |
<frequency31> |
yep -- that's it |
15:49 |
<frequency31> |
thanks again |
15:49 |
<Bevin> |
frequency31: best take it up with the Derby user list |
15:51 |
<frequency31> |
Bevin: ok thanks |
15:53 |
<bogghed> |
Bevin: I like the amount of sanity checks you have implemented. It is impossible to make a form that doesn't add up. |
15:53 |
<Bevin> |
bogghed: :-) commited even more today |
20:15 |
<Drone> |
[svn-3435] [rife] gbevin : Added support for BigDecimal in bean property setting. |