[Rife-users] Complete searchable archives at Nabble
If you're looking for a centralized location where you can search all the mailing list archives from May 2003 onwards, please go to the Nabble forum that's linked to this group: http://www.nabble.com/RIFE---users-f9331.html ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
[Rife-users] Considering moving to Google Groups (or something else)
Hi everyone, by the end of this month I'll have to migrate everything that runs on the rifers.org server to somewhere else. For all the web stuff, I've already decided to use Amazon EC2 and I'm also going to move my personal and company email to Google Apps (domain hosting). However, this mailing list runs @uwyn.com, so it can't really migrate to Gmail, which will be responsible for the uwyn.com domain. So I was thinking of maybe stopping this list entirely, and move it to [EMAIL PROTECTED] I quite like the interface and the features it provides, except for one 'detail'. I can't find a solution though to migrate the existing archives of the current mailing list to Google Groups. They don't seem to have an mbox import. Does anyone have any good ideas to be able to do this? What do you think about migrating to Google Groups? Take care, Geert -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
[Rife-users] Considering moving to Google Groups (or something else)
Hi everyone, by the end of this month I'll have to migrate everything that runs on the rifers.org server to somewhere else. For all the web stuff, I've already decided to use Amazon EC2 and I'm also going to move my personal and company email to Google Apps (domain hosting). However, this mailing list runs @uwyn.com, so it can't really migrate to Gmail, which will be responsible for the uwyn.com domain. So I was thinking of maybe stopping this list entirely, and move it to [EMAIL PROTECTED] I quite like the interface and the features it provides, except for one 'detail'. I can't find a solution though to migrate the existing archives of the current mailing list to Google Groups. They don't seem to have an mbox import. Does anyone have any good ideas to be able to do this? What do you think about migrating to Google Groups? Take care, Geert -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] thoughts on a system control panel....
This sounds good, I did something similar for an app I wrote a couple of years ago. However, lately I've just been using the CMF with a path structure for the config value. This makes things very flexible and it seems appropriate since it's basically just reading and writing values with fixed identifiers. On 23 May 2007, at 23:13, David HM Spector wrote: I'm thinking about a general purpose system control panel for my app. I'd rather not use the Java config storage system since it stores its data on the local file system (problematic if I run the app across multiple web servers), what I was thinking is a simple string based DB table that I can add to as I add features to the system, and at the same time not make it so complex that there's all sorts of conditional code required to display it. What I was thinking is a table like this: table SysOpParams { areaString(64); // A string indicating what part of the system (Ads, access, news, faqs...) this parameter is form. Each area // is a collection of params grouped together visually by the System Control Panel Element param_name String(64); // name of system parameter. E.g., MAX_NEWS_ITEMS, ALLOW_LOGINS, ALLOW_COMMENTS, etc. l10n_keyString(64); // a key that can be used to localize the control panel labels actual_typeString(16); // the actual type of the object represented, one of: float, int, boolean, string value Text; // the operational value, stored as a string value_default Text; // the default value, stored as a string value_min Text; // the min value (where applicable), stored as a string value_max Text; // the max value (where applicable), stored as a string } of course this pushes the multi-web-server sync problem up a layer... but seems like a cleaner solution since the data are only in one place... the only big issue is how to make these data loadable and persistent at app startup like the repository so I am not continuously beating on the DB... multiple server instances could be told to re-sync via a listener. Use Terracotta! Just create in in-memory pojo structure that is populated from DB and that is persisted to it too. However, the declare the memory structure as a shared root and Terracotta will automatically cluster it out to all your nodes. thoughts? reasonable general solution, or am I way off in the weeds..? David ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] When to call ContinuationContext.getActiveContext().remove()
Hi Eddy, This question is mostly directed at Geert. Am I correct in thinking that after every continuation instantiation, ContinuationContext.getActiveContext().remove() should be called? No, you shouldn't. Continuations will be cleaned up automatically, just like sessions. If you do want to preserve memory and not have a continuation tree (then the back button support and such will not work however), just use http://rifers.org/docs/api/com/uwyn/rife/ engine/ElementSupport.html#setCloneContinuations(boolean), or implement http://rifers.org/docs/api/com/uwyn/rife/engine/ ElementSupport.html#cloneContinuations() so that it always returns false. In a while(...) {...} loop, as in the example, every call to pause () would start a new continuation, right? Yes, that's the purpose of continuations, actually. Best regards, Geert -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] avaibility of oneToMany constrained property
Hi Dominique, manyToMany is not supported by RIFE/Crud yet. This is one of the things that I still need to do before releasing RIFE 1.6. Best regards, Geert On 17 May 2007, at 09:41, Dominique de Vito wrote: I have downloaded RIFE lastest snapshot to test new features. But the generated page is not as expected according to my manyToMany intro. I suspect I must update to rife-crud and rife-crud-template, but I can't find such lastest snapshots. Could you tell me where I can find them ? Thanks. Regards, Dominique --- Geert Bevin [EMAIL PROTECTED] a écrit : Ooops, I forgot to mention I am working with CRUD RIFE capabilities. Currently, the group's listUsers property gives me, into the generated Group page, a regular input field. In my dreams, I expected to have, not a input field, but a list of printed users and a 'add' button to add users to a group. At first sight, I thought I just needed to add a oneToMany constraint on the GroupMetaData. Is it something planned ? Yes, create an associations constraint on the other bean, not on the properties. That should link them together in RIFE/Crud. https://svn.rifers.org/rife-crud/trunk/samples/java/com/uwyn/rife/ crud/samples/beans/Test.java There are no docs for the new manyToOne, You mean new oneToMany ? What you call oneToMany is named manyToOneAssociation in RIFE 1.6. manyToOneAssociation, manyToMany, and manyToManyAssociation features yet. Are you listed those features because they are planned for 1.6 ? No, they are already in there. 1.6 is almost done, just need time for cleaning up a bit, write docs, check sibling projects with the new version and release it. You can however find out how they work by looking at the tests sources: https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/TestGenericQueryManagerManyToOne.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/TestGenericQueryManagerManyToMany.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/ rifetestmodels/MOFirstBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/ rifetestmodels/MOSecondBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/ rifetestmodels/MOThirdBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/beans/MMFirstBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/beans/MMSecondBean.java Thanks. I will take a look. Dominique Hope this helps, Geert On 16 May 2007, at 21:39, Dominique de Vito wrote: Hi, I have defined, let's say, a Group class having some properties + a getListUsers() method returning a list of User instances. Demos say I can define: addConstraint(new ConstrainedProperty(users) .notNull(true).listed(true) .manyToOne(User.class, id)); But there is no oneToMany that I need here ! So, here are my questions: - Is oneToMany a feature missing ? - or, is it not the way to go ? if so, what is the work-around ? Thanks, Dominique __ ___ Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] RIFE Localization on included blocks
Hi Eskil, you can setup global templates like this: http://rifers.org/wiki/display/RIFE/Type+specific+default+resource +bundles This is currently the only way within RIFE to have localized text without setting a resource bundle explicitly. Having your own base element is of course also a good solution. Best regards, Geert On 16 May 2007, at 12:05, Eskil Lauritsen wrote: For example, we have used the example 07 selective authentication for our login box, but the form.html template does not have a form.java file where we can do the setLocalized(...) call we need. We need to translate the words login, pass and the value of the submit button dynamically. We have implemented our own element MyElement import java.util.ResourceBundle; import com.uwyn.rife.engine.Element; import com.uwyn.rife.template.Template; import com.uwyn.rife.tools.Localization; public class MyElement extends Element{ protected void setLocalized(Template template, String sTemplate, String locale){ ResourceBundle bundle = Localization.getResourceBundle(sTemplate, locale); template.addResourceBundle(bundle); } } so we can conveniently call setLocalized(...) Hope this is understandable. Sincerely Eskil Lauritsen On 5/16/07, Geert Bevin [EMAIL PROTECTED] wrote: Can you please include some samples, it's a bit hard to understand what you're meaning from this description. Thanks, Geert On 15 May 2007, at 19:29, Eskil Lauritsen wrote: We are using the resourcebundle method for localization in our webapp and we are having problems with translating template blocks that are included in other templates but have no implementation file of their own. They are however included (r:i) in templates which do have associated implementations, but adding the translation variables to the .properties-file for the template they are included in does not work either. -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] avaibility of oneToMany constrained property
Hi Dominique, this depends on what you want to do. Do you want to be able to have a getGroup() getter on the User class that automatically gets the group instance? If you want to do that, you need a nightly build of RIFE 1.6, which will be released as final before the end of the month. There are no docs for the new manyToOne, manyToOneAssociation, manyToMany, and manyToManyAssociation features yet. You can however find out how they work by looking at the tests sources: https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/TestGenericQueryManagerManyToOne.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/TestGenericQueryManagerManyToMany.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/ rifetestmodels/MOFirstBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/ rifetestmodels/MOSecondBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/ rifetestmodels/MOThirdBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/beans/MMFirstBean.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/beans/MMSecondBean.java Hope this helps, Geert On 16 May 2007, at 21:39, Dominique de Vito wrote: Hi, I have defined, let's say, a Group class having some properties + a getListUsers() method returning a list of User instances. Demos say I can define: addConstraint(new ConstrainedProperty(users) .notNull(true).listed(true) .manyToOne(User.class, id)); But there is no oneToMany that I need here ! So, here are my questions: - Is oneToMany a feature missing ? - or, is it not the way to go ? if so, what is the work-around ? Thanks, Dominique __ ___ Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] rife persistence + lazy loading
Hi Dimitry, the reply I set to Dominique's email should apply to you to. Best regards, Geert On 16 May 2007, at 15:44, Dimitry Van de Velde wrote: Hello, I was looking at the rife framework to use, but it is hard to find a good example of a one-to-many relationship, and how it works in rife. What i'm looking for is this: I have a parent object and this parent object has a list of children. I know that when using hibernate you can do the following: parent.getChildren() = which will give you a list of all the children (lazy-loading). But how is this done in rife? And in what version of rife? Thank you, ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] rife-crud jars with nightly rife 1.6 build
Sorry for the delay, this is fixed now, and RIFE/Crud in SVN works correctly with the new manyToOne code. On 17 Apr 2007, at 06:14, Geert Bevin wrote: Hi Henk, thanks for reporting this. The manyToOne support is evolving atm, so that's why this isn't working. I'll look into it. Take care, Geert On 16 Apr 2007, at 21:46, Henk wrote: Hi, I'm trying out Rife 1.6 nightly build 20070413. When starting my app, this gives a problem with some Rife-CRUD participants : SEVERE: java.lang.NullPointerException at com.uwyn.rife.crud.CrudSiteProcessor.buildAdminSubsite (CrudSiteProcessor.java:154) at com.uwyn.rife.crud.CrudSiteProcessor.processSite (CrudSiteProcessor.java:99) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:247) at com.uwyn.rife.engine.SiteBuilder.setupSubsites (SiteBuilder.java:995) at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1616) at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:260) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:251) at com.uwyn.rife.engine.SiteBuilder.setupSubsites (SiteBuilder.java:995) at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1616) at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:260) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:251) at com.uwyn.rife.engine.SiteBuilder.getSite(SiteBuilder.java:177) at com.uwyn.rife.rep.participants.ParticipantSite.initialize (ParticipantSite.java:36) at com.uwyn.rife.rep.BlockingParticipant.run (BlockingParticipant.java:230) at java.lang.Thread.run(Thread.java:613) So I was wondering if somewhere I can find a nightly build of Rife- CRUD that goes with this Rife build. Thanks Henk Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Database Relations
Hi Jeremy, sorry, this email moved too far down in my inbox. Is your question how to do manyToOne relationships with RIFE's database layer and MetaData? The upcoming 1.6 has been a lot improved in that regard and you can download a nightly build. Looking at the examples in the testsuite should help you to get started, I still need to write the docs for this: https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rife/ database/querymanagers/generic/TestGenericQueryManagerManyToOne.java https://svn.rifers.org/rife/trunk/src/unittests/com/uwyn/rifetestmodels/ Hope this helps, Geert On 16 Apr 2007, at 22:37, Jeremy Cowgar wrote: How do I setup my POJOs to take advantage of my MetaData that has manyToOne style relationships? Do I simply add non-persisted attributes of the values I want to attach and then on the Select query do joinInner's? -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Form input field values are being prefilled
Use Integer fields and not int fields. On 14 May 2007, at 12:20, Eskil Lauritsen wrote: We have a problem where form input fields that only accept integers (based on the bean, they are also set to be not null) are having their values prefilled with 0. We are also using the error stuff from example 8, but it won't trigger a mandatory error if we delete the 0 and submit the form; somehow it just enters 0 if it is empty. Any ideas on how we can fix this? Sincerely, Eskil Lauritsen ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] loader constraints violation
Hi Christian, what is the stacktrace? Are sure that you didn't remove the xml parser that your servlet container needs to parse its xml files. Might be that this is bound to a particular version. Take care, Geert On 09 May 2007, at 02:10, Christian Vest Hansen wrote: It did help on that issue, and shrunk the war by 2 megs. Now it just fails to start with a generic ServletException with no explaining message, and no clue in the log as to why. Wonderful. This codebase just don't like people. :) 2007/5/8, Geert Bevin [EMAIL PROTECTED]: You probably have several versions of the XML jars in your classpath. You can also try removing the XML jars from your web application and putting them in a global location for your servlet container. Hope this helps, Geert On 07 May 2007, at 08:19, Christian Vest Hansen wrote: Hello. I'm trying to convert an existing web application to rife, with the hope that it'll become easier to maintain. However, the rife filter fails to start with the following exception. Exception starting filter RIFE javax.servlet.ServletException: loader constraints violated when linking org/xml/sax/Locator class at com.uwyn.rife.servlet.RifeFilter.init(RifeFilter.java:88) at org.apache.catalina... This happens during deployment, and results in the application not being deployed at all. I've also tried to deploy a clean rife/jumpstart app, which worked out AOK. Initially, the project was using an arcane version of xml-apis, so I force fed maven the version that followed with rife/jumpstart (and set all the other dependencies as well) - sadly this changed nothing. Any ideas? -- Venlig hilsen / Kind regards, Christian Vest Hansen. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Venlig hilsen / Kind regards, Christian Vest Hansen. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] loader constraints violation
You probably have several versions of the XML jars in your classpath. You can also try removing the XML jars from your web application and putting them in a global location for your servlet container. Hope this helps, Geert On 07 May 2007, at 08:19, Christian Vest Hansen wrote: Hello. I'm trying to convert an existing web application to rife, with the hope that it'll become easier to maintain. However, the rife filter fails to start with the following exception. Exception starting filter RIFE javax.servlet.ServletException: loader constraints violated when linking org/xml/sax/Locator class at com.uwyn.rife.servlet.RifeFilter.init(RifeFilter.java:88) at org.apache.catalina... This happens during deployment, and results in the application not being deployed at all. I've also tried to deploy a clean rife/jumpstart app, which worked out AOK. Initially, the project was using an arcane version of xml-apis, so I force fed maven the version that followed with rife/jumpstart (and set all the other dependencies as well) - sadly this changed nothing. Any ideas? -- Venlig hilsen / Kind regards, Christian Vest Hansen. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] BUG: No warning against recursive inheritance
Correct, please file a Jira ;-) On 05 May 2007, at 23:57, Eddy Young wrote: Hey Geert, I'm posting here instead of creating a ticket because in the past I've been guilty of not updating them. If an element has an inherits attribute pointing to itself, RIFE does not issue any warning, and the web server can lock up. I have not tried the latest build, so feel free to slap me if this has been fixed :-) Eddy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] fixing broken key sequences...
I don't think that this is something that's even supported by the database wrt sequences. In any way, doing a: SELECT max(id) FROM tablename; Isn't that much of a deal, is it? On 05 May 2007, at 19:43, David HM Spector wrote: Here's an interesting problem... in a perfect world, the ID sequence for a primary key in a table should increase (usually) monotonically, and always be under the control of the DB. However, if for whatever reason, you have to edit a table or reset the table without manually resetting the sequence, you will most likely eventually get duplicate key errors when you try to insert rows into your table. Coding around this by catching the duplicate key error is problematic because you don't know what the current highest id in the table actually is.. Right now you can use SequenceValue() to find out the current and presumed-next value in the sequence, but a new HIGHEST_USED capability for this method might be useful for being able to reset a table sequence at runtime... (I realize this is sort of asking for forgiveness for tampering with the DB .. but it seems like a logical bit of defensive programming, rather than have to drop tables or write code to re-sequence existing tables which could have untold numbers of side-effects.) thoughts..? David -- -- -- David HM Spector [EMAIL PROTECTED] voice: +1 631.261.5013 http:// www.zeitgeist.com/ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' -- H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] RIFE and Microsoft SQL
Hi, Microsoft SQL server isn't supported, it would take quite a lot of effort to add support for it, sorry. You could do it yourself, but expect it to take up to a week in the worst case. Best regards, Geert On 03 May 2007, at 16:24, Eskil Lauritsen wrote: Hi The customer we are building the prototype auction system for, is interested in using Microsoft SQL as the datasource. We have noticed that MS SQL is not listed under the supported databases. Is there anything we can do about this, or will the customer be forced to use a supported db like mysql, postgresql etc. Sincerely Eskil Lauritsen ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Javaone Anyone?
Sure I'll pop by there too, I know about all the Groovy and Grails guys personally and Guillaume has become a friend. The W is just next to the conference center, very nice place. I'd be totally up for a dedicated RIFE meetup, but I'm not sure there will be many people, we're still a small alternative project that makes its way amongst the big fish with lots of traction ;-) On 01 May 2007, at 02:09, Steve Holmes wrote: Hey Geert! If you happen to be there Monday there is a Groovy/Grails meetup at night. I'll be attending that and as I'm very interested in both Grails and Rife I would love to hear you mixing with the Grails committers. The details are here: http://www.nabble.com/Javaone-Anyone--tf3671903.html#a10260714 Maybe we should organize a Rife/OpenLaszlo meetup for dinner and drinks some night at a local restaurant/bar. I have friends and family in the area and could probably find a good place. If folks are interested let me know and I'll try to set something up. -Steve Geert Bevin wrote: Hi Steve, evidently I will be at JavaOne :-) For those that can't get to my talks or that only have Pavillion passes, I will be quite often at the Terracotta stand. Besides that, I'll be up for drinks, dinner and geek chat everyday night of that week :-) Who else will be at JavaOne or even in San Francisco, I'm always happy to meet up! Take care, Geert On 30 Apr 2007, at 23:04, Steve Holmes wrote: Hey All! As it is my first year at Javaone I wanted to see if anyone would like to get together, have a few beers, talk about Rife, Lazlo, etc. Thanks! -Steve P.S. - I'm signed up for both of your Sessions, Geert. See you there! -- View this message in context: http://www.nabble.com/Javaone-Anyone-- tf3671995.html#a10260652 Sent from the RIFE - users mailing list archive at Nabble.com. -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- View this message in context: http://www.nabble.com/Javaone-Anyone-- tf3671995.html#a10262737 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] OutputField annotation?
Hi Richard, I can see that @OutputProperty might not always be what you want, depending on how your code is structured. Can you please add an issue for a feature enhancement to Jira? Like that we can track the implementation of your request. Take care, Geert On 30 Apr 2007, at 19:57, Richard Reich wrote: Actually, I spent a good bit of time trying to get @OutputProperty to work. My results were mixed. First, since the code that's there now works fine without the addition of a getter and a property, adding it seems like a mistake. All that adding the property and the getter achieved was to produce a compile-time definition. Also, when I removed the part of the working code that explicitly sets the output value in the setExitQuery call (might as well let the getter do its thing), the code failed. I think there's something a bit different about the timing of things in the gotBeanInstance context so that the automatic usage of the getter to access the output fails. But even if I had succeeded with the @OutputProperty, it's still a step backward in terms of unneeded complexity, reliance on invisible actions, loss of re-entrance (the field), etc. Or I don't understand how to use it properly! :) Thanks for your patience. -r Geert Bevin wrote: Hi Richard, the reason why there's no @OutputField annotation is because there is an @OutputProperty annotation that is much more useful. More information can be found here: http://rifers.org/wiki/display/RIFE/Annotations+support+for+element +declaration We can add an @OutputField annotation, but I'm not sure that it will be used much. Take care, Geert On 30 Apr 2007, at 06:46, Richard Reich wrote: I'm very new to RIFE. So I may be missing something very obvious. I'm playing with the friends example. Adding stuff, changing stuff. Right now, I'm trying to expunge as much XML as possible while maintaining a clean component structure. I also want to remove as many string literals as possible from annotations. (I rely on smart IDE searches and typing completions.) So I'd very much like to be able to treat an element's output in the same way that the ExitField treats an exit. That is, I'd like an annotation OutputField applicable to public static final Strings. Is this a reasonable request, consistent with the RIFE design outlook? FYI, the relevant fragment of the code I've been playing with is below, if that helps. -r Display.java: @Elem(outputs = @Output(name=friendid)) // nice to get rid of the outputs public class Display extends Element { @ExitField public static final String EXIT_EDIT = edit; public void processElement() { final Template t = getHtmlTemplate(display); final Datasource ds = Datasources.getRepInstance().getDatasource(Config.getRepInstance ().getString(DATASOURCE)); GenericQueryManagerFriend fm = GenericQueryManagerFactory.getInstance(ds, Friend.class); fm.restore(new DbBeanFetcherFriend(ds, Friend.class) { public boolean gotBeanInstance(Friend friend) { setExitQuery(t, EXIT_EDIT, new String[] {friendid, Integer.toString(friend.getId())}); t.setBean(friend); t.appendBlock(rows, row); return true; } }); print(t); } } -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] LDAP - spoke too soon :)
http://rifers.org/downloads/rife/snapshots/rife-1.6-snapshot-20070429/ contains the IdentifiableUsersManager interface with only the 2 methods needed for a CredentialsUser to be identifiable. On 28 Apr 2007, at 21:17, Geert Bevin wrote: Hi Eskil, verifyCredentials needs to return a long that uniquely and uniformly identifies a user. This long can't be different for the same user. Is this the case? Besides that, you're right, Identified can't work unless your CredentialsManager implements RoleUsersManager. There are several methods in there that are needed. I'm thinking of creating another interface called IdentifiableUsersManager that contains the getLogin (long userId) and getAttributes(String login) methods which are the ones that are required by the Identified element. Best regards, Geert On 28 Apr 2007, at 15:44, Eskil Lauritsen wrote: Seems like we concluded too soon on the state of our LDAP integration When we are logged in via LDAP, the RoleUserIdentity identity = RoleUserIdentity)getRequestAttribute (Identified.IDENTITY_ATTRIBUTE_NAME) returns a null pointer. Can this be because the method verifyCredentials in LDAPUsers only returns an auto incrementing long int? Do we have to implement a datastructure similar to mUsers to avoid this null pointer? -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Missing DbResultSet40 from 070410 and 070429 nightly snapshot jars?
I just added the JDK 1.6 to the nightly build system: http://rifers.org/downloads/rife/snapshots/rife-1.6-snapshot-20070429/ rife-1.6-snapshot-jdk16-20070429.jar On 29 Apr 2007, at 16:34, Mork0075 wrote: Hello Eskil, this has to do with the usage of jdk 1.6. Download the souces from SVN and build it with the integrated 1.6jar target in the build.xml. This works fine. Eskil Lauritsen schrieb: Hi, we encountered a missing class problem DbResultSet40 is missing from inside the jars of the nightly snapshots I mentioned in the topic, we have not tested any others though, but the file is present in the source. Sincerely Eskil Lauritsen ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] OutputField annotation?
Hi Richard, the reason why there's no @OutputField annotation is because there is an @OutputProperty annotation that is much more useful. More information can be found here: http://rifers.org/wiki/display/RIFE/Annotations+support+for+element +declaration We can add an @OutputField annotation, but I'm not sure that it will be used much. Take care, Geert On 30 Apr 2007, at 06:46, Richard Reich wrote: I'm very new to RIFE. So I may be missing something very obvious. I'm playing with the friends example. Adding stuff, changing stuff. Right now, I'm trying to expunge as much XML as possible while maintaining a clean component structure. I also want to remove as many string literals as possible from annotations. (I rely on smart IDE searches and typing completions.) So I'd very much like to be able to treat an element's output in the same way that the ExitField treats an exit. That is, I'd like an annotation OutputField applicable to public static final Strings. Is this a reasonable request, consistent with the RIFE design outlook? FYI, the relevant fragment of the code I've been playing with is below, if that helps. -r Display.java: @Elem(outputs = @Output(name=friendid)) // nice to get rid of the outputs public class Display extends Element { @ExitField public static final String EXIT_EDIT = edit; public void processElement() { final Template t = getHtmlTemplate(display); final Datasource ds = Datasources.getRepInstance().getDatasource(Config.getRepInstance ().getString(DATASOURCE)); GenericQueryManagerFriend fm = GenericQueryManagerFactory.getInstance(ds, Friend.class); fm.restore(new DbBeanFetcherFriend(ds, Friend.class) { public boolean gotBeanInstance(Friend friend) { setExitQuery(t, EXIT_EDIT, new String[] {friendid, Integer.toString(friend.getId())}); t.setBean(friend); t.appendBlock(rows, row); return true; } }); print(t); } } -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] canceling a step-back continuation based form in mid flight
This is hard for me to comment about without seeing the code. Pressing 'cancel' and 'the clause that looks for the cancel parameter' has no meaning like this for me. However, are you sure this hasn't got something to do with duringStepBack() being taken into account in a logical clause and always making it true when a step back action is active? One thing to remember is that once the step back has been executed, the next steps are again regular continuations. On 26 Apr 2007, at 08:41, David HM Spector wrote: Is there are clean way to cancel a step-back based form if the user is several levels deep in terms of the form navigation? On the very first page of my form there is a cancel and a next button. If you go to the form's first page (1st time through) and hit cancel (I check for a Cencel parameter), I call ContinuationContext.getActiveContext().removeContextTree() and then you are taken to the home page via an exit() call. It works just as I expect. If instead you fill in the form, and click next, to get to page 2 things get interesting. If you hit pages 2's back button to get back to page 1 (you're now stepped back), and then click cancel the application acts like you clicked next and takes you back to page 2. The clause that looks for the cancel parameter is never executed. If you click back again (taking you back to page 1), and then hit cancel again you are again taken back to page 2. Its like the cancel param is only available the first time through the first page of the form Is there any way out of this? -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Package declaration for a new ldap credential manager
Can't you specify them with their package name in the auth element properties? On 24 Apr 2007, at 17:02, Eskil Lauritsen wrote: Hi As previously discussed here on the list, we have made a LDAPUsers and LDAPUsersFactory. We ran into a problem with having them in our own package. To fix this, we had to put them in the com.uwyn.rife.authentication.credentialsmanagers package Is this necessary? Can we avoid this somehow? Sincerely Eskil Lauritsen ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] DB Date type question
On 24 Apr 2007, at 16:00, David HM Spector wrote: ah.. OK. Of course, I am being lazy and letting the CRUD system manage table creation. :) It would be nice to have as part of the constraints though... Can you file a Jira? Am I correct in presuming that if the tables are already in place, setting the column to include the timzezone attribute by hand shouldn't break anything..? Correct. David On Apr 24, 2007, at 2:11 AM, Geert Bevin wrote: You can declare the column explicitly in a CreateTable instance by using: http://rifers.org/docs/api/com/uwyn/rife/database/queries/ CreateTable.html#column(java.lang.String,%20java.lang.Class,% 20java.lang.String) If you use with time zone for the typeAttribute argument, it should work. Maybe this should be integrated with the constraints in some way. On 24 Apr 2007, at 06:15, David HM Spector wrote: I've noticed that not matter what kind of Date type I create (java.util.Date or java.util.Calendar) I never get dates types in my DB (Postgres) that are listed has having a timezone component... Is there something special I have to do to get RIFE to create a date column with the timezone..? -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Reading custom properties from an xml-file in java
You mean that you want to read the properties that are declared for a RIFE element, elsewhere in your code? On 24 Apr 2007, at 22:59, Eskil Lauritsen wrote: Hi This is also concering the LDAP-stuff we're doing for our university project, but more general We would like to take all the LDAP config stuff out of our java code and put it in auth.xml or a similar xml file How can we read/import our custom properties from that file? For instance, to specify the port that is to be used by LDAP: property name=ldap_port389/property Sincerely Eskil Lauritsen ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Reading custom properties from an xml-file in java
Hi Eskil, hope this gets you further along: Site.getRepInstance().resolveId(.Your.Element.ID).getProperties(); or if you're inside the element in question: getElementInfo().getProperties(); Best regards, Geert On 25 Apr 2007, at 00:09, Eskil Lauritsen wrote: Yes, so we can just make methods that will retrieve these properties we set in the XML-file. We realize we can do this by writing routines for reading the file and parsing it, but it seems counter to what RIFE is about and we are pretty sure there are some method in the API of RIFE we can use, for instance getPropertyString. We just can't figure out how to call the method. Sincerely Eskil Lauritsen On 4/24/07, Geert Bevin [EMAIL PROTECTED] wrote: You mean that you want to read the properties that are declared for a RIFE element, elsewhere in your code? On 24 Apr 2007, at 22:59, Eskil Lauritsen wrote: Hi This is also concering the LDAP-stuff we're doing for our university project, but more general We would like to take all the LDAP config stuff out of our java code and put it in auth.xml or a similar xml file How can we read/import our custom properties from that file? For instance, to specify the port that is to be used by LDAP: property name=ldap_port389/property Sincerely Eskil Lauritsen ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Different forms filling parts of a bean
Give it the submission name: http://rifers.org/docs/api/com/uwyn/rife/engine/ ElementSupport.html#fillSubmissionBean(java.lang.String,% 20java.lang.Object) and add the group to the submission declaration: submission name=blah group=grp Hope this helps, Geert On 21 Apr 2007, at 14:50, David HM Spector wrote: Hi Geert, My constraint groups were indeed checking the values properly, the form was getting marked up correctly, the only difference was the use of the focusgroup() method, which didn't seem to make a difference ... when fillSumbmissionBean() executes, it still takes out the existing data... http://rifers.org/paste/show/4434 Obviously I am not grokking something... David On Apr 21, 2007, at 3:20 AM, Geert Bevin wrote: Hi David, You need to use constraint groups: http://rifers.org/wiki/display/RIFE/Validation#Validation-3 Then, when you setup the submission, you can provide the name of the group. Only the data in that group will be filled in and/or blanked. Hope this helps, Geert On 21 Apr 2007, at 05:47, David HM Spector wrote: Ran into an interesting problem this evening, not sure how to get around it: As part of my registration process users have to give me a certain set of information, such as email address, a password, and their full name, Given these pieces of info, they can register and access the system. However there is a lot more in my Account bean that isn't necessary to register, but might be useful for them to fill in later for use in larger aspects of the system (address, phone #, billing info for enhanced services, etc) The validation is done in two different validation groups, one for the info required at registration time, the other to handle the user profile member variables. when I made a form (the user profile) to deal with setting the rest of the data, I can read the Account bean back in and all the data originally set there when the user registered is there; however, once the user fills in the User Profile form (address, etc) the existing data in the bean gets wiped after the fillSubmissionBean() call and only the new data is in the bean. is there something that needs to be set to keep the existing data in the bean...? David --- David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Different forms filling parts of a bean
Sorry, answered too quickly, this is correct: submission name=blah bean classname=BeanImpl group=somegroup/ /submission On 21 Apr 2007, at 14:58, Geert Bevin wrote: Give it the submission name: http://rifers.org/docs/api/com/uwyn/rife/engine/ ElementSupport.html#fillSubmissionBean(java.lang.String,% 20java.lang.Object) and add the group to the submission declaration: submission name=blah group=grp Hope this helps, Geert On 21 Apr 2007, at 14:50, David HM Spector wrote: Hi Geert, My constraint groups were indeed checking the values properly, the form was getting marked up correctly, the only difference was the use of the focusgroup() method, which didn't seem to make a difference ... when fillSumbmissionBean() executes, it still takes out the existing data... http://rifers.org/paste/show/4434 Obviously I am not grokking something... David On Apr 21, 2007, at 3:20 AM, Geert Bevin wrote: Hi David, You need to use constraint groups: http://rifers.org/wiki/display/RIFE/Validation#Validation-3 Then, when you setup the submission, you can provide the name of the group. Only the data in that group will be filled in and/or blanked. Hope this helps, Geert On 21 Apr 2007, at 05:47, David HM Spector wrote: Ran into an interesting problem this evening, not sure how to get around it: As part of my registration process users have to give me a certain set of information, such as email address, a password, and their full name, Given these pieces of info, they can register and access the system. However there is a lot more in my Account bean that isn't necessary to register, but might be useful for them to fill in later for use in larger aspects of the system (address, phone #, billing info for enhanced services, etc) The validation is done in two different validation groups, one for the info required at registration time, the other to handle the user profile member variables. when I made a form (the user profile) to deal with setting the rest of the data, I can read the Account bean back in and all the data originally set there when the user registered is there; however, once the user fills in the User Profile form (address, etc) the existing data in the bean gets wiped after the fillSubmissionBean() call and only the new data is in the bean. is there something that needs to be set to keep the existing data in the bean...? David --- David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users - -- David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Different forms filling parts of a bean
Great summary, mind adding it to the wiki? On 21 Apr 2007, at 19:12, David HM Spector wrote: Hmmm... Group doesn't seem to be defined as a element type for the Submission .. but it is on the bean element, bean classname=com.zeitgeist.nela.model.Account group=ContactInfo/ which works. Thanks! So the rundown (so others can find it in the list, and I'll add it to the wiki later) is as follows: To work with a bean whose data will be filled in by several different forms: 1) Define different constraint groups (either in your model bean or in a separate MetaData class) for each collection of member variables that will be processed by the different forms. 2) Define the constraint group in the submission portion of your form's element as part of the submission's bean declaration, e.g.: element id=ContactInfo implementation=path.to.FormHandlerClass submission name=update bean classname=path.to.your.model.Account group=ContactInfo/ /submission /element which narrows the submission's scope down to fields validated by this one group of constraints 3) In the class that processes the form, set the focus of the validation onto the constraint group you declared in the element declaration, and use the version of fillSubmissionBean that takes a submission name param which will tell RIFE which parameters from the form are of interest and to be filled in to the bean instance while leaving any others unchanged. E.g.: public void doUpdate() { account.focusGroup(ContactInfo); fillSubmissionBean(update, account); if (account.validateGroup(ContactInfo)) { // good! account.setModification_dt(new java.util.Date()); int result = accountQM.update(account); template.clear(); account.resetValidation(); print(template); } else { // bad. if at first you don't succeeed... processElement(); } } I think that should be reasonably complete... _David On Apr 21, 2007, at 8:58 AM, Geert Bevin wrote: Give it the submission name: http://rifers.org/docs/api/com/uwyn/rife/engine/ ElementSupport.html#fillSubmissionBean(java.lang.String,% 20java.lang.Object) and add the group to the submission declaration: submission name=blah group=grp Hope this helps, Geert On 21 Apr 2007, at 14:50, David HM Spector wrote: Hi Geert, My constraint groups were indeed checking the values properly, the form was getting marked up correctly, the only difference was the use of the focusgroup() method, which didn't seem to make a difference ... when fillSumbmissionBean() executes, it still takes out the existing data... http://rifers.org/paste/show/4434 Obviously I am not grokking something... David On Apr 21, 2007, at 3:20 AM, Geert Bevin wrote: Hi David, You need to use constraint groups: http://rifers.org/wiki/display/RIFE/Validation#Validation-3 Then, when you setup the submission, you can provide the name of the group. Only the data in that group will be filled in and/or blanked. Hope this helps, Geert On 21 Apr 2007, at 05:47, David HM Spector wrote: Ran into an interesting problem this evening, not sure how to get around it: As part of my registration process users have to give me a certain set of information, such as email address, a password, and their full name, Given these pieces of info, they can register and access the system. However there is a lot more in my Account bean that isn't necessary to register, but might be useful for them to fill in later for use in larger aspects of the system (address, phone #, billing info for enhanced services, etc) The validation is done in two different validation groups, one for the info required at registration time, the other to handle the user profile member variables. when I made a form (the user profile) to deal with setting the rest of the data, I can read the Account bean back in and all the data originally set there when the user registered is there; however, once the user fills in the User Profile form (address, etc) the existing data in the bean gets wiped after the fillSubmissionBean() call and only the new data is in the bean. is there something that needs to be set to keep the existing data in the bean...? David -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them
Re: [Rife-users] ExitQuery with amp;
How was this generated? On 19 Apr 2007, at 15:32, Matthias Schmitt wrote: Hello, i have a problem with the generated Exit:Query. i use a javascript method to redirect onChange with an selectbox: script type=text/javascript function reload() { location.href='/ixdesk/rec/recform? PatID=5619amp;recID=12540amp;authid=db3e2eb6b8861c41fe49895584000b27 '; } /script it works with Internet Explorer, but firefox won't accept the url, because of the 'amp' instead of '' and redirects to the login. How can i configure rife to use '' instead of 'amp;' thanks, Matthias. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] LDAP using jLDAP and RIFE credential manager
Wonderful! Several people have asked for it in the past, it would be a very welcome contribution to the project. On 18 Apr 2007, at 14:17, Eskil Lauritsen wrote: Thank you, Geert! That worked perfectly. We have now functioning LDAP authentication in our webapp. Has integrating LDAP authentication directly in RIFE been considered? Sincerely Eskil Lauritsen On 4/18/07, Geert Bevin [EMAIL PROTECTED] wrote: Just LDAPUsers.java and LDAPUsersFactory.java should suffice and setting its name as a 'credentialsmanagerfactory_class' property of a regular authentication element. On 16 Apr 2007, at 13:29, Eskil Lauritsen wrote: Hi, Geert In addition to LDAPUsers.java and LDAPUsersFactory.java, what more files do we need? Do we need a LDAPAuthenticatedDeployer.java and LDAPAuthenticated.java too? Also, which XML-file do we use for the setting of the properties? main.xml? Just like any element? element id=LDAPUsers implementation=LDAPUsers / etc? Sincerely Eskil Lauritsen On 4/14/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, using the upcoming RIFE 1.6, it's very easy to plug in your own credentials manager into an authentication element. There are no docs about that yet, but you can do this by setting the credentialsmanagerfactory_class property to the class of your CredentialsManagerFactory. This might help you along: https:// svn.rifers.org/rife/trunk/src/framework/com/uwyn/rife/ authentication/ elements/DatabaseAuthenticatedDeployer.java Note that these properties don't have to be set in Java, you can set like you do for any RIFE element property, in XML for example. Hope this helps. Take care, Geert On 13 Apr 2007, at 09:35, Eskil Lauritsen wrote: We're trying to make a credentials manager for authenticating against LDAP. We've written some code but we're unsure about what to do next, or if the code is correct. Any ideas? Code: package com.uwyn.rife.authentication.credentialsmanagers; import com.novell.ldap.*; import com.uwyn.rife.authentication.*; import com.uwyn.rife.authentication.Credentials; import com.uwyn.rife.authentication.CredentialsManager; import com.uwyn.rife.authentication.credentials.RoleUserCredentials; import com.uwyn.rife.authentication.exceptions.CredentialsManagerException; import java.io.UnsupportedEncodingException; public class LDAPUsers implements CredentialsManager { static long userid; public long verifyCredentials(Credentials credentials) { RoleUserCredentials cred = (RoleUserCredentials) credentials; String loginDN = cn= + cred.getLogin() + ,dc=localhost; String password = cred.getPassword(); return authenticate(loginDN, password); } public static long authenticate(String loginDN, String password) { int ldapPort = LDAPConnection.DEFAULT_PORT; int ldapVersion = LDAPConnection.LDAP_V3; String ldapHost = localhost; boolean success = false; LDAPResponseQueue queue = null; LDAPConnection lc = new LDAPConnection(); int rc = 0; try { lc.connect(ldapHost, ldapPort); queue = lc.bind(ldapVersion, loginDN,password.getBytes(UTF8), (LDAPResponseQueue)null ); LDAPResponse rsp = (LDAPResponse)queue.getResponse(); String msg; rc = rsp.getResultCode(); msg = rsp.getErrorMessage(); if(rc == LDAPException.SUCCESS) { success = true; } else { throw new LDAPException( msg, rc, (String)null ); }; lc.disconnect(); } catch (LDAPException e) { if (e.getResultCode() == LDAPException.NO_SUCH_OBJECT) { System.err.println(Error: No such user name); } else if (e.getResultCode() == LDAPException.NO_SUCH_ATTRIBUTE) { System.err.println(Error: No such attribute); } else { System.err.println(Error: + e.toString()); } } catch (UnsupportedEncodingException e) { System.out.println(Error: + e.toString()); } if(success) { return userid++; } else { return -1; } } } ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com
Re: [Rife-users] Weird error
Maybe since you use Java 1.6 on your Windows machine, the compiled classes on the Solaris machine with Java 1.5 didn't run in the same way. On 18 Apr 2007, at 15:10, GODAWSKI Francis wrote: OK, apparently my windows machine was using java 1.6 while the solaris machine used 1.5. I didn't use anything specific to 1.6 though, and I don't think your framework does either (at least the version I'm using). But switching to 1.6 has solved the problem. My bad. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Geert Bevin Sent: woensdag 18 april 2007 0:43 To: RIFE users list : questions, bug reports and suggestions. Subject: Re: [Rife-users] Weird error Hi Francis, I think your best bet is to try to figure out the differences between the Windows and the Solaris box in terms of installed versions and such and lingering classes. Usually, when 'weird errors' like this persist and are inexplicable it turns out to be a classpath problem (which I doubt in your case), wrong or outdated classes, etc etc. I can't think of other reasons why this would happen. Good luck, Geert On 17 Apr 2007, at 17:37, GODAWSKI Francis wrote: I'm using rife-jumpstart-1.5.1-2-jdk15. I've never used another version of rife. The declaration of Version in the main.xml is untouched, and I never even looked at Version.java untill this happened. I'm going to try an install on a linux machine tomorrow, and see if I have the same problems there. Thanks Francis -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Geert Bevin Sent: dinsdag 17 april 2007 17:01 To: RIFE users list : questions, bug reports and suggestions. Subject: Re: [Rife-users] Weird error Hi Francis, which version of RIFE and Java are you running on those machines? Also, do you happen to strip away JDK 1.5 annotations in some way to make the classes executable on JDK 1.4? Did you change anything to the declaration of Version in the main.xml site? Did you change anything to the annotations in the Java implementation of Version.java? Did the previous version of your application use an older version of the Jumpstart? If yes, are you sure that an old version of Version.class is not lingering around on the Solaris machine, causing RIFE to find one without the @Elem annotation? Best regards, Geert On 17 Apr 2007, at 15:02, GODAWSKI Francis wrote: Hi, I've been working on a project. Development and testing on Windows (on jboss 4.0.5), deployement on Solaris (on jboss 4.0.5). The previous version I deployed worked ok, but now, the new version gives me a strange error. Well, it still works on the windows machine, but when I deploy that version on the solaris machine, it says The declaration of element with implementation 'com.uwyn.rifejumpstart.elements.Version' in site 'sites/main.xml' is missing. My first reaction was look if all the xml files were in unix format. But after I checked this, and changed a few files to unix formatting, the error remained. I never even touched com.uwyn.rifejumpstart.elements.Version. It wouldn't surprise me if I made a stupid mistake, but I do need help finding out what the error is. SEVERE: com.uwyn.rife.engine.exceptions.ElementDeclarationNameMissingExceptio n : The declaration of element with implementation 'com.uwyn.rifejumpstart.elements.Version' in site 'sites/main.xml' is missing. at com.uwyn.rife.engine.ElementInfoBuilder.process (ElementInfoBuilder.java: 99) at com.uwyn.rife.engine.ElementInfoBuilder.process (ElementInfoBuilder.java: 92) at com.uwyn.rife.engine.SiteBuilder.setupElements(SiteBuilder.java:909) at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1618) at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:261) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:252) at com.uwyn.rife.engine.SiteBuilder.getSite(SiteBuilder.java:178) at com.uwyn.rife.rep.participants.ParticipantSite.initialize (ParticipantSit e.java:36) at com.uwyn.rife.rep.participants.ParticipantSite._getObject (ParticipantSit e.java:49) at com.uwyn.rife.rep.BlockingParticipant.getObject (BlockingParticipant.java :471) at com.uwyn.rife.rep.BlockingParticipant._getObject (BlockingParticipant.jav a:447) at com.uwyn.rife.rep.BlockingParticipant.getObject (BlockingParticipant.java :415) at com.uwyn.rife.engine.Site.getRepInstance(Site.java:250) at com.uwyn.rife.engine.Gate.obtainSite(Gate.java:183) at com.uwyn.rife.engine.Gate.handleRequest(Gate.java:292) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:585
Re: [Rife-users] MD5 hex encryption
)); + } + return PREFIX_MD5HEX+sb.toString(); + } else if (value.startsWith(PREFIX_MD5)) { MessageDigest digest = MessageDigest.getInstance(MD5); @@ -108,6 +123,10 @@ { clearValue = PREFIX_WHIRLPOOL+clearValue; } + else if (encryptedValue.startsWith(PREFIX_MD5HEX)) + { + clearValue = PREFIX_MD5HEX+clearValue; + } else if (encryptedValue.startsWith(PREFIX_MD5)) { clearValue = PREFIX_MD5+clearValue; On Apr 17, 2007, at 12:17 AM, Geert Bevin wrote: Thanks for this Jeremy, actually for any code to be committed, I need a test that asserts the behavior. Could you add what's needed to src/unittests/com/ uwyn/rife/tools/TestStringEncryptor.java and make sure the new assertions succeed. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Logging SQL statements?
Sure, set the config param SQL_DEBUG_TRACE to true, or 1. On 17 Apr 2007, at 01:58, Jeremy Cowgar wrote: Is there a way I can make RIFE log the SQL it generates? Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] rife-crud jars with nightly rife 1.6 build
Hi Henk, thanks for reporting this. The manyToOne support is evolving atm, so that's why this isn't working. I'll look into it. Take care, Geert On 16 Apr 2007, at 21:46, Henk wrote: Hi, I'm trying out Rife 1.6 nightly build 20070413. When starting my app, this gives a problem with some Rife-CRUD participants : SEVERE: java.lang.NullPointerException at com.uwyn.rife.crud.CrudSiteProcessor.buildAdminSubsite (CrudSiteProcessor.java:154) at com.uwyn.rife.crud.CrudSiteProcessor.processSite (CrudSiteProcessor.java:99) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:247) at com.uwyn.rife.engine.SiteBuilder.setupSubsites(SiteBuilder.java: 995) at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1616) at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:260) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:251) at com.uwyn.rife.engine.SiteBuilder.setupSubsites(SiteBuilder.java: 995) at com.uwyn.rife.engine.SiteBuilder.setupData(SiteBuilder.java:1616) at com.uwyn.rife.engine.SiteBuilder.finish(SiteBuilder.java:260) at com.uwyn.rife.engine.SiteBuilder.process(SiteBuilder.java:251) at com.uwyn.rife.engine.SiteBuilder.getSite(SiteBuilder.java:177) at com.uwyn.rife.rep.participants.ParticipantSite.initialize (ParticipantSite.java:36) at com.uwyn.rife.rep.BlockingParticipant.run (BlockingParticipant.java:230) at java.lang.Thread.run(Thread.java:613) So I was wondering if somewhere I can find a nightly build of Rife- CRUD that goes with this Rife build. Thanks Henk Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] MD5 hex encryption
Thanks for this Jeremy, actually for any code to be committed, I need a test that asserts the behavior. Could you add what's needed to src/unittests/com/uwyn/rife/ tools/TestStringEncryptor.java and make sure the new assertions succeed. Thanks, Geert On 16 Apr 2007, at 22:36, Jeremy Cowgar wrote: Greetings! I have a project that is accessing a user db that uses the common MD5() function found in SQL servers like MySQL and PostgreSQL. It appears as though RIFEs MD5 implementation gets the base64 of the bytes returned by java's MessageDigest. I wrote up an encryption method that is compatible with the hex strings returned by the MD5 () hex functions. Below is the diff that makes it all work. I called the encryption method MD5HEX. I have tested it against MySQL and Postgresql. It's working great in both of those instances. Jeremy Index: src/framework/com/uwyn/rife/tools/StringEncryptor.java === --- src/framework/com/uwyn/rife/tools/StringEncryptor.java (revision 3717) +++ src/framework/com/uwyn/rife/tools/StringEncryptor.java (working copy) @@ -17,18 +17,21 @@ { public static final String IDENTIFIER_OBF = OBF; public static final String IDENTIFIER_MD5 = MD5; + public static final String IDENTIFIER_MD5HEX = MD5HEX; public static final String IDENTIFIER_SHA = SHA; public static final String IDENTIFIER_WHIRLPOOL = WRP; private static finalString PREFIX_SUFFIX = :; private static finalString PREFIX_OBF = IDENTIFIER_OBF +PREFIX_SUFFIX; private static finalString PREFIX_MD5 = IDENTIFIER_MD5 +PREFIX_SUFFIX; + private static final String PREFIX_MD5HEX = IDENTIFIER_MD5HEX+PREFIX_SUFFIX; private static finalString PREFIX_SHA = IDENTIFIER_SHA +PREFIX_SUFFIX; private static finalString PREFIX_WHIRLPOOL = IDENTIFIER_WHIRLPOOL+PREFIX_SUFFIX; public static final StringEncryptor OBF = new StringEncryptor(PREFIX_OBF); public static final StringEncryptor MD5 = new StringEncryptor(PREFIX_MD5); public static final StringEncryptor SHA = new StringEncryptor(PREFIX_SHA); + public static final StringEncryptor MD5HEX = new StringEncryptor(PREFIX_MD5HEX); public static final StringEncryptor WHIRLPOOL = new StringEncryptor(PREFIX_WHIRLPOOL); private StringEncryptor(String identifier) @@ -69,6 +72,18 @@ whirlpool.NESSIEfinalize(digest); return PREFIX_WHIRLPOOL +Base64.encodeToString(digest, false); } + else if (value.startsWith(PREFIX_MD5HEX)) + { + MessageDigest digest = MessageDigest.getInstance(MD5); + digest.update(value.substring (PREFIX_MD5HEX.length()).getBytes()); + byte[] bytes = digest.digest(); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i bytes.length; ++i) + { + sb.append(Integer.toHexString((bytes[i] 0xFF) | 0x100).substring(1, 3)); + } + return PREFIX_MD5HEX+sb.toString(); + } else if (value.startsWith(PREFIX_MD5)) { MessageDigest digest = MessageDigest.getInstance(MD5); @@ -108,6 +123,10 @@ { clearValue = PREFIX_WHIRLPOOL+clearValue; } + else if (encryptedValue.startsWith(PREFIX_MD5HEX)) + { + clearValue = PREFIX_MD5HEX+clearValue; + } else if (encryptedValue.startsWith(PREFIX_MD5)) { clearValue = PREFIX_MD5+clearValue; ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] RIFE and webapp compilation errors
FYI, added to Jira: http://uwyn.com/issues/browse/RIFE-333 On 14 Apr 2007, at 20:17, Eskil Lauritsen wrote: Thanks, Geert. We appreciate you taking the time to troubleshoot this. We will try to include tools.jar in our project. Thanks again and have a nice weekend. Sincerely Eskil Lauritsen On 4/14/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, it seems that there's a problem on windows when javac is launched as an external command in certain situation. The process actually never returns. The easiest 'solution' for this is to include tools.jar in your projects classpath (this can be found for example here C: \Program Files\Java\jdk1.5.0_11\lib\tools.jar). This seems to be a bug in the JDK, I'll have to track it down and see if I can work around it. This will probably take a while since it really is Process.waitFor() that never return. Not sure what I can do about it. Maybe start it in another thread and forcefully kill it if it takes too long, I'll have to try a few things out. Hope this helps you along, Geert On 14 Apr 2007, at 14:56, Eskil Lauritsen wrote: Hi again We've tried updating to the latest nightly build but we got the same behaviour. We're prepared to send you our complete sources in private if you wish. Since we're using jumpstart it will be really easy for you to import it to Eclipse. It should be plug and play. Geert, if you reply to me personally we can arrange for you to get the sources. Sincerely Eskil Lauritsen On 4/13/07, Eskil Lauritsen [EMAIL PROTECTED] wrote: Okay, I will reply with an update when we have tried this. Thanks. -Eskil On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Just remove the old RIFE jar and put the new one in. On 13 Apr 2007, at 11:19, Eskil Lauritsen wrote: We're using the jumpstart project on the main download page. How can we update the RIFE version of the jumpstart project? Sincerely Eskil Lauritsen On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, would you mind sending me an archive of your sources in private. Then I can try this out. What you're describing just works for me, nothing hangs here. Take care, Geert PS.: which version of RIFE are you using? You might want to try a nightly snapshot, they're much more advanced than the 1.5.1 release On 13 Apr 2007, at 09:32, Eskil Lauritsen wrote: Hi again We have an example now: If we try to use view a page when we have omitted the lines import com.uwyn.rife.authentication.credentialsmanagers.RoleUserIdentity; import com.uwyn.rife.authentication.elements.Identified; from our Home.java file, we get the problem with the browser just hanging and no errors being outputted in Eclipse nor by RIFE. Sincerely, Eskil Lauritsen On 4/13/07, Eskil Lauritsen [EMAIL PROTECTED] wrote: Hello, Geert We're on Windows XP SP2 and 2003 (using terminal clients), JVM 1.5.0_06 We have figured out that RIFE only compiles Elements on the fly (we had a problem with an executor class not compiling), and we don't have any of these problems at the moment. I just asked the question in preparation of our continued coding. I will reply to this thread when we have new occurrence of this problem. Thanks for your continued patience. -Eskil On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, can you tell me which OS you're using and which JVM? Also, can you give an example of the Java compilation error that doesn't show up in the browser? RIFE only recompiles your elements on- the-fly, not any other Java code. However, if there are compilation errors for any elements, it should show up in your browser. As Mork says, you can of course have written some code that creates an endless loop and simply hangs the JVM. With a real example we can say more. Take care, Geert On 13 Apr 2007, at 02:00, Eskil Lauritsen wrote: Hi! I was wondering if it is possible to have RIFE output not only RIFE- related errors but also java compilation errors. We use the latest rife- jumpstart Eclipse project that is linked to under Downloads on rifers.org. Now if we have a pure java error (that is, an error not related to RIFE), the browser only hangs. This is my third attempt at sending this to the list. I hope this change of email address will do the trick! Sincerely Eskil Lauritsen -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list [EMAIL
Re: [Rife-users] RIFE and webapp compilation errors
Hi Eskil, it seems that there's a problem on windows when javac is launched as an external command in certain situation. The process actually never returns. The easiest 'solution' for this is to include tools.jar in your projects classpath (this can be found for example here C: \Program Files\Java\jdk1.5.0_11\lib\tools.jar). This seems to be a bug in the JDK, I'll have to track it down and see if I can work around it. This will probably take a while since it really is Process.waitFor() that never return. Not sure what I can do about it. Maybe start it in another thread and forcefully kill it if it takes too long, I'll have to try a few things out. Hope this helps you along, Geert On 14 Apr 2007, at 14:56, Eskil Lauritsen wrote: Hi again We've tried updating to the latest nightly build but we got the same behaviour. We're prepared to send you our complete sources in private if you wish. Since we're using jumpstart it will be really easy for you to import it to Eclipse. It should be plug and play. Geert, if you reply to me personally we can arrange for you to get the sources. Sincerely Eskil Lauritsen On 4/13/07, Eskil Lauritsen [EMAIL PROTECTED] wrote: Okay, I will reply with an update when we have tried this. Thanks. -Eskil On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Just remove the old RIFE jar and put the new one in. On 13 Apr 2007, at 11:19, Eskil Lauritsen wrote: We're using the jumpstart project on the main download page. How can we update the RIFE version of the jumpstart project? Sincerely Eskil Lauritsen On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, would you mind sending me an archive of your sources in private. Then I can try this out. What you're describing just works for me, nothing hangs here. Take care, Geert PS.: which version of RIFE are you using? You might want to try a nightly snapshot, they're much more advanced than the 1.5.1 release On 13 Apr 2007, at 09:32, Eskil Lauritsen wrote: Hi again We have an example now: If we try to use view a page when we have omitted the lines import com.uwyn.rife.authentication.credentialsmanagers.RoleUserIdentity; import com.uwyn.rife.authentication.elements.Identified; from our Home.java file, we get the problem with the browser just hanging and no errors being outputted in Eclipse nor by RIFE. Sincerely, Eskil Lauritsen On 4/13/07, Eskil Lauritsen [EMAIL PROTECTED] wrote: Hello, Geert We're on Windows XP SP2 and 2003 (using terminal clients), JVM 1.5.0_06 We have figured out that RIFE only compiles Elements on the fly (we had a problem with an executor class not compiling), and we don't have any of these problems at the moment. I just asked the question in preparation of our continued coding. I will reply to this thread when we have new occurrence of this problem. Thanks for your continued patience. -Eskil On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, can you tell me which OS you're using and which JVM? Also, can you give an example of the Java compilation error that doesn't show up in the browser? RIFE only recompiles your elements on-the-fly, not any other Java code. However, if there are compilation errors for any elements, it should show up in your browser. As Mork says, you can of course have written some code that creates an endless loop and simply hangs the JVM. With a real example we can say more. Take care, Geert On 13 Apr 2007, at 02:00, Eskil Lauritsen wrote: Hi! I was wondering if it is possible to have RIFE output not only RIFE- related errors but also java compilation errors. We use the latest rife- jumpstart Eclipse project that is linked to under Downloads on rifers.org. Now if we have a pure java error (that is, an error not related to RIFE), the browser only hangs. This is my third attempt at sending this to the list. I hope this change of email address will do the trick! Sincerely Eskil Lauritsen -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] RIFE and webapp compilation errors
Just remove the old RIFE jar and put the new one in. On 13 Apr 2007, at 11:19, Eskil Lauritsen wrote: We're using the jumpstart project on the main download page. How can we update the RIFE version of the jumpstart project? Sincerely Eskil Lauritsen On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, would you mind sending me an archive of your sources in private. Then I can try this out. What you're describing just works for me, nothing hangs here. Take care, Geert PS.: which version of RIFE are you using? You might want to try a nightly snapshot, they're much more advanced than the 1.5.1 release On 13 Apr 2007, at 09:32, Eskil Lauritsen wrote: Hi again We have an example now: If we try to use view a page when we have omitted the lines import com.uwyn.rife.authentication.credentialsmanagers.RoleUserIdentity; import com.uwyn.rife.authentication.elements.Identified; from our Home.java file, we get the problem with the browser just hanging and no errors being outputted in Eclipse nor by RIFE. Sincerely, Eskil Lauritsen On 4/13/07, Eskil Lauritsen [EMAIL PROTECTED] wrote: Hello, Geert We're on Windows XP SP2 and 2003 (using terminal clients), JVM 1.5.0_06 We have figured out that RIFE only compiles Elements on the fly (we had a problem with an executor class not compiling), and we don't have any of these problems at the moment. I just asked the question in preparation of our continued coding. I will reply to this thread when we have new occurrence of this problem. Thanks for your continued patience. -Eskil On 4/13/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Eskil, can you tell me which OS you're using and which JVM? Also, can you give an example of the Java compilation error that doesn't show up in the browser? RIFE only recompiles your elements on-the-fly, not any other Java code. However, if there are compilation errors for any elements, it should show up in your browser. As Mork says, you can of course have written some code that creates an endless loop and simply hangs the JVM. With a real example we can say more. Take care, Geert On 13 Apr 2007, at 02:00, Eskil Lauritsen wrote: Hi! I was wondering if it is possible to have RIFE output not only RIFE- related errors but also java compilation errors. We use the latest rife- jumpstart Eclipse project that is linked to under Downloads on rifers.org. Now if we have a pure java error (that is, an error not related to RIFE), the browser only hangs. This is my third attempt at sending this to the list. I hope this change of email address will do the trick! Sincerely Eskil Lauritsen ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] crud template question
Hi Henk, referring to an element like this: ^UserShow Does this according to the currently active element. RIFE/Crud generates elements for each class name and the CRUD actions within. More information about the naming can be found here: http://rifers.org/wiki/display/RIFECRUD/Customization#Customization- elementids So, you're simply not using the correct relative element addressing according to the RIFE/Crud elements. You can either use absolute addressing, or adapts your relative addressing. Hope this helps, Geert On 12 Apr 2007, at 13:05, Henk wrote: Hi, I have these entries in my main.xml : property name=crud_template_name-blueprint common.blueprint_admin /property subsite id=organisation file=crud:mob.model.Organisation urlprefix=/organisation / element id=UserShow file=mob/user_show.xml/ In my template I have !--V 'ELEMENT:^UserShow' /-- in order to render the UserShow element. This works in the entire site except if I click on one of the crud actions (e.g. list). In that case it cannot find the embedded element. Any idea why this is the case ? Thanks Henk Henk [EMAIL PROTECTED] ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list [EMAIL PROTECTED] http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Passing Data to Elements Without Submission Beans
Don't worry, if you have time before Saturday to have a new take on it, please do so. Not having to write this will take some load of my shoulders. I'm wondering though, why do you relate exit, datalinks, flowlinks, autolinks, ... (ie. the things that are really the parts that make up RIFE's data flow and logic) to submission beans? On 10 Apr 2007, at 23:14, Jeremy Whitlock wrote: Geert, I went through a few versions of this and you are correct that is reads wrong. I intended on mentioning that my first attempt lead me to setProhibitRawAccess then using getHttpServletRequest.getParameter() but I must had thought one thing and wrote another. I don't mind fixing it myself or you can do it. Although it appears to be a lack of information, it was really many attempts to write something simple ending up in two incomplete thoughts mixed into one. As for not mentioning exits, datalinks, flowlinks or autolinks, that was on purpose. I didn't have to use those in my code and using those makes me believe that you are using a Submission bean. Maybe I should point them to the Submission Bean portion of the document for a data flow example and then let them read this for a simplified data passing mechanism. Regardless, as-is it doesn't read as expected and I got in a hurry due to travel. It should be rewritten/modified/scraped. Sorry for the half-hearted attempt but sometimes I cannot manage all of the thoughts I have at any given time and at this time, I was thinking of a lot of things at once. Take care, Jeremy On 4/10/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Jeremy, thanks for writing this up but sadly the information sounds a bit misguided to me. I don't have time currently to rewrite it, so I'm going to remove it until Saturday. I'll have time then to edit this page with targeted information that correctly guides people to what's important. The fact that you looked at setProhibitRawAccess and that you don't even talk about regular getParameter calls is clearly an indicator of a lack of information. Also, mentioning inputs without exits, datalinks, flowlinks or autolinks is only a small part of the picture. Take care, Geert On 10 Apr 2007, at 20:00, Jeremy Whitlock wrote: Hi All, I have just updated the wiki to make known a useful API for passing data to Elements without the use of submission beans. Here is the url: http://rifers.org/wiki/display/RIFE/Passing+data+without+submission +beans It isn't much but before this, it might had been hard to find information about this without looking through the source or bugging Geert. Take care, Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Rife DB vs Hibernate or iBatis
People, I'm pretty sure that some people on the list are able to answer this. I know you all are busy, so am I. I'd really appreciate it that when there are mailing list posts that you are able to answer, that you do so. It takes some load of my shoulders and allows me to work more on the framework itself. I know that I'm partly to blame for this since I usually respond within minutes to any message that's written here, so this hasn't really become a 'community mailing list', more a support channel. It would be great though to try to morph this mailing list into something more community like. This just takes a little effort from everyone and makes it so much 'lighter' for me. Thanks! On 09 Apr 2007, at 12:50, Jeremy Cowgar wrote: I am wondering, why should I use the RIFE db abstraction instead of say Hibernate or iBatis? Jeremy -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Rife DB vs Hibernate or iBatis
Just a small note to everyone about RIFE's DB layer for 1.6. It's taking me a bit longer than expected to finish it, but it will have true many to one and many to many support for real objects (not just the numeric IDs), with lazy loading and everything. This will close the gap between Hibernate even more. On 10 Apr 2007, at 11:06, Henk wrote: Hi Jeremy, I started with hibernate, but midway decided to rewrite my app using the RIFE db abstraction because I prefer to have more control over my sql code. I was only starting out with hibernate though and I am more comfortable with plain sql. So if your case is the opposite, just go ahead and use your prefered ORM tool. good luck Henk On 09 Apr 2007, at 21:50, Jeremy Cowgar wrote: I am wondering, why should I use the RIFE db abstraction instead of say Hibernate or iBatis? Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Passing Data to Elements Without Submission Beans
Hi Jeremy, thanks for writing this up but sadly the information sounds a bit misguided to me. I don't have time currently to rewrite it, so I'm going to remove it until Saturday. I'll have time then to edit this page with targeted information that correctly guides people to what's important. The fact that you looked at setProhibitRawAccess and that you don't even talk about regular getParameter calls is clearly an indicator of a lack of information. Also, mentioning inputs without exits, datalinks, flowlinks or autolinks is only a small part of the picture. Take care, Geert On 10 Apr 2007, at 20:00, Jeremy Whitlock wrote: Hi All, I have just updated the wiki to make known a useful API for passing data to Elements without the use of submission beans. Here is the url: http://rifers.org/wiki/display/RIFE/Passing+data+without+submission +beans It isn't much but before this, it might had been hard to find information about this without looking through the source or bugging Geert. Take care, Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] users password not retrievable
If that doesn't work out, the only thing that I can ask you is to send me a self-contained example (using an embedded database) so that I can try exactly what you're doing. For me, this works. On 09 Apr 2007, at 10:57, Henk wrote: I'm sure. Note that it returns the correct userid, just not the password. I'm using the 20070207 snapshot of 1.6. I'll try a newer build. thanks Henk On 09 Apr 2007, at 18:23, Geert Bevin wrote: Stupid question, but are you sure that you're using the correct datasource in the code below? On 09 Apr 2007, at 09:00, Henk wrote: I can see the password in the tables. It is even unencrypted. Also authenticating works. Strange. Henk On 06 Apr 2007, at 09:43, Geert Bevin wrote: When I try this code, it just works. Are you sure you actually stored a password for the users in the database? Can you check with a regular database client to see what's actually in the tables? On 28 Mar 2007, at 13:23, Henk wrote: I'm probably stupid, but I tried this : RoleUserAttributes attr = users.getAttributes(admin); System.out.println(id: + attr.getUserId() + pass: + attr.getPassword()); it gives me id: 4 pass: null thanks Henk On 28 Mar 2007, at 21:23, Geert Bevin wrote: Hi Henk, The userid is not the same as the login. ;-) Hope this helps, Geert On 28 Mar 2007, at 19:43, Henk wrote: Hi, I'm making a frontend for the users management of my webapp. I try to retrieve the user's password this way : users = DatabaseUsersFactory.getInstance(datasource); if (getInputLong(userid) 0) { user_id = getInputLong(userid); System.out.println(pass: + users.getAttributes (users.getLogin(user_id)).getPassword()); } This always returns pass: null. Setting the password however works fine. Is there another way (apart from using my own sql statement) ? Thanks Henk Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Passing Data Between Elements
Yeah, definitely add it to the wiki, I think there's no implicit documentation for it atm. On 06 Apr 2007, at 14:20, Jeremy Whitlock wrote: Geert, That is the tip I was looking for. Thanks for the help. I knew it had to be a minor thing I was doing wrong. I don't recall this being documented, unless it is in the source. Would this be useful in the Wiki? Take care, Jeremy On 4/3/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Jeremy, You're using the wrong method, use getInput, not getParameter. Parameters are part of submissions. You can also create a setTableId method in your element, and RIFE will automatically inject the value. HTH, Geert On 02 Apr 2007, at 09:05, Jeremy Whitlock wrote: Hi All, I have an application where I want to have an element called DatabaseBrowser. This element will display all tables of a given database. Each displayed table will be a link to the DatabaseBrowser with a parameter called tableId. Here is how it will work: If the tableId is not present, display all tables. If the tableId is present, display the table-specific information. My problem comes in my site definition. I'm not sure how to pass the data properly. Everything I've done thusfar has resulted in: com.uwyn.rife.engine.exceptions.ParameterUnknownException: The element 'manual:AdminDatabaseBrowser' doesn't contain parameter 'tableId' in any submission. at com.uwyn.rife.engine.ElementContext.validateParameter (ElementContext.java:1596) at com.uwyn.rife.engine.ElementContext.getParameter (ElementContext.java:2114) at com.uwyn.rife.engine.ElementSupport.getParameter (ElementSupport.java:5629) at net.collab.extranet.sac.elements.AdminDatabaseBrowser.processElement ( AdminDatabaseBrowser.java:32) at com.uwyn.rife.engine.ElementContext.processContext (ElementContext.java:443) at com.uwyn.rife.engine.RequestState.service (RequestState.java:342) at com.uwyn.rife.engine.Gate.handleRequest (Gate.java:421) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.uwyn.rife.servlet.RifeFilter.doFilter (RifeFilter.java:142) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter (ServletHandler.java:1040) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:352) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:230) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:627) at org.mortbay.jetty.handler.ContextHandlerCollection.handle ( ContextHandlerCollection.java:149) at org.mortbay.jetty.handler.HandlerCollection.handle (HandlerCollection.java:123) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java :141) at org.mortbay.jetty.Server.handle(Server.java:286) at org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java :444) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:701) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java: 500) at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java :203) at org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:340) at org.mortbay.jetty.nio.HttpChannelEndPoint.run (HttpChannelEndPoint.java:270) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:475) Here is the important portion of the site definition: element id=AdminDatabaseBrowser implementation=net.collab.extranet.sac.elements.AdminDatabaseBrowser url=/admin/databasebrowser input name=tableId / output name=tableId / flowlink srcexit=AdminDatabaseBrowser destid=AdminDatabaseBrowser / datalink srcoutput=tableId destid=AdminDatabaseBrowser destinput=tableId / /element My concern is that this isn't a typical way to pass data. I've looked through the examples and I cannot find anything specific to what I need. I will continue looking but if anyone can help me figure out where I'm going wrong, I would appreciate it. Take care, Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http
Re: [Rife-users] Question about FORM:SELECT and resource lists
Hi Jeremy, from a quick look, it seems that you're missing something that provides the list of valid values of the select box. You only generate the localization labels for those values, but don't generate an inList constraint for them. If you've obtained them from the database, you can do this as so (assuming you've got a ConstrainedProperty setup for accountTypeId, otherwise just add a new one): account.getConstrainedProperty(accountTypeId).inList(yourvalues); Hope this helps, Geert On 05 Apr 2007, at 18:33, Jeremy Cowgar wrote: I am having troubles making this work. It seems that my resource bundle's getObjects method is never being called. This is the relevant portions of my code... AccountTypeService.java public ListResourceBundle getResourceBundle() { final Select select = new Select(getDatasource()).from(TABLE_NAME) .orderBy(name); return new ListResourceBundle() { public Object[][] getContents() { ListAccountType objs = executeFetchAllBeans(select, AccountType.class); ListIteratorAccountType it = objs.listIterator(); Object[][] results = new Object[objs.size()][2]; System.out.println(Getting account types: + objs.size()); int idx = 0; while (it.hasNext()) { AccountType at = it.next(); System.out.println(Type: + at.getName()); results[idx] = new Object[] { accountTypeId: + at.getId(), at.getName() }; idx += 1; } return results; } }; } AccountEdit.java: public void processElement() { final Template t = getHtmlTemplate(account.edit); if (hasSubmission()) { // Save account } else { account = new AccountService().get(accountId); } t.addResourceBundle(new AccountTypeService().getResourceBundle()); generateForm(t, account); print(t); } account/edit.html: tdr:v name=FORM:SELECT:accountTypeId/r:v/td Any thoughts? Thanks, Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Difference processElement and doSomething()
Hi Mork, i have got a registration html page. On the first hit, i would like to print out the empty template, i do that with the processElement method. If an submission (register) occurs, i would like to handle it, i do that with doSubmissionName(). This works. Is it the intended way? Yes, or you can also check for the submission inside processElement using hasSubmission(). Another problem is, that my register site is a merging of the login template and the registration form. Both forms contain a field called login. If i generate the form in the registration element (generateForm()) both fields are filled with the login value. I thaught calling generateForm(template, object) binds the generation to a specific template, no mather if the field names are equal? generateForm doesn't bind. It merely generates the form fields on a name basis. If you have conflicts of fields with the same names, you can use prefixes for field names as values IDs in the template and then use that prefix when you generate the form. RIFE has no way of knowing which field belongs to which from unless it starts parsing the HTML of your templates and detects which fields belong to which submissions. Even that wouldn't be good enough though, since you can also use submissions in other template formats. So I took the general approach of flattening name spaces and just doing it on a name basis. Hope this helps, Geert -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Problem adding database support to rife
Hi Mork, what do you mean what 'nothing happens'? Is the user logged out, but you don't see a new page? Is there a URL generated in the login box? Did you look at example 7 about authentication? Btw, if you want to snap back to the same location, you need to trigger the request through a submission (which doesn't mean a form though, you can have URL submissions). The exit in LoginBox is simply there to be able to go to the logout element from within the LoginBox element. If you don't want the submission check to 'pollute' the implementation of LoginBox, you can use precedence to just handle that. http://rifers.org/wiki/display/RIFE/Snapbacks http://rifers.org/wiki/display/RIFE/Precedence Hope this helps, Geert On 29 Mar 2007, at 16:49, Mork Ork wrote: Hello Geert, excuse me fot the delay. Today i tried the jar16 and it works. Thanks :) But now there another issue, i cant logout within my auth template. If i click on theloutout link, nothing happens. Have you any idea? pub.xml element id=Logout file=auth/logout.xml flowlink srcexit=logged_out snapback=true/ /element element id=LoginBox file=auth/loggedInElement.xml inherits=AuthBox flowlink srcexit=logout destid=Logout/ /element loggedInElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element implementation=com.cm.fc.elements.auth.LoggedInElement exit name=logout/ /element loggedIn.html nobrpWelcome r:v name=login/./p/nobr pa href=${v EXIT:QUERY:logout/}log out/a/p logout.xml ?xml version=1.0 encoding=ISO-8859-1? !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/logout/passthrough/database.xml property name=datasourcedatasourcemysql/datasource/ property property name=authvar_typecookie/property /element 2007/3/25, Geert Bevin [EMAIL PROTECTED]: Ahh, yeah, the upcoming RIFE has specific support for JDK 1.6 and the new JDBC, but that hasn't been integrated in the nightly builds yet since it requires the building to be executed with a different JDK. To have the JDK 1.6 jar, you need to build from sources. Checkout the current version from Subversion and do ant jar16. You'll have that binary jar you need sitting in build/dist. Hope this helps, Geert On 25 Mar 2007, at 02:01, Mork0075 wrote: Hello Geert, now i'am facing a new problem: i changed the rife jar in my project, now its up to date. But if i run my project (with the BlockingParticipant to install the tables and default user) i get an exception that the default user cant be installed, because DBResultSet40 ClassNotFoundException. Are there any other dependencies i have to update when updating to a new rife jar? In my IDE i use Java 1.6 with Compiler Compliance Level set to 1.5. May this also cause problems? Thanks a lot Marvin Geert Bevin schrieb: Hi, definitely, the snapshot is actually more stable that the latest release. I'll be pushing out a new release in the next couple of weeks. I think the problem you're referring to was solved a couple of months in the RIFE core project, not the jumpstart. Take care, Geert On 24 Mar 2007, at 12:51, Mork0075 wrote: Hi, great, this works for me to. But this also means, that there's an issue in the jumpstart archive published on the rife site?! Would you recommand using an snapshot archive for productive development? Geert Bevin schrieb: I tried it with the archive that you sent me and simply replaced the RIFE jar with the latest binary nightly build. On 24 Mar 2007, at 10:46, Mork0075 wrote: Hello Geert, have you tried it with the jumpstart 1.5.1 archive from the rife site or with an snapshot from the current head of the repository? Geert Bevin schrieb: Strange, I tried it with a recent snapshot and it works just fine. You have an error in your site structure though since you're linking from an exit that doesn't exit (logged_out). Besides that, the site starts up without any errors. Are you sue you don't have another copy lingering around in your classpath? On 23 Mar 2007, at 09:44, Mork Ork wrote: Ok, tried it, but same error The property 'datasource' of element 'rife/authenticated/database.xml' was expected to have the type 'com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Have you received the project archive? it was about 10mb, so it took a while. 2007/3/23, Geert Bevin [EMAIL PROTECTED]:Hang on, can you quickly try something for me, don't use the MySQL jar that is in your project (mysql-connector-java-5.0.5- bin.jar). MySQL's JDBC drivers have a tendency to be frequently unstable and incompatible, can you try with this one that's in here http:// rifers.org/download/95/rife-sumo-1.5.1-jdk15.zip ? That's what is used to test RIFE. On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs
Re: [Rife-users] users password not retrievable
Hi Henk, The userid is not the same as the login. ;-) Hope this helps, Geert On 28 Mar 2007, at 19:43, Henk wrote: Hi, I'm making a frontend for the users management of my webapp. I try to retrieve the user's password this way : users = DatabaseUsersFactory.getInstance(datasource); if (getInputLong(userid) 0) { user_id = getInputLong(userid); System.out.println(pass: + users.getAttributes(users.getLogin (user_id)).getPassword()); } This always returns pass: null. Setting the password however works fine. Is there another way (apart from using my own sql statement) ? Thanks Henk Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Problem adding database support to rife
Ahh, yeah, the upcoming RIFE has specific support for JDK 1.6 and the new JDBC, but that hasn't been integrated in the nightly builds yet since it requires the building to be executed with a different JDK. To have the JDK 1.6 jar, you need to build from sources. Checkout the current version from Subversion and do ant jar16. You'll have that binary jar you need sitting in build/dist. Hope this helps, Geert On 25 Mar 2007, at 02:01, Mork0075 wrote: Hello Geert, now i'am facing a new problem: i changed the rife jar in my project, now its up to date. But if i run my project (with the BlockingParticipant to install the tables and default user) i get an exception that the default user cant be installed, because DBResultSet40 ClassNotFoundException. Are there any other dependencies i have to update when updating to a new rife jar? In my IDE i use Java 1.6 with Compiler Compliance Level set to 1.5. May this also cause problems? Thanks a lot Marvin Geert Bevin schrieb: Hi, definitely, the snapshot is actually more stable that the latest release. I'll be pushing out a new release in the next couple of weeks. I think the problem you're referring to was solved a couple of months in the RIFE core project, not the jumpstart. Take care, Geert On 24 Mar 2007, at 12:51, Mork0075 wrote: Hi, great, this works for me to. But this also means, that there's an issue in the jumpstart archive published on the rife site?! Would you recommand using an snapshot archive for productive development? Geert Bevin schrieb: I tried it with the archive that you sent me and simply replaced the RIFE jar with the latest binary nightly build. On 24 Mar 2007, at 10:46, Mork0075 wrote: Hello Geert, have you tried it with the jumpstart 1.5.1 archive from the rife site or with an snapshot from the current head of the repository? Geert Bevin schrieb: Strange, I tried it with a recent snapshot and it works just fine. You have an error in your site structure though since you're linking from an exit that doesn't exit (logged_out). Besides that, the site starts up without any errors. Are you sue you don't have another copy lingering around in your classpath? On 23 Mar 2007, at 09:44, Mork Ork wrote: Ok, tried it, but same error The property 'datasource' of element 'rife/authenticated/database.xml' was expected to have the type 'com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Have you received the project archive? it was about 10mb, so it took a while. 2007/3/23, Geert Bevin [EMAIL PROTECTED]:Hang on, can you quickly try something for me, don't use the MySQL jar that is in your project (mysql-connector-java-5.0.5- bin.jar). MySQL's JDBC drivers have a tendency to be frequently unstable and incompatible, can you try with this one that's in here http:// rifers.org/download/95/rife-sumo-1.5.1-jdk15.zip ? That's what is used to test RIFE. On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config- base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/ datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.Participant Databas eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep
Re: [Rife-users] Problem adding database support to rife
Strange, I tried it with a recent snapshot and it works just fine. You have an error in your site structure though since you're linking from an exit that doesn't exit (logged_out). Besides that, the site starts up without any errors. Are you sue you don't have another copy lingering around in your classpath? On 23 Mar 2007, at 09:44, Mork Ork wrote: Ok, tried it, but same error The property 'datasource' of element 'rife/authenticated/ database.xml' was expected to have the type 'com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Have you received the project archive? it was about 10mb, so it took a while. 2007/3/23, Geert Bevin [EMAIL PROTECTED]:Hang on, can you quickly try something for me, don't use the MySQL jar that is in your project (mysql-connector-java-5.0.5-bin.jar). MySQL's JDBC drivers have a tendency to be frequently unstable and incompatible, can you try with this one that's in here http:// rifers.org/download/95/rife-sumo-1.5.1-jdk15.zip ? That's what is used to test RIFE. On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config- base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.ParticipantDatabas eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep datasources.xml datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource universalAuthElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/authenticated/database.xml property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission property name=datasourcedatasourcemysql/datasource/ property childtrigger name=authid/ /element LoginBoxElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=auth/universalAuthElement.xml property name=template_name auth.login/property property name=rolevisitor/property /element 2007/3/22, Henk [EMAIL PROTECTED]:Check the following : rep/datasources.xml : should contain datasource name=mysql driver com.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource rep/config- base.xml : should contain param name=DATASOURCEmysql/param param name=database_nameyourdatabase/param param name=database_useryouruser/param param name=database_passwordyourpassword/param Mysql should be running, the database should exist together with a working user. cheers Henk On 22 Mar 2007, at 21:51, Mork0075 wrote: Ok, thanks a lot, this was my mistake. But the other problem remains: The property
Re: [Rife-users] Problem adding database support to rife
I tried it with the archive that you sent me and simply replaced the RIFE jar with the latest binary nightly build. On 24 Mar 2007, at 10:46, Mork0075 wrote: Hello Geert, have you tried it with the jumpstart 1.5.1 archive from the rife site or with an snapshot from the current head of the repository? Geert Bevin schrieb: Strange, I tried it with a recent snapshot and it works just fine. You have an error in your site structure though since you're linking from an exit that doesn't exit (logged_out). Besides that, the site starts up without any errors. Are you sue you don't have another copy lingering around in your classpath? On 23 Mar 2007, at 09:44, Mork Ork wrote: Ok, tried it, but same error The property 'datasource' of element 'rife/authenticated/database.xml' was expected to have the type 'com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Have you received the project archive? it was about 10mb, so it took a while. 2007/3/23, Geert Bevin [EMAIL PROTECTED]:Hang on, can you quickly try something for me, don't use the MySQL jar that is in your project (mysql-connector-java-5.0.5-bin.jar). MySQL's JDBC drivers have a tendency to be frequently unstable and incompatible, can you try with this one that's in here http:// rifers.org/download/95/rife-sumo-1.5.1-jdk15.zip ? That's what is used to test RIFE. On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config- base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.ParticipantData bas eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep datasources.xml datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource universalAuthElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/authenticated/database.xml property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission property name=datasourcedatasourcemysql/datasource/ property childtrigger name=authid/ /element LoginBoxElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=auth/universalAuthElement.xml property name=template_name auth.login/property property name=rolevisitor/property /element 2007/3/22, Henk [EMAIL PROTECTED]:Check the following : rep/datasources.xml : should contain datasource name=mysql driver com.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource rep/config- base.xml : should contain param name=DATASOURCEmysql/param param name=database_nameyourdatabase/param param name=database_useryouruser/param param name=database_passwordyourpassword/param Mysql should be running, the database should exist together with a working user. cheers Henk On 22 Mar 2007
Re: [Rife-users] Problem adding database support to rife
Hi, definitely, the snapshot is actually more stable that the latest release. I'll be pushing out a new release in the next couple of weeks. I think the problem you're referring to was solved a couple of months in the RIFE core project, not the jumpstart. Take care, Geert On 24 Mar 2007, at 12:51, Mork0075 wrote: Hi, great, this works for me to. But this also means, that there's an issue in the jumpstart archive published on the rife site?! Would you recommand using an snapshot archive for productive development? Geert Bevin schrieb: I tried it with the archive that you sent me and simply replaced the RIFE jar with the latest binary nightly build. On 24 Mar 2007, at 10:46, Mork0075 wrote: Hello Geert, have you tried it with the jumpstart 1.5.1 archive from the rife site or with an snapshot from the current head of the repository? Geert Bevin schrieb: Strange, I tried it with a recent snapshot and it works just fine. You have an error in your site structure though since you're linking from an exit that doesn't exit (logged_out). Besides that, the site starts up without any errors. Are you sue you don't have another copy lingering around in your classpath? On 23 Mar 2007, at 09:44, Mork Ork wrote: Ok, tried it, but same error The property 'datasource' of element 'rife/authenticated/database.xml' was expected to have the type 'com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Have you received the project archive? it was about 10mb, so it took a while. 2007/3/23, Geert Bevin [EMAIL PROTECTED]:Hang on, can you quickly try something for me, don't use the MySQL jar that is in your project (mysql-connector-java-5.0.5-bin.jar). MySQL's JDBC drivers have a tendency to be frequently unstable and incompatible, can you try with this one that's in here http:// rifers.org/download/95/rife-sumo-1.5.1-jdk15.zip ? That's what is used to test RIFE. On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config- base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.ParticipantDa tabas eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep datasources.xml datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource universalAuthElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/authenticated/database.xml property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission property name=datasourcedatasourcemysql/datasource/ property childtrigger name=authid/ /element LoginBoxElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=auth/universalAuthElement.xml property name=template_name auth.login/property property name=rolevisitor/property /element 2007/3/22, Henk [EMAIL PROTECTED]:Check the following : rep/datasources.xml : should contain datasource name=mysql
Re: [Rife-users] Problem adding database support to rife
Which version of RIFE are you using? On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config-base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.ParticipantDatabas eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep datasources.xml datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource universalAuthElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/authenticated/database.xml property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission property name=datasourcedatasourcemysql/datasource/ property childtrigger name=authid/ /element LoginBoxElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=auth/universalAuthElement.xml property name=template_name auth.login/property property name=rolevisitor/property /element 2007/3/22, Henk [EMAIL PROTECTED]:Check the following : rep/datasources.xml : should contain datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource rep/config-base.xml : should contain param name=DATASOURCEmysql/param param name=database_nameyourdatabase/param param name=database_useryouruser/param param name=database_passwordyourpassword/param Mysql should be running, the database should exist together with a working user. cheers Henk On 22 Mar 2007, at 21:51, Mork0075 wrote: Ok, thanks a lot, this was my mistake. But the other problem remains: The property 'datasource' of element 'auth/loginBoxElement.xml' was expected to have the type ' com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Henk schrieb: Actually, rife jumpstart does support MySQL, but does not include the driver. Moreover, it depends on your mysql version which jdbc driver you should use. Check out http://www.mysql.com/products/ connector/j/ for more information. good luck Henk On 22 Mar 2007, at 21:23, Mork0075 wrote: I use the rife jumpstart project, i thaught theres mysql support out of the box? Henk schrieb: Hi, you probably checked this, but are you sure the MySQL jdbc driver is in the classpath ? cheers Henk On 22 Mar 2007, at 21:11, Mork0075 wrote: Hi, i try to add some basic database functionality to my rife app, but got some errors. First of all, adding this line to my auth.xml (which extends rife/autheticated/database.xml) element property name=datasourcedatasourcemysql/datasource/ property causes the following error: The property 'datasource' of element 'auth
Re: [Rife-users] Problem adding database support to rife
I can't find anything form the snippets you pasted, indeed. Would you mind zipping up your project and sending it to me privately (not to the list). I can step through it myself then and pinpoint why this happens. Take care, Geert On 23 Mar 2007, at 07:33, Geert Bevin wrote: Which version of RIFE are you using? On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config-base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.ParticipantDataba s eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep datasources.xml datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource universalAuthElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/authenticated/database.xml property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission property name=datasourcedatasourcemysql/datasource/ property childtrigger name=authid/ /element LoginBoxElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=auth/universalAuthElement.xml property name=template_name auth.login/property property name=rolevisitor/property /element 2007/3/22, Henk [EMAIL PROTECTED]:Check the following : rep/datasources.xml : should contain datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource rep/config-base.xml : should contain param name=DATASOURCEmysql/param param name=database_nameyourdatabase/param param name=database_useryouruser/param param name=database_passwordyourpassword/param Mysql should be running, the database should exist together with a working user. cheers Henk On 22 Mar 2007, at 21:51, Mork0075 wrote: Ok, thanks a lot, this was my mistake. But the other problem remains: The property 'datasource' of element 'auth/ loginBoxElement.xml' was expected to have the type ' com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Henk schrieb: Actually, rife jumpstart does support MySQL, but does not include the driver. Moreover, it depends on your mysql version which jdbc driver you should use. Check out http://www.mysql.com/products/ connector/j/ for more information. good luck Henk On 22 Mar 2007, at 21:23, Mork0075 wrote: I use the rife jumpstart project, i thaught theres mysql support out of the box? Henk schrieb: Hi, you probably checked this, but are you sure the MySQL jdbc driver is in the classpath ? cheers Henk On 22 Mar 2007, at 21:11, Mork0075 wrote: Hi, i try to add some basic database functionality
Re: [Rife-users] Problem adding database support to rife
Hang on, can you quickly try something for me, don't use the MySQL jar that is in your project (mysql-connector-java-5.0.5-bin.jar). MySQL's JDBC drivers have a tendency to be frequently unstable and incompatible, can you try with this one that's in here http:// rifers.org/download/95/rife-sumo-1.5.1-jdk15.zip ? That's what is used to test RIFE. On 23 Mar 2007, at 03:00, Mork Ork wrote: I did some debugging, perhaps this is helpful: The error occurs in PurgingDatabaseAuthenticatedDeployer.java where a Datasource object tries to be created (line 59). This line is executed twice. First time the correct datasource object is created (with my mysql settings). The second time in ElementInfo.getPropertyTyped an exception is thrown in line 1195 (if (!type.isAssignableFrom(result.getClass(. In the first run the value of result is Datsource (the mysql one), in the second run, the value of result is . I think this is the failure. The datasource seems to be identified correctly once and then (i dont know why) a second datasource tries to be created from an empty input . 2007/3/23, Mork Ork [EMAIL PROTECTED]: Hi Geert, this is my site structure (pub.xml) http://rifers.org/paste/show/4031 This is universalAuthElement.xml http://rifers.org/paste/show/4032 This is loginBoxElement.xml http://rifers.org/paste/show/4033 And this is the complete stack trace. http://rifers.org/paste/show/4034 Thanks a lot for your time. 2007/3/23, Geert Bevin [EMAIL PROTECTED]: Can you post the entire stacktrace of the exception you get and the site structure in which universalAuthElement.xml is declared also? On 22 Mar 2007, at 14:17, Mork Ork wrote: Ok, i checked this but same error config-base.xml config param name=datasourcemysql/param param name=database_namerife/param param name=database_userrife/param param name=database_passwordrife/param /config participants.xml rep participant param=rep/config-base.xml ParticipantConfig/ participant participant param=rep/ datasources.xmlParticipantDatasources/participant property name=datasourcedatasourcemysql/datasource/ property participant blocking=true param=datasourcecom.cm.financeloupe.participants.ParticipantDatabas eAuthentication/participant participant param=sites/main.xmlParticipantSite/ participant /rep datasources.xml datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource universalAuthElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=rife/authenticated/database.xml property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission property name=datasourcedatasourcemysql/datasource/ property childtrigger name=authid/ /element LoginBoxElement.xml !DOCTYPE element SYSTEM /dtd/element.dtd element extends=auth/universalAuthElement.xml property name=template_name auth.login/property property name=rolevisitor/property /element 2007/3/22, Henk [EMAIL PROTECTED]:Check the following : rep/datasources.xml : should contain datasource name=mysql drivercom.mysql.jdbc.Driver/driver urljdbc:mysql://localhost:3306/config param=database_name/?autoReconnect=true/url userconfig param=database_user//user passwordconfig param=database_password//password poolsize5/poolsize /datasource rep/config-base.xml : should contain param name=DATASOURCEmysql/param param name=database_nameyourdatabase/param param name=database_useryouruser/param param name=database_passwordyourpassword/param Mysql should be running, the database should exist together with a working user. cheers Henk On 22 Mar 2007, at 21:51, Mork0075 wrote: Ok, thanks a lot, this was my mistake. But the other problem remains: The property 'datasource' of element 'auth/loginBoxElement.xml' was expected to have the type ' com.uwyn.rife.database.Datasource', however it's actual type ' java.lang.String' couldn't be cast to it. Henk schrieb: Actually, rife jumpstart does support MySQL, but does not include the driver. Moreover, it depends on your mysql version which jdbc driver you should use. Check out http://www.mysql.com/products/ connector/j/ for more information. good luck Henk On 22 Mar 2007, at 21:23, Mork0075 wrote: I use the rife jumpstart project, i thaught theres mysql support out of the box? Henk schrieb: Hi, you probably checked this, but are you sure the MySQL jdbc driver is in the classpath ? cheers Henk On 22 Mar 2007, at 21:11, Mork0075 wrote: Hi, i try to add some
Re: [Rife-users] Problem adding database support to rife
//password poolsize5/poolsize /datasource ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users Henk [EMAIL PROTECTED] ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] login redirect after inactivity
I suppose it's possible to handle this, but it needs some custom coding and a bit of searching. One way start looking into this by creating a second authentication element that is used for popups. I think that by providing a custom template for that one, you should be able to write some javascript that closes the popup and performs a request in the main window. Another approach could be to not have javascript that directly opens a popup window in your main window, but to first post a submission to the main window (which will then be authenticated), and at the submission post serve the javascript that will open the popup. At an initial glance I think I prefer the second approach. Hope this helps, Geert On 07 Mar 2007, at 22:58, David HM Spector wrote: The problem is that when the user's session times out the credentials box is showing up in very unexpected and inappropriate places. In the example I described when I did enter my credentials, the next page, that should have been in a modal pop-up window was redisplayed in a whole browser window. David On Mar 7, 2007, at 3:38 PM, Geert Bevin wrote: Why would you want to do that? RIFE's authentication is created in such a way that you can just enter your credentials and the form you initially submitted will go through. No need to go back to the mail page. On 07 Mar 2007, at 21:33, David HM Spector wrote: I ran into an interesting problem, I was signed into my App, had to walk off for a little while, when I cam back and clicked on a button that would bring me to some other form (which happens to be a popup window) what was in the window? The login credentials box (!!) Yikes. Is there a simple way to redirect a user to the main login page whenever they are logged out due to inactivity bypassing whatever they may have been in the middle of when they walked away form the keyboard? David --- David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] login redirect after inactivity
Why would you want to do that? RIFE's authentication is created in such a way that you can just enter your credentials and the form you initially submitted will go through. No need to go back to the mail page. On 07 Mar 2007, at 21:33, David HM Spector wrote: I ran into an interesting problem, I was signed into my App, had to walk off for a little while, when I cam back and clicked on a button that would bring me to some other form (which happens to be a popup window) what was in the window? The login credentials box (!!) Yikes. Is there a simple way to redirect a user to the main login page whenever they are logged out due to inactivity bypassing whatever they may have been in the middle of when they walked away form the keyboard? David -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] DWR v. Safari.
Hi David, I know Joe Walker, the main developer of DWR, bought a Macbook Pro as his main laptop last week. So I'm pretty sure this issue will soon be resolved. Best regards, Geert On 06 Mar 2007, at 00:14, David HM Spector wrote: fyi... DWR2.0RC2 and Safari do not play well with each other. A little digging revealed: http://www.nabble.com/Problems-with-2.0- rc2-and-rc1-on-Safari-t2932547.html once Geert walked me though my config file issue, I ran into this... David -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] DWR v. Safari.
I'll ping Joe about it later today, to see if he can't put a snapshot up. On 06 Mar 2007, at 07:31, David HM Spector wrote: looking through the mailing list traffic it looks like the problem has been identified and there appears to be a workaround in the SVN version of the code... I am sure it'll be resolved quickly too. I'll code around it for the moment and just use a simple ajax-like hack (read: a CSS-based modal dialog) and normal RIFE submissions for the moment, since Safari is on the must-support list for my app and many of our testers are Mac users. David On Mar 6, 2007, at 12:59 AM, Geert Bevin wrote: Hi David, I know Joe Walker, the main developer of DWR, bought a Macbook Pro as his main laptop last week. So I'm pretty sure this issue will soon be resolved. Best regards, Geert On 06 Mar 2007, at 00:14, David HM Spector wrote: fyi... DWR2.0RC2 and Safari do not play well with each other. A little digging revealed: http://www.nabble.com/Problems- with-2.0-rc2-and-rc1-on-Safari-t2932547.html once Geert walked me though my config file issue, I ran into this... David --- David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] DWR example from the Wiki...
Hi David, the only reason why this happens that I can think of is that DWR might not be in your classpath. Did you add it to the classpath of your project, or did you bundle it in the WEB-INF/lib dir of your war? Best regards, Geert On 05 Mar 2007, at 07:32, David HM Spector wrote: I'm trying to gets the DWR example from the wiki running... to My site XML file I added: !-- DWR Tests -- element id=DwrDate file=rife/ajax/dwr.xml url=dwr/jdate/* property name=xmlConfiguratorPathjdate.xml/property property name=debugtrue/property /element Into my source tree I added an xml directory that has the contents of the jdate.xml file; the wiki states DWR will look in the class path and on one of my pages I added the javascript and the element described in the doc: as follows: !--V 'ELEMENT:DwrDate'-- names = JDate includeUtil = true !--/V-- script type=text/javascript function update() { JDate.toGMTString(loadinfo); } function loadinfo(data) { DWRUtil.setValue(reply, data); } function callOnLoad(init) { if (window.addEventListener) window.addEventListener (load, init, false); else if (window.attachEvent) window.attachEvent(onload, init); else window.onload = init; } function init() { DWRUtil.useLoadingMessage(); } callOnLoad(init); /script div class=content pCurrent date: input value=Execute type=button onclick=update()/ span id=reply style=background:#eeffdd; padding-left:4px; padding-right:4px;/span/p /div Finally, I added the dw2-2.0M2.jar file from the sumo distribution to my lib dir. The Rfie jar I am using is rife-1.6-snapshot- jdk15-20070207.jar but am getting: java.lang.NoClassDefFoundError org/directwebremoting/extend/PageNormalizer at com.uwyn.rife.engine.elements.DwrServiceDeployer deploy ( DwrServiceDeployer.java : 107 ) at com.uwyn.rife.engine.ElementInfo deploy ( ElementInfo.java : 280 ) at com.uwyn.rife.engine.SiteBuilder setupElements ( SiteBuilder.java : 983 ) at com.uwyn.rife.engine.SiteBuilder setupData ( SiteBuilder.java : 1613 ) at com.uwyn.rife.engine.SiteBuilder finish ( SiteBuilder.java : 260 ) at com.uwyn.rife.engine.SiteBuilder process ( SiteBuilder.java : 251 ) at com.uwyn.rife.engine.SiteBuilder getSite ( SiteBuilder.java : 177 ) at com.uwyn.rife.rep.participants.ParticipantSite initialize ( ParticipantSite.java : 36 ) at com.uwyn.rife.rep.participants.ParticipantSite _getObject ( ParticipantSite.java : 49 ) at com.uwyn.rife.rep.BlockingParticipant getObject ( BlockingParticipant.java : 449 ) at com.uwyn.rife.rep.BlockingParticipant _getObject ( BlockingParticipant.java : 425 ) at com.uwyn.rife.rep.BlockingParticipant getObject ( BlockingParticipant.java : 393 ) at com.uwyn.rife.engine.Site getRepInstance ( Site.java : 250 ) at com.uwyn.rife.engine.Gate getSite ( Gate.java : 266 ) at com.uwyn.rife.engine.Gate handleRequest ( Gate.java : 144 ) at sun.reflect.NativeMethodAccessorImpl invoke0 ( NativeMethodAccessorImpl.java ) at sun.reflect.NativeMethodAccessorImpl invoke ( NativeMethodAccessorImpl.java : 39 ) 16 more ... I also tried using the gloabl DWR elementelement id=DwrService file=rife/ajax/dwr.xml url=dwr/*/ and renaming jdate.xml or dwl.xml ...same result. its not clear form the wiki page what I am missing... David -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Access to Rife Rep from another place
Not really, since the easiest way to do this is by using the unreleased RIFE snapshots. Steven Grimm totally reworked the authentication system and you can now plug in any factory you want by just changing the element configuration. You can get some info from here, for example: http://rifers.org:8088/browse/rifers/rife/branches/terracotta/src/ framework/com/uwyn/rife/authentication/elements/ DatabaseAuthenticatedDeployer.java?r=3643 This class sets up the default properties of the authentication element for database authentication. By using a property tag in your authentication element with the same name a the ones used there, you can just plug in another session manager factory by specifying its class name. Hope that helps. Best regards, Geert On 01 Mar 2007, at 15:13, Maxim Grigoriev wrote: i see. is there any documentation or example how to integrate custom sesion manager to every place of my application. Or how can i get default session manager in me element ? Geert Bevin wrote: No, you have to override purgeSessions since that causes sessions to be removed. It's a bit more complex actually, since it's possible that a session is expired and hasn't been purged yet. You will not get notification, since when an authentication session will simply be seen as not valid. Your best best actually, is to work with SessionManager.listSessions I think. This will give you all the active and valid sessions. -- View this message in context: http://www.nabble.com/Access-to-Rife- Rep-from-another-place-tf3305337.html#a9250310 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Access to Rife Rep from another place
Hi Maxim, define when a user session is ended? What is the actual use-case you're looking after? When a user logs out, when his session expires, ...? And what do you need this for? Just list the active users? On 28 Feb 2007, at 23:51, Maxim Grigoriev wrote: Hi Geert Right now i just need solution to alert me when user session is ended. I have a page with online user statistic but not only logined users but anonim too. The right way is using SessionListener maybe you can say me another rife way ? Thank's Geert Bevin wrote: Hi Maxim, I see your problem and don't have a solution if you need the RIFE classloader (are you using continuations or meta data merging?). This could be solved later by adding bytecode modification agents support instead of using a classloader for this, but this hasn't been developed yet. Sorry :-( Best regards, Geert -- View this message in context: http://www.nabble.com/Access-to-Rife- Rep-from-another-place-tf3305337.html#a9240318 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Access to Rife Rep from another place
No, you have to override purgeSessions since that causes sessions to be removed. It's a bit more complex actually, since it's possible that a session is expired and hasn't been purged yet. You will not get notification, since when an authentication session will simply be seen as not valid. Your best best actually, is to work with SessionManager.listSessions I think. This will give you all the active and valid sessions. On 01 Mar 2007, at 14:10, Maxim Grigoriev wrote: Hi Geert If i understand right i have to invoke SessionManager.eraseSession manually. So doesn't it work when user session expires? Wow, it's great news. Thank you ! Geert Bevin wrote: Hi Maxim, if you want to get a notification when an authentication session is purged, you can easily write your own SessionManager that just extends your preferred one and add your own logic to the purgeSessions method (for the DatabaseSessions class, this calls a database query that in one go erases all those that are invalid). This doesn't give you access to the 'anonymous' users though. However, you'd have to force servlet sessions to be active on every page to do so, since RIFE doesn't do that. Anyway, good news, I started implementing an agent that you can use instead of the classloader, and it's going well. It might be ready by tomorrow. Note that this will not be very comfortable to use in development, since the classloader will be disabled then and automatic compilation and such will not work. Best regards, Geert On 01 Mar 2007, at 12:22, Maxim Grigoriev wrote: Hi Geert session is ended is: * user logs out - but it's not a problems since i use own custom logout element * his session expires - i don't know how to make it in rife. The only way i know is SessionListener I need list the active users and number of online registered users and anonim visitors too. Geert Bevin wrote: Hi Maxim, define when a user session is ended? What is the actual use-case you're looking after? When a user logs out, when his session expires, ...? And what do you need this for? Just list the active users? On 28 Feb 2007, at 23:51, Maxim Grigoriev wrote: Hi Geert Right now i just need solution to alert me when user session is ended. I have a page with online user statistic but not only logined users but anonim too. The right way is using SessionListener maybe you can say me another rife way ? Thank's Geert Bevin wrote: Hi Maxim, I see your problem and don't have a solution if you need the RIFE classloader (are you using continuations or meta data merging?). This could be solved later by adding bytecode modification agents support instead of using a classloader for this, but this hasn't been developed yet. Sorry :-( Best regards, Geert -- View this message in context: http://www.nabble.com/Access-to- Rife- Rep-from-another-place-tf3305337.html#a9240318 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- View this message in context: http://www.nabble.com/Access-to-Rife- Rep-from-another-place-tf3305337.html#a9247818 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- View this message in context: http://www.nabble.com/Access-to-Rife- Rep-from-another-place-tf3305337.html#a9249255 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] postgres query using CAST and INTERVAL ... vs. .getCountQuery()
) 27 more ... -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] postgres query using CAST and INTERVAL ... vs. .getCountQuery()
no problem :-) On 01 Mar 2007, at 15:44, David HM Spector wrote: homer DOH! /homer :) ok.. this is why I probably should not stay up so late. ...thank you. David -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Access to Rife Rep from another place
Hi Maxim, I see your problem and don't have a solution if you need the RIFE classloader (are you using continuations or meta data merging?). This could be solved later by adding bytecode modification agents support instead of using a classloader for this, but this hasn't been developed yet. Sorry :-( Best regards, Geert On 28 Feb 2007, at 17:27, Maxim Grigoriev wrote: Hi Geert, Can you explain your view about Repository.getContext(). Today i tried to make such thing: I have my spring participant public class FRNewsParticipantSpringWeb extends BlockingParticipant {...} In Element i put it to ServletContext - getServletContext().setAttribute(FRNewsParticipantSpringWeb, Rep.getParticipant(FRNewsParticipantSpringWeb)); Then in SessionListener i tried to get object from ServletContext final Object p = httpSessionEvent.getSession().getServletContext(). getAttribute(FRNewsParticipantSpringWeb); And i got exception: java.lang.ClassCastException: com.mypack.helper.FRNewsParticipantSpringWeb cannot be cast to com.uwyn.rife.rep.Participant So there's the same Classloader problem. Really i don't know how to solve it. Maybe RIFE classloader has been changed. Or i have to use jms or something like this to communicate with rife core but it's very bad way :( Geert Bevin wrote: Hi Maxim, I can see that this could be a problem. Do you have any suggestions about how to solve this? I was thinking that I could maybe set an attribute in the ServletContext that context the Rep instance that is initialized. You should be able to do this already yourself I think, by adding a participant that uses the Repository.getContext() method and cast it the returned object to ServletContext. Hope this helps. Best regards, Geert -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Access to Rife Rep from another place
Hi Maxim, I can see that this could be a problem. Do you have any suggestions about how to solve this? I was thinking that I could maybe set an attribute in the ServletContext that context the Rep instance that is initialized. You should be able to do this already yourself I think, by adding a participant that uses the Repository.getContext() method and cast it the returned object to ServletContext. Hope this helps. Best regards, Geert On 28 Feb 2007, at 00:27, Maxim Grigoriev wrote: Hi, I found that all classes inside rife are loaded by custom classloader. and even if i use static fields ,i have 2 different classes one in rife app another one in session listener. And also i have initialized rep in rife but there's null rep in listener. how can i access rife Rep (Rep.getParticipant(some my rep)) from simple servlet or listener ? Thank's -- View this message in context: http://www.nabble.com/Access-to-Rife- Rep-from-another-place-tf3305337.html#a9194516 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Submission Beans
Hi Jeremy, you can't, submissions always post to the same element, by design. You could have a submission and then trigger an exit that carries over the bean to the other element for instance. Best regards, Geert On 22 Feb 2007, at 20:48, Jeremy Whitlock wrote: Hi All, I have one element that contains a form that I would like to have post its bean to another element. How can I do this? Take care, Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Dynamic DataSource By Referencing config.xml
Hi Jeremy, http://rifers.org/dtd/datasources_1_1.dtd shows you that you can use a config tag. Best regards, Geert On 16 Feb 2007, at 01:34, Jeremy Whitlock wrote: Hi All, In my config.xml I have a param with a value of target/data. I would like to be able to get that value within my datasource.xml so the HSQLDB path can be what is entered in the config.xml. For example: config param name=DATA.ROOTtarget/data/param /config datasources datasource name=sac driverorg.hsqldb.jdbcDriver /driver urljdbc:hsqldb:param name=DATA.ROOT //sac/url usersa/user password/password poolsize5/poolsize /datasource /datasources Now the syntax above doesn't matter but it should illustrate what I need to do. I have searched the Wiki but I have not found anything. Take care, Jeremy ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] rest support
Ok, too bad :-/ On 13 Feb 2007, at 09:28, Christian Vest Hansen wrote: Hi Geert, Unfortunately no, I haven't looked into it any further. It looks like my project is headed in the direction of SOAP, so right now there's little incentive to investigate further in REST. But I'll be sure to let you know if the situation changes (again). 2007/2/13, Geert Bevin [EMAIL PROTECTED]: Hi Christian, this all sounds very interesting. Did you have time to look a bit deeper? What are your thoughts? Take care, Geert On 08 Feb 2007, at 19:56, Christian Vest Hansen wrote: I wrote a prototype of a framework that took implementations of a RestService interface and exsposed them as services through a servlet. It uses Castor for marshalling, which works great. But this whole roll your own framework thing is a dangarous path to venture, lest your certain you can lift the burden of maintaining it. The thing is, that I don't really know what'll integrate with these services. All I know is, that it's probably a Rails app. And we're still tumbling the question of SOAP vs. REST. We've been doing SOAP with JSR-181 annotations till recently, and it has shown quite a bit of a hassle when Rails wants to use these services, which defeated the annotaion induced productivety increase. This was due to two things: Rails being a bitch with conventions, and Axis/JBossws being a jerk with marshalling and other forms of XML generation. So now we're trying to give REST a spin... trying as in fumbling in the dark, hoping to strike gold. I just checked out the source of RIFE/Crud. It seemed suprisingly small, and if replacing templates is all it takes, then it does indeed sound easy. I guess tomorrow will tell if we'll be investing time in it. 2007/2/8, Geert Bevin [EMAIL PROTECTED]: Well, it depends on how you look at it. Indeed, the purist would modify and enforce the HTTP verbs, but I think that a RESTful approach (instead of pure REST) is much more practical. The HTTP verbs are too limited and I think that for a pure web service both GET and POST should be accepted. Using the submission name as an alternative works really well, one of the benefits this has is that you can rely on RIFE's behavioral inheritance to chain submissions in one request (first authenticate and then perform an action). RESTful web services like this are intended to be called from inside an application and not to be present as accessible HTML links inside a web page, which is why the distinction between GET and POST to enforce idempotency is a bit moot. You can just as easily craft a GET request as a POST request inside your application. Also, as Emmanuel rightfully says, this approach has the benefit of making it easy to quickly call RESTful web services by simply typing the commands in the browser location bar. To create RESTful web services in RIFE, all you need to do is replace the HTML templates with XML templates that contain the structures you want to return. This is what I did with Bla-bla List and it could indeed be easily done with RIFE/Crud. If you do this, it would be a great contribution. Take care, Geert On 07 Feb 2007, at 22:01, Christian Vest Hansen wrote: Hmm... it's lacking in some respects, if you want to go purist. Take this URL from the wiki: http://blablalist.com/createlist? submission=credentials login=johnsmith password=password submission=create name=Things+I+need+to+do+today That looks like a HTTP GET to me, in which case, it is missing on a key point of REST: the HTTP verbs. Instead, it should have been a POST to this URL (for instance): http://blablalist.com/lists/Things+I+need+to+do+today/ With this XML document in the POST payload: list credentials loginjohnsmith/login passwordpassword/password /credentials /list This is the kind of thing that I thought would be nice if it could be auto generated based on meta data :) Some extra info: http://www.xfront.com/REST-Web-Services.html 2007/2/7, Emmanuel Okyere [EMAIL PROTECTED]: Christian, Have you seen blabla list? this is a link to it's REST API: http://rifers.org/wiki/display/BLA/REST+API You don't have to do anything special to return XML over HTTP; just set your templates to describe the xml structs you want to return with value placeholders for the dynamic bits, just as you would for an xhtml output. Download the blabla code. Should help more. HTH Cheers, Emmanuel On 2/7/07, Christian Vest Hansen [EMAIL PROTECTED] wrote: Hi, There aren't any special support for REST style web services in RIFE, are there? At my company, they've gone web service crazy, and as a developer I'm finding myself in the middle of it all. I noticed that many of the services that I create are nothing more than simple crud operations
Re: [Rife-users] rest support
Hi Christian, this all sounds very interesting. Did you have time to look a bit deeper? What are your thoughts? Take care, Geert On 08 Feb 2007, at 19:56, Christian Vest Hansen wrote: I wrote a prototype of a framework that took implementations of a RestService interface and exsposed them as services through a servlet. It uses Castor for marshalling, which works great. But this whole roll your own framework thing is a dangarous path to venture, lest your certain you can lift the burden of maintaining it. The thing is, that I don't really know what'll integrate with these services. All I know is, that it's probably a Rails app. And we're still tumbling the question of SOAP vs. REST. We've been doing SOAP with JSR-181 annotations till recently, and it has shown quite a bit of a hassle when Rails wants to use these services, which defeated the annotaion induced productivety increase. This was due to two things: Rails being a bitch with conventions, and Axis/JBossws being a jerk with marshalling and other forms of XML generation. So now we're trying to give REST a spin... trying as in fumbling in the dark, hoping to strike gold. I just checked out the source of RIFE/Crud. It seemed suprisingly small, and if replacing templates is all it takes, then it does indeed sound easy. I guess tomorrow will tell if we'll be investing time in it. 2007/2/8, Geert Bevin [EMAIL PROTECTED]: Well, it depends on how you look at it. Indeed, the purist would modify and enforce the HTTP verbs, but I think that a RESTful approach (instead of pure REST) is much more practical. The HTTP verbs are too limited and I think that for a pure web service both GET and POST should be accepted. Using the submission name as an alternative works really well, one of the benefits this has is that you can rely on RIFE's behavioral inheritance to chain submissions in one request (first authenticate and then perform an action). RESTful web services like this are intended to be called from inside an application and not to be present as accessible HTML links inside a web page, which is why the distinction between GET and POST to enforce idempotency is a bit moot. You can just as easily craft a GET request as a POST request inside your application. Also, as Emmanuel rightfully says, this approach has the benefit of making it easy to quickly call RESTful web services by simply typing the commands in the browser location bar. To create RESTful web services in RIFE, all you need to do is replace the HTML templates with XML templates that contain the structures you want to return. This is what I did with Bla-bla List and it could indeed be easily done with RIFE/Crud. If you do this, it would be a great contribution. Take care, Geert On 07 Feb 2007, at 22:01, Christian Vest Hansen wrote: Hmm... it's lacking in some respects, if you want to go purist. Take this URL from the wiki: http://blablalist.com/createlist? submission=credentials login=johnsmith password=password submission=create name=Things+I+need+to+do+today That looks like a HTTP GET to me, in which case, it is missing on a key point of REST: the HTTP verbs. Instead, it should have been a POST to this URL (for instance): http://blablalist.com/lists/Things+I+need+to+do+today/ With this XML document in the POST payload: list credentials loginjohnsmith/login passwordpassword/password /credentials /list This is the kind of thing that I thought would be nice if it could be auto generated based on meta data :) Some extra info: http://www.xfront.com/REST-Web-Services.html 2007/2/7, Emmanuel Okyere [EMAIL PROTECTED]: Christian, Have you seen blabla list? this is a link to it's REST API: http://rifers.org/wiki/display/BLA/REST+API You don't have to do anything special to return XML over HTTP; just set your templates to describe the xml structs you want to return with value placeholders for the dynamic bits, just as you would for an xhtml output. Download the blabla code. Should help more. HTH Cheers, Emmanuel On 2/7/07, Christian Vest Hansen [EMAIL PROTECTED] wrote: Hi, There aren't any special support for REST style web services in RIFE, are there? At my company, they've gone web service crazy, and as a developer I'm finding myself in the middle of it all. I noticed that many of the services that I create are nothing more than simple crud operations - this fits rather nicely with a REST architecture. And then it hit me; if I'm not mistaken, RIFE/Crud can generate fully functional websites based on just the entity beans and the meta data classes, to support precisely that I'm coding by hand these days, the only difference being that I'm writing web services, and RIFE/ Crud generates web sites with HMTL and all that. So, if I can generate entier web sites, then I ought to be able to generate some web services too, boasting the same exact functionality
Re: [Rife-users] user tracking/auditing hooks...?
Hi David, there's nothing specifically available for that. Instead of subclassing the credentials system, you can also extend the Authenticated element and implement one of the hooks. Sorry that I can't be more helpful, I never had to add something like that. Take care, Geert On 11 Feb 2007, at 18:36, David HM Spector wrote: [I thought I sent a note last night, but it seems to have vanished into the aether and not made it to the list.. so apologies if this eventually shows up again] Is there a callback or other hook available to enable login tracking (and other activity auditing processes)? I see that startAuthenticationSession() in AuthenticationUtils gets called with all the basic info one would need.. is there a way to get this info without having to subclass the current credentials system or implement a new SessionValidator..? -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Config preferences and blockvalue scripting questions
Hi David, WRT storing system preferences: In http://rifers.org/wiki/display/ RIFE/Config+to+preferences+storage you discuss keeping preferences inside the app's DB using standard Java preferences: Since I am packaging my app in a WAR file, can this be used to override params in the static XML files (I am thinking about system params link the SQL TRACE parameter for debugging) ? This is something that you typically do with host name configuration selectors: http://rifers.org/wiki/display/RIFE/Configuration+selectors Or, should this be used only more dynamic params, such as a flag that indicate is the app is online, or if logins are allowed, etc...? I use it for user installation configuration. For instance, Bamboo uses it to store the settings of a particular forum instance that override the default settings, setup in the distribution XML file. On the blockvalue scripting front, I tried to use OGNL to test if there was a global flag set in my params (in this case to see if registration should be allowed) ... if it was set to false in my app params.xml file it worked as I expected, not showing the register/reset-password links, but when it was set to true I got a template error telling me there was no such parameter on the page. !--B 'OGNL:CONFIG:bool:[[ getBool(ALLOW_REGISTRATION) ]]'-- h3span class=blueNo account?/span a href=${v EXIT:QUERY:register/} Register now!/h3/a h3span class=blueForgotten Password?/span a href=$ {v EXIT:QUERY:newpassword/} Reset It/h3/a !--/B-- The template doesn't contain a value with id 'OGNL:CONFIG:bool'. Not sure what I am missing... You need a !--V 'OGNL:CONFIG:bool'--!--/V-- value tag where the content of the B tag can be assigned to when the block scripting expression evaluates to 'true'. http://rifers.org/wiki/display/RIFE/Blockvalue+scripting+support Hope this helps, Geert -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Problem pre-compiling templates..
-- http://eokyere.blogspot.com RIFE Framework -- http://rifers.org RIFE Training -- http://rifers.org/training Mohandas Gandhi - You must be the change you wish to see in the world. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] RIFE Persistence Layer
Hi Andres, two last answers :-p Does RIFE´s persistencelayer support declarative Trannactions using Annotations (like @Transactional from the Spring Framework) ? No, it support a wrapper and template approach for transactions: http://rifers.org/wiki/display/RIFE/Chainable+transactions Is RIFE already plugable into the Springframework´s Transactionmanagement ? Nope, don't think so. Best regards, Geert cheers, Andreas On 2/6/07, Geert Bevin [EMAIL PROTECTED] wrote: Hi Andreas, no, RIFE doesn't detect constraints from other frameworks. Though it should be technically possible since RIFE's MetaData classes can be populated dynamically at runtime. It is outside the scope of the core framework though, so if it would be added it would be through external contributions. Best regards, Geert On 06 Feb 2007, at 09:11, Andreas Andreakis wrote: Hi Geert, thank you for your quick response. Is it possible to plugin Constraints into RIFE from other frameworks ? Lets assume Im using Hibernate as my primary persistence solution and I define Hibernate mappings, which contain constraints (like not null, length for varchars, etc..). Can RIFE reuse this constraints ? Or is it required to create a RIFE MetaData class as well (containing the same or more constraints) ? kidn regards, Andreas On 2/5/07, Geert Bevin [EMAIL PROTECTED] wrote:Hi Andreas, I have some questions regarding RIFE´s persistence features. 1) Is the auto DatabaeSchema generation configurable ? For example: Consider a hierarchie, is it possible to say save every class into its own table or save the complete hierarchie into one table No, it's not configurable, either you use CreateTable yourself, either you rely on the automated rules that map beans to table. I'm planning on adding the possibility to configure the properties mappings and table names through constraints though. 2) How does RIFE cooperate with Hibernate ? You can use both at the same time. The same datasource can be used, the only problem that can arise is when instances in the OR manager linger in cache and aren't found when RIFE is accessing the database directly. If I let RIFE create the Database-schema (auto-generated over a MetaData class), is it required to create a Hibernate Mapping file as well ? No, you have to create nothing, it's all done by convention. However, as said above the name mapping will become configurable. 3) is Lazy Fetching supported ? for instance fetching lazily elements of a list (instead of loading the complete list into the memory) Yes, in the SVN repository we have lazy fetching for many-to-many mappings. I'm still working on lazy fetching for single bean instances as properties for one-to-one or many-to-one mappings. 4) what about cascading ? You can use callbacks if you need to do cascading in Java, however many database support this natively and you can just rely on that. 5) is there support for Second Level caching ? Not natively, this is also something that can be added through callbacks and / or GQM listeners. I do think that at one time something better integrated should be developed. 6) is there anything missing (compared to Hibernate, or other Persistence frameworks) ? A lot, since they are different beasts and if you need the power of JPA or Hibernate, by all means, use those. RIFE doesn't provide an ORM solution with an entity manager and such. It doesn't provide table hierarchies, not composite keys. The GQM is currently also limited to integers as identifiers, ... and so on. However, the approach is a wrapping approach that basically put layers on top of what you would normally do in plain JDBC and SQL. The APIs give you a much higher level approach to achieve the same functionalities while still being able to drill down when needed. Hope this helps, Geert -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife
Re: [Rife-users] RIFE Persistence Layer
Hi Andreas, I have some questions regarding RIFE´s persistence features. 1) Is the auto DatabaeSchema generation configurable ? For example: Consider a hierarchie, is it possible to say save every class into its own table or save the complete hierarchie into one table No, it's not configurable, either you use CreateTable yourself, either you rely on the automated rules that map beans to table. I'm planning on adding the possibility to configure the properties mappings and table names through constraints though. 2) How does RIFE cooperate with Hibernate ? You can use both at the same time. The same datasource can be used, the only problem that can arise is when instances in the OR manager linger in cache and aren't found when RIFE is accessing the database directly. If I let RIFE create the Database-schema (auto-generated over a MetaData class), is it required to create a Hibernate Mapping file as well ? No, you have to create nothing, it's all done by convention. However, as said above the name mapping will become configurable. 3) is Lazy Fetching supported ? for instance fetching lazily elements of a list (instead of loading the complete list into the memory) Yes, in the SVN repository we have lazy fetching for many-to-many mappings. I'm still working on lazy fetching for single bean instances as properties for one-to-one or many-to-one mappings. 4) what about cascading ? You can use callbacks if you need to do cascading in Java, however many database support this natively and you can just rely on that. 5) is there support for Second Level caching ? Not natively, this is also something that can be added through callbacks and / or GQM listeners. I do think that at one time something better integrated should be developed. 6) is there anything missing (compared to Hibernate, or other Persistence frameworks) ? A lot, since they are different beasts and if you need the power of JPA or Hibernate, by all means, use those. RIFE doesn't provide an ORM solution with an entity manager and such. It doesn't provide table hierarchies, not composite keys. The GQM is currently also limited to integers as identifiers, ... and so on. However, the approach is a wrapping approach that basically put layers on top of what you would normally do in plain JDBC and SQL. The APIs give you a much higher level approach to achieve the same functionalities while still being able to drill down when needed. Hope this helps, Geert -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] login template
Hi Ray, if you want to customize the authentication behavior and adapt your template, you're following the right path. However, don't create your own processElement method. The Authenticated elements has a whole bunch of hooks: initializeAuthentication() entrance(Template template) unvalidatedCredentials(Template template, Credentials credentials) validatedCredentials(Credentials credentials) acceptedCredentials(Credentials credentials) authenticated(long userId) refusedCredentials(Template template, Credentials credentials) sessionCreationError(Template template, Credentials credentials) sessionNotValid(String childTriggerName, String[] childTriggerValues, int validityId) Both refusedCredentials and sessionCreationError have default implementations that set the appropriate validation errors in the template, so if you want to preserve this, you need to call the super method in your own version. More info here: http://rifers.org/wiki/display/RIFE/Authentication+system+internals Hope this helps. Geert On 06 Feb 2007, at 04:27, Ray Vanderborght wrote: I've got a database authentication element setup like below and I'm trying to set some of my own block values in the tempate... it's unclear how you accomplish that though. I tried extending database.xml with my own element and overriding processElement, haven't hit on the right way to do this yet.. element id=AuthLogin extends=rife/authenticated/database.xml property name=template_name authentication.admin/property property name=roleuser/property property name=datasourcedatasourcederby/datasource/ property property name=authvar_typecookie/property submission name=credentials param name=login/ param name=password/ /submission childtrigger name=authid/ /element I changed AuthLogin to extend this instead: element extends=rife/authenticated/database.xml implementation=elements.setup.Login /element My own Login class extends PurgingDatabaseAuthenticated and overrides processElement() to try to add to the template, but so far no go. Maybe I'm headed down the wrong path? ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] OT: Designing Service Provider Interfaces
A lot of good advice in this presentation, I don't know any resources of this kind with examples and so. I think the best is to look at existing open-source projects and to think about what you like and what you don't about their API. That should allow you to find your own 'rules' of what you consider good design. Good luck! It's a life-long journey :-) On 01 Feb 2007, at 17:43, David HM Spector wrote: Not a RIFE specific question, but does anyone have any good resources in the design of Service Provider APIs? Or, better small workable examples? One of the best presentations I've come across is by Joshua Bloch of Google (formerly a principal Java guy @ Sun) http://www.infoq.com/presentations/effective-api-design But having something to look at in terms of working code that's small enough to get my head would be helpful.. _David -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ voice: +1 631.261.5013 fax: +1 212.656.1443 ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Re: hi, i need your help
Thanks for the excellent overview, David! The basic thing to remember if you want to simply replace memory authentication by database authentication, is that you have to setup the database structure and use the right authentication elements. That's about it! Setting up the database involves creating the database structure and populating the users. You can do this any way you want: a participant, an element deployer, a setup page with an 'install' form that performs this, ... On 31 Jan 2007, at 17:51, David HM Spector wrote: These seem to be common problems getting going with Rife; I am CC'ing the RIFE Users list in order to (hopefully :) help some other folks who may be having the same startup issues as well. -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Using Ordinal Manager with restricted range ordinals
Hi Thad, it's not possible to start with 1 with the current implementation of the OrdinalManager, I don't understand why this is a problem though. Can you explain why you would need that? Best regards, Geert On 31 Jan 2007, at 16:57, Thad Cox wrote: I was hoping to have an entry number to use as an Ordinal with the Ordinal Manager. I set it up and everything works ok except the ordinal manager is using 0 as the first value when I would like it to be set to 1. Is there anyway to restrict the starting value for the ordinal manager? -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Using Ordinal Manager with restricted range ordinals
A bit like http://blablalist.com? :-p Anyway, this needs work on the OrdinalManager and quite some additional tests to be written. Honestly, I don't think it's very important and as you say, just a presentation issue. I have to admit that I would not rank it high on the todo list, sorry. Of course, you're free to modify OrdinalManage, add the capability to configure this and contribute the patch back ;-) Take care, Geert On 31 Jan 2007, at 20:59, Thad Cox wrote: Geert, I essentially have task lists that I allow users to add from and remove from at will. Inside each task list I have as you would expect a set of ordered tasks. The user can modify (move, add, remove) tasks and I need to keep the task number properly displayed (when the tasks are run this number is used to tell the user which task failed). I think the user would be less confused if the task number started from 1 and not 0. I realize I could just display the task number + 1 to the user but I would prefer to keep the numbers consistent between the front and back ends. Thanks, Thad On 1/31/07 2:06 PM, Geert Bevin [EMAIL PROTECTED] wrote: Hi Thad, it's not possible to start with 1 with the current implementation of the OrdinalManager, I don't understand why this is a problem though. Can you explain why you would need that? Best regards, Geert On 31 Jan 2007, at 16:57, Thad Cox wrote: I was hoping to have an entry number to use as an Ordinal with the Ordinal Manager. I set it up and everything works ok except the ordinal manager is using 0 as the first value when I would like it to be set to 1. Is there anyway to restrict the starting value for the ordinal manager? -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users - CONFIDENTIALITY NOTICE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or responsible for delivering it to the intended recipient, please be advised that any distribution, dissemination, copying or other transmission or use of the information contained in this message or its enclosed attachments is strictly prohibited. Please notify us immediately if you have received this message in error by replying to the sender of the message and deleting it from your computer. Thank you. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Template engine only
Hi Christian, quick answer, yes. Just use TemplateFactory.TEMPLATETYPE to instantiate them. The ENGINE* versions will not work though since there's no web engine context to evaluate them in, which is normal. Best regards, Geert On 30 Jan 2007, at 17:35, Christian Vest Hansen wrote: Hi Geert. At my work place, we're facing the challenge of having to generate Jasper report files (.jrxml files) on the fly based on various parameters. The report files are so painful and inhumane to work with that I'll refrain from describing it in further detail here. So we came up the idea of using a template engine to generate these files - trick in this approach is that the oddities in the jrxml files will be handled programatically by our template controller, and enabling us to let a user decide what columns he want to see in the report using some (web) interface. Now, that may sound confusing (and it is), but we're confident that we can make it work; *provided* we find a template engine that is: * support template composition or inheritence (like the one in RIFE, hence this mail) * easy to pick up and use * and dosn't inforce an application architecture or other kinds nasty constraints. Now, most template engines are specialised to build web pages. This is not an inherent problem since we will be generating XML anyway. However; it is important that we can somehow conrtol it - library style, rather than framework style. For instance, if the template engine is tightly coupled with the servlet-api, or some such ballchain, then it will likely be a no-go for us. So here's the question (at last): Can I with relative ease use just the template engine from RIFE, without having the full package forced down my throad? Or even better; can I rip it out of RIFE and put it in a JAR for it self? -- Venlig hilsen / Kind regards, Christian Vest Hansen. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] DWR and HTML Templating
Hi Dan, you can't initialize a RIFE element yourself, there's too much that has to be setup for everything to work correctly. One thing that you can look for is to use RIFE's out-of-container testing to achieve what you need: http://rifers.org/wiki/display/RIFE/Out+of+container+testing Your site is already setup, so you can just do: MockConversation conversation = new MockConversation (Site.getRepInstance()); Then when you get the MockResponse after you simulate a request, you can obtain the template that was printed: http://rifers.org/docs/api/com/uwyn/rife/test/ MockResponse.html#getTemplate() Could that work? Best regards, Geert On 30 Jan 2007, at 20:05, Dan Check wrote: Hi, I'm adding AJAX support to an application via DWR, and I've run into a problem with templating. Specifically, I'd like to populate and return some context-sensitive HTML (including exits) via DWR calls. This would enable me to reuse pre-existing RIFE templates rather than rewriting the templates in javascript. The problem that I run into is that on a DWR call, I can't retrieve a HtmlTemplate (my DWR class hasn't been initialized in a complete context), meaning that I can't fill out a template, and then get the contents and return them as a string. What I'd like to do would be to initialize an element in a context other than the current one, and then retrieve templated HTML from it. Is this possible? Thanks, Dan - CONFIDENTIALITY NOTICE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or responsible for delivering it to the intended recipient, please be advised that any distribution, dissemination, copying or other transmission or use of the information contained in this message or its enclosed attachments is strictly prohibited. Please notify us immediately if you have received this message in error by replying to the sender of the message and deleting it from your computer. Thank you. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Template engine only
FWIW, RIFE's SQL abstraction actually uses templates to differentiate between the SQL syntaxes of the supported databases: http://rifers.org:8088/browse/rifers/rife/trunk/src/templates/sql On 30 Jan 2007, at 20:35, Christian Vest Hansen wrote: Ah! As ever helpful :) I have already been able to build a tiny prototype showing the feasability of the approach, and I forsee usefulness for the ResourceFinders when integrating with my existing code ^_^ Thanks for this shove in the right direction! 2007/1/30, Geert Bevin [EMAIL PROTECTED]: Hi Christian, quick answer, yes. Just use TemplateFactory.TEMPLATETYPE to instantiate them. The ENGINE* versions will not work though since there's no web engine context to evaluate them in, which is normal. Best regards, Geert On 30 Jan 2007, at 17:35, Christian Vest Hansen wrote: Hi Geert. At my work place, we're facing the challenge of having to generate Jasper report files (.jrxml files) on the fly based on various parameters. The report files are so painful and inhumane to work with that I'll refrain from describing it in further detail here. So we came up the idea of using a template engine to generate these files - trick in this approach is that the oddities in the jrxml files will be handled programatically by our template controller, and enabling us to let a user decide what columns he want to see in the report using some (web) interface. Now, that may sound confusing (and it is), but we're confident that we can make it work; *provided* we find a template engine that is: * support template composition or inheritence (like the one in RIFE, hence this mail) * easy to pick up and use * and dosn't inforce an application architecture or other kinds nasty constraints. Now, most template engines are specialised to build web pages. This is not an inherent problem since we will be generating XML anyway. However; it is important that we can somehow conrtol it - library style, rather than framework style. For instance, if the template engine is tightly coupled with the servlet-api, or some such ballchain, then it will likely be a no-go for us. So here's the question (at last): Can I with relative ease use just the template engine from RIFE, without having the full package forced down my throad? Or even better; can I rip it out of RIFE and put it in a JAR for it self? -- Venlig hilsen / Kind regards, Christian Vest Hansen. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Venlig hilsen / Kind regards, Christian Vest Hansen. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Passing params to ELEMENTs dynamically...
Hi David, there are several possibilities: 1. you pass an object explicitly to an embedded element using http:// rifers.org/docs/api/com/uwyn/rife/engine/ ElementSupport.html#processEmbeddedElement (com.uwyn.rife.template.Template,%20java.lang.String,% 20java.lang.Object) or http://rifers.org/docs/api/com/uwyn/rife/ engine/ElementSupport.html#processEmbeddedElement (com.uwyn.rife.template.Template,%20java.lang.String,% 20java.lang.String,%20java.lang.Object) and http://rifers.org/docs/ api/com/uwyn/rife/engine/ElementSupport.html#getEmbedData() 2. you query an embedding element from within the embedding element when you need data using getEmbeddingElement(), ideally you have some interface that embedding elements implement to make this better structure (see and the NewsProvider interface and NewsEntry element in http://rifers.org/rife_indepth_simple_blog) 3. getEmbedValue() from within the embedded template can be used to retrieve what's inside the embedded element value tag, however it's not dynamic and can only refer to default content, you can however do whatever you want using getEmbeddingTemplate() 4. this is the one I like the less, but you can use setRequestAttribute(String, Object) in the embedding element and retrieve the values in the embedded elements using getRequestAttribute (String) Hope this help, Geert On 27 Jan 2007, at 05:51, David HM Spector wrote: Is there an obvious way to pass a value to an ELEMENT take inside a template? I see how to get static values out, as in http://rifers.org/wiki/display/RIFE/Embedded +elements#Embeddedelements-3 and use them to get properties as in the label generator, but what if I need to insert a values at run time so that the embedded element can pick it up on the fly and go do its thing? For example, if I have an element called NEWSBOX (which is basically a clone of the CMF news item example), how do I pass a value to NEWSBOX inside the HTML template that's using it..? In this case NEWSBOX takes an integer parameter which is the object id in of something the content management framework. E.g.,: table tr !--V 'ELEMENT:.NEWSBOX'-- !--V 'cmfid' /-- !--/V-- /tr : : -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] ContentQueryManager table names
Hi Thad, seems this is an oversight and currently not possible. Please file a bug in the Jira issue tracker. Best regards, Geert On 23 Jan 2007, at 16:51, Thad Cox wrote: Hi, I have a bean that is required to have a different classname then the database table name. I was using a GenericQueryManager to manage it, setting the custom table name in the factory method. I found a need to use the ContentQueryManager to store the bean and could not see a way to use a custom table name. Is there anyway to set the table name the ContentQueryManager will use besides changing the bean class name? Perhaps a Bean Constraint? Thanks, Thad -- View this message in context: http://www.nabble.com/ ContentQueryManager-table-names-tf3064931.html#a8524218 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Dynamic file uploads
Thanks a lot for adding that Joshua! On 23 Jan 2007, at 22:28, Joshua Hansen wrote: Hi all, I've updated the Forms section of the cookbook to include some info about dynamic file submission: http://rifers.org/wiki/display/RIFE/Forms In short, dynamic file submission is very similar to dynamic parameter submission, except you'll need to use ElementSupport.getUploadedFileNames(String) [instead of ElementSupport.getUploadedFileNames()] to retrieve a list of the uploaded files. Happy file uploading! :) Shalom, Josh -- Joshua Hansen Up Bear Enterprises (541) 760-7685 ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Fwd: BOF 24 Planning
Oh, sorry Emmanuel, I didn't scroll down far enough :-/ Thanks a lot for doing this! Just for you to know, I've got big plans for RIFE and Ajax, more about this in the coming weeks. On 18 Jan 2007, at 06:03, Emmanuel Okyere wrote: Geert, Sorry, I thought the fwd contained enough info; it's our usual Javawug meeting (at skillsmatter) and we decided that an expert on a web app framework comes out to defend it. Sort of a boxing match between the frameworks (based on a user's experience). Some questions (but not restricted): What type of applications are suited the web application framework in question? What are pros and cons of each framework? How easy is it to learn? What are the dependencies for each framework? (e.g Java EE, J2EE, Apache etc ) Are there any tools that support any of these frameworks in order to ease-development? Are these frameworks easy to extend? Are there real-world examples out there on the net publicly available? How do these frameworks support AJAX? How will these frameworks feature in an increasingly Web 2.0 world? Cheers, Emmanuel -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Fwd: BOF 24 Planning
and Execution Services Limited is a company registered in England Wales under company number 03123037, whose registered office is at 1 Finsbury Avenue, London, EC2M 2PP, United Kingdom. -- blog -- http://eokyere.blogspot.com RIFE Framework -- http://rifers.org RIFE Training -- http://rifers.org/training Mohandas Gandhi - You must be the change you wish to see in the world. logo.gif ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] templates viewed in a browser
Hi Jean-Marie, you can achieve this by structuring your template a bit, for example: html body r:v name=val1/ r:b name=block1stuff/r:b !-- don't display this -- r:b name=block2more stuff/r:b -- /body /html If you want the comment tag to be stripped when it's printed through RIFE, you can do this: html body r:v name=val1/ r:b name=block1stuff/r:b r:b name=stripthis!-- don't display this -- r:b name=block2more stuff/r:b --/r:b /body /html Where stripthis is any block ID that you don't actually use, but that will simply be removed when RIFE prints out the template. Hope this helps. Geert On 15 Jan 2007, at 12:38, Jean-Marie Galliot wrote: Changing from !--V to r:b notation, at a second thought, won't change anything since the contents of the block is still outside of the tag pair. Frankly I don't see any solution. Jean-Marie Galliot wrote: Hi Geert, One of the thing which appealed to me in Rife was the fact that I hate the jsp tag-soup. I wanted to have a templating system which allow web designer to visualize pages in their editor and browser without being obliged to start the server. Tapestry and Wicket also offered this kind of non intrusive instrumentation of web pages. I thought it was also the case for Rife as I saw at a first glance that the tags (at least the first version of them) was HTML-Comment like. But, I realize that when I define two or three blocks as alternative values for a value tag, those three blocks appear if I open a browser and try to pre-visualize the page. Is there a way to prevent some of them to appear in the browser? Do you think that coding them as r:b instead of !--B is a sound and safe solution to that problem? Beside that I would say that I love the templating system which allow to really keep presentation and business logic separate. Thanks Jean-Marie -- View this message in context: http://www.nabble.com/templates- viewed-in-a-browser-tf3010833.html#a8370238 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] How to handle enums and enumsets in beans...?
Hi David, enums are currently not supported yet, but they are planned for the next release: http://uwyn.com/issues/browse/RIFE-215 I first need to work on some other RIFE things, but will look at this issue in a week or two. However, if anyone feel like looking at this himself, it might go faster. It shouldn't be very difficult to add since there are many other types supported and the behavior can just be mimicked. The only tricky part is to ensure that RIFE still runs on 1.4 and that the detection of enum presence thus needs to be done in a dedicated class that is only loaded when a JRE 1.5 or better is running (using com.uwyn.rife.tools.JavaSpecificationUtils.isAtLeastJdk15()) Best regards, Geert On 14 Jan 2007, at 06:13, David HM Spector wrote: I am guessing that enums and/or enum sets are not currently directly manageable in beans? I just put an enum into one of my beans and got the following when I tried to persist it to the DB... com.uwyn.rife.database.exceptions.DatabaseException Setting a typed parameter is not supported for index '1', target type 'com.zeitgeist.nela.model.Venue$venueCapabilities and value 'NONE'. at com.uwyn.rife.database.types.databasedrivers.Common setTypedParameter ( Common.java : 462 ) at com.uwyn.rife.database.DbPreparedStatement setBean ( DbPreparedStatement.java : 481 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er$2$1 setParameters ( AbstractGenericQueryManager.java : 456 ) at com.uwyn.rife.database.DbPreparedStatementHandler performUpdate ( DbPreparedStatementHandler.java : 58 ) at com.uwyn.rife.database.DbQueryManager executeUpdate ( DbQueryManager.java : 259 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er$2 useTransaction ( AbstractGenericQueryManager.java : 453 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er$2 useTransaction ( AbstractGenericQueryManager.java : 443 ) at com.uwyn.rife.database.DbQueryManager inTransaction ( DbQueryManager.java : 2783 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er _insertWithoutCallbacks ( AbstractGenericQueryManager.java : 442 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er$4 useTransaction ( AbstractGenericQueryManager.java : 669 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er$4 useTransaction ( AbstractGenericQueryManager.java : 580 ) at com.uwyn.rife.database.DbQueryManager inTransaction ( DbQueryManager.java : 2783 ) at com.uwyn.rife.database.querymanagers.generic.AbstractGenericQueryManag er _save ( AbstractGenericQueryManager.java : 579 ) at com.uwyn.rife.database.querymanagers.generic.databasedrivers.generic save ( generic.java : 117 ) at com.uwyn.rife.database.querymanagers.generic.GenericQueryManagerDelega te save ( GenericQueryManagerDelegate.java : 93 ) at com.uwyn.rife.cmf.dam.ContentQueryManager access$001 ( ContentQueryManager.java : 80 ) at com.uwyn.rife.cmf.dam.ContentQueryManager$1 useTransaction ( ContentQueryManager.java : 473 ) 25 more ... Is there a way to handle this without my serialzing/deserializing the type names by hand? regards, David -- - David HM Spector spector (at) zeitgeist.com http://www.zeitgeist.com/ ~ ~ ~ New and stirring things are belittled because if they are not belittled, the humiliating question arises, 'Why then are you not taking part in them?' --H. G. Wells ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] More about datalinks
Hi Jean-Marie, Instead of transferring the state to the client-side, it will give a unique ID to each state transition and keep the actual state inside a session. This prevents the actual state to be moved over the wire (for security or performance reasons), while still having snapshots of each individual step. The same restrictions for string conversion apply though. More info here: http://rifers.org/wiki/display/RIFE/ Configurable+state+storage Take care, Geert On 14 Jan 2007, at 14:13, Jean-Marie Galliot wrote: Thanks for this explanation. It is clearer for me now. What changes when we add the state storage=session stuff? Have a good week end. jean-marie Geert Bevin wrote: Hi Jean-Marie, this is a very good question and there isn't enough information about this. RIFE is very different with regards to external state handling than anything else out there (note that this has nothing to do with internal state handling like continuations). One of the basic ideas is that the you should be able to develop a stateful application without any server-side state. To be able to do this, the significant state should be able to be transfered through the client-side with query parameters, hidden form parameters or a structured pathinfo. Therefore, the state needs to be distilled and also always be representable as a concise string. Initially, RIFE didn't have any support for inputs and output injection / outjection for elements and you always had to explicitly call getInput and setOutput. A few versions ago we added support for bijection, which leads you to expect that the state will just be preserved in a session. However, the same rules apply as before. I think we still need to do some fine- tuning though to warn people when inputs / outputs aren't usable due to the string conversion that happens in between and maybe to add some features that allow you to reconstitute more complex data structures from a string representation (any suggestions here are welcome). The input beans and output beans are shortcuts, as with all bean handling in RIFE. It automatically goes over all the bean properties and treats them as individual inputs / outputs. Being able to name them makes it easy when you want to explicitly retrieve the beans (getInputBean) and you declared them to use prefixes, for instance. You can however opt to work with more complex objects as input / outputs, but currently you'll have to call setOutput(Object) and getInputSerializable(String) explicitly. It should be possible to adopt this also for injection/outjection, but think that it's dangerous to do by default since it's too easy to pollute your state with very large serialized objects. Maybe this should be added as an attribute to the @InputProperty and @OutputProperty annotations. What do you think? Hope this sheds some light on this. Note that if you want very statefull server-side handling of state, continuations are a bette choice. Take care, Geert On 13 Jan 2007, at 16:33, Jean-Marie Galliot wrote: In this example : element implementation=com.test.Start input name=var1 / output name=var1 / What can be the type of var1? Only primitive? (int, float, String ...) What happens if it corresponds to property setters and getters like these public MyType getVar1() { return var1 } public void setGame(MyType var1) { this.var1 = var1; } MyType being a custom class in my project (bean) ? I tried it and the property is always set with a null argument. I saw that there is another element outbean ... Must we always use it when we want to transmit anything but primitive values? If this is correct I am wondering why there is two syntaxes (output and outbean). We could discover the type of the property by introspection or supply it with the classname attribute like in outbean? Now, if I use outbean/inbean I should not use matching getters and setters like above? but rather getNameInputBean/setNameOutputBean? But in this case I have to call them myself in processElement for example. I don't have anymore the callback kind of facility that simple getters/setters offer for primitive values? I don't know if this is very clear. Please note it is not criticism. I am sure there are very good reasons behind that. When I will understand them better, I will be a better Rife programmer :-) Tks jean-marie -- View this message in context: http://www.nabble.com/More-about- datalinks-tf2971533.html#a8315046 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com
Re: [Rife-users] More about datalinks
Hi Jean-Marie, this is a very good question and there isn't enough information about this. RIFE is very different with regards to external state handling than anything else out there (note that this has nothing to do with internal state handling like continuations). One of the basic ideas is that the you should be able to develop a stateful application without any server-side state. To be able to do this, the significant state should be able to be transfered through the client-side with query parameters, hidden form parameters or a structured pathinfo. Therefore, the state needs to be distilled and also always be representable as a concise string. Initially, RIFE didn't have any support for inputs and output injection / outjection for elements and you always had to explicitly call getInput and setOutput. A few versions ago we added support for bijection, which leads you to expect that the state will just be preserved in a session. However, the same rules apply as before. I think we still need to do some fine- tuning though to warn people when inputs / outputs aren't usable due to the string conversion that happens in between and maybe to add some features that allow you to reconstitute more complex data structures from a string representation (any suggestions here are welcome). The input beans and output beans are shortcuts, as with all bean handling in RIFE. It automatically goes over all the bean properties and treats them as individual inputs / outputs. Being able to name them makes it easy when you want to explicitly retrieve the beans (getInputBean) and you declared them to use prefixes, for instance. You can however opt to work with more complex objects as input / outputs, but currently you'll have to call setOutput(Object) and getInputSerializable(String) explicitly. It should be possible to adopt this also for injection/outjection, but think that it's dangerous to do by default since it's too easy to pollute your state with very large serialized objects. Maybe this should be added as an attribute to the @InputProperty and @OutputProperty annotations. What do you think? Hope this sheds some light on this. Note that if you want very statefull server-side handling of state, continuations are a bette choice. Take care, Geert On 13 Jan 2007, at 16:33, Jean-Marie Galliot wrote: In this example : element implementation=com.test.Start input name=var1 / output name=var1 / What can be the type of var1? Only primitive? (int, float, String ...) What happens if it corresponds to property setters and getters like these public MyType getVar1() { return var1 } public void setGame(MyType var1) { this.var1 = var1; } MyType being a custom class in my project (bean) ? I tried it and the property is always set with a null argument. I saw that there is another element outbean ... Must we always use it when we want to transmit anything but primitive values? If this is correct I am wondering why there is two syntaxes (output and outbean). We could discover the type of the property by introspection or supply it with the classname attribute like in outbean? Now, if I use outbean/inbean I should not use matching getters and setters like above? but rather getNameInputBean/setNameOutputBean? But in this case I have to call them myself in processElement for example. I don't have anymore the callback kind of facility that simple getters/setters offer for primitive values? I don't know if this is very clear. Please note it is not criticism. I am sure there are very good reasons behind that. When I will understand them better, I will be a better Rife programmer :-) Tks jean-marie -- View this message in context: http://www.nabble.com/More-about- datalinks-tf2971533.html#a8315046 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] More about datalinks
Oops forgot to answer one question ... On 13 Jan 2007, at 16:38, Jean-Marie Galliot wrote: In this example : element implementation=com.test.Start input name=var1 / output name=var1 / What can be the type of var1? Only primitive? (int, float, String ...) You can find these in the API of ElementSupport by looking at the getInput* and setOutput* methods. (http://rifers.org/docs/api/com/ uwyn/rife/engine/ElementSupport.html) Best regards, Geert -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Datalink semantics
What's the implementation of Second? On 12 Jan 2007, at 13:19, Jean-Marie Galliot wrote: Sorry, I made a mistake in copying the code. The second datalink is in the element Second like this: site arrival destid=Start/ element id=Start url=/start implementation=com.test.Start exit name=started / flowlink srcexit=started destid=Second datalink srcoutput=counter destinput=counter/ /flowlink /element element id=Second url=/second implementation=com.test.Second input name=counter / datalink srcoutput=counter destinput=counter destid=Second / submission name=increase param name=increment / /submission /element Jean-Marie Galliot wrote: Hi, I have this simple site : site arrival destid=Start/ element id=Start url=/start implementation=com.test.Start exit name=started / flowlink srcexit=started destid=Second datalink srcoutput=counter destinput=counter/ /flowlink datalink srcoutput=counter destinput=counter destid=Second / /element element id=Second url=/second implementation=com.test.Second input name=counter / submission name=increase param name=increment / /submission /element /site And this is the implementation of the element Start: public class Start extends Element { public void initialize() { System.out.println(Start.initialize); } public int getCounter() { System.out.println(Start.getCounter() = 3); return 3; } public void processElement() { System.out.println(Start.processElement()); exit(started); } } The output trace is: Start.initialize Start.processElement() Start.getCounter() = 3 Start.getCounter() = 3 Start.getCounter() = 3 Guess.setCounter(3) Guess.processElement() Could you explain why getCounter() is called three times? Also, what I am trying to do is having this element Start initializing and transmitting a value to element Second. For the time being it'a a simple integer but it will be eventually a bean. Then, the subsequent requests will be processed by element Second. At each request, the value originally initialized by the element Start will evolve, so It will use a datalink from element Second to itself to keep the state like you suggested in the example : statefull components. But the problem is : Apparently, each time the element Second is processed (and not only the first time) the method getCounter of element Start is called and the value is set into element Second. I can understand why but how can we accomplish this simple behavior : Element second is initialized with a value from Element Start. But after that, the value is modified iteratively in element Second by the very process of subsequent requests, without the value being reinitialized each time by the element Start? I can imagine two datalinks with two distincts variables. Then element Second has to decide that the second variable (the one coming from himself) has precedence over the one coming from element Start. But it looks unnatural. Can you help? Tks -- View this message in context: http://www.nabble.com/Datalink- semantics-tf2965628.html#a8297430 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] Datalink semantics
Hi Jean-Marie, the reason why this happens is that RIFE dynamically uses the outputs at any given time. For example, when you generate an exit to go to a first element the output values can be different than the output values for another exit link. There are several other mechanics at work, like outjecting the getter values at outputs or propagating the value of outputs that are really global vars to the other elements in the same request. As such, RIFE thus uses your getter as the provider of the output state (just as bean properties do) and invokes it when needed. Maybe there could be some optimizations performed to reduce these calls a bit at the end of the element processing, but you should never rely on an assumption that a getter can only be called once. However, using you example, it behaves exactly as you describe: when you send the increase submission in the second element it doesn't execute the first one anymore and just stays at the second step, without reinitializing the value. I used this template for second.html: pr:v name=count//p form name=increase action=${v SUBMISSION:FORM:increase/} method=post r:v name=SUBMISSION:PARAMS:increase/ input type=text name=increment / input type=submit value=Login / /form Hope this helps. Geert On 12 Jan 2007, at 13:08, Jean-Marie Galliot wrote: Could you explain why getCounter() is called three times? Also, what I am trying to do is having this element Start initializing and transmitting a value to element Second. For the time being it'a a simple integer but it will be eventually a bean. Then, the subsequent requests will be processed by element Second. At each request, the value originally initialized by the element Start will evolve, so It will use a datalink from element Second to itself to keep the state like you suggested in the example : statefull components. But the problem is : Apparently, each time the element Second is processed (and not only the first time) the method getCounter of element Start is called and the value is set into element Second. I can understand why but how can we accomplish this simple behavior : Element second is initialized with a value from Element Start. But after that, the value is modified iteratively in element Second by the very process of subsequent requests, without the value being reinitialized each time by the element Start? I can imagine two datalinks with two distincts variables. Then element Second has to decide that the second variable (the one coming from himself) has precedence over the one coming from element Start. But it looks unnatural. Can you help? Tks -- View this message in context: http://www.nabble.com/Datalink- semantics-tf2965628.html#a8297299 Sent from the RIFE - users mailing list archive at Nabble.com. ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Geert Bevin Uwyn Use what you need - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users