Re: [Rife-users] A bit frustrated
Hi Steve, If someone can give the new material a quick read and make sure it's accurate and that my adaptation of Emmanuel's code is I read over it and it looks very nice, just made a couple of minor modifications. the right way to do things, that'd be super. In particular I tried and failed to make the Account object use the RIFE user ID as its identifier, which I feel is the right data model since it's a one- to-one mapping. If there's some way to do foreign primary keys I wouldn't mind knowing, but I couldn't get RIFE to stop trying to assign a fresh ID value to my Account object. I think this should be possible by adding a 'sparse' constraint to your identifier property. I haven't tried it out yet in this situation, but that's what its intention is: allowing you to manage the ID values yourself. I'll try it out once I get back from Barcelona, next week. I also didn't see a more elegant way to do the many-to-one constraint between Account and RoleUser, but it's entirely possible there is one I'm not aware of. At the very least I imagine there's a more elegant way to look up the RoleUser table name. 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] A bit frustrated
Not sure if it's better to start a new thread or just extend this one, but: Geert Bevin wrote: http://thread.gmane.org/gmane.comp.java.rife.user/2767/focus=2767 ... Emmanuel also gives a good summary of how to use database authentication, with clear code snippets. I am probably just slow, but it took me several readings of his code before I even figured out what it was for: he was demonstrating how to create a user and attach it to additional account data, not how to use an existing database of users. Once I figured that out, I took his example, expanded on it, and added lots of explanation and code comments which I hope are correct; the result is here: http://rifers.org/wiki/display/RIFE/GuideCookbookAuthentication (The new sections are "Creating users" and "Managing additional user data".) I also added a link to that page from the authentication chapter of the user's guide, since when I was first reading the guide it kind of felt like database authentication was mentioned in passing then forgotten and at first I didn't even notice it stuffed down in an appendix at the end of the guide. If someone can give the new material a quick read and make sure it's accurate and that my adaptation of Emmanuel's code is the right way to do things, that'd be super. In particular I tried and failed to make the Account object use the RIFE user ID as its identifier, which I feel is the right data model since it's a one-to-one mapping. If there's some way to do foreign primary keys I wouldn't mind knowing, but I couldn't get RIFE to stop trying to assign a fresh ID value to my Account object. I also didn't see a more elegant way to do the many-to-one constraint between Account and RoleUser, but it's entirely possible there is one I'm not aware of. At the very least I imagine there's a more elegant way to look up the RoleUser table name. -Steve ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
Geert Bevin wrote: The tables are not 'automatically' created by the framework. It's up to you to call the install() methods on the manager classes that are involved. If you want to know the structure, either read the source code of the manager classes or look at what has been created during development. You can also set the SQL_DEBUG_TRACE configuration parameter to 'true' and you'll get a log of all the SQL statements that are executed. Thanks. I've done that and added what I believe are correct descriptions of the database tables to the "GuideCookbookAuthentication" page -- if someone can double-check to make sure I got it right, that'd be swell. Point taken on the "automatically" part -- I meant that the tables are created by the framework without an opportunity for a human DBA to review the schema and tweak, e.g., the storage parameters. -Steve ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
Hi Stefan, Hmm, one example was, when I tried to send an email and I remembered RIFE had some functionality for this. After reading through the examples and looking at the code, I realized that RIFE only supported asynchronous sending of mails. Probably because synchronously sending mails was considered trivial. Still took me a while to figure it out. Not really a problem with the documentation though. What we need is a more structured approach, so you can go look at "RIFE > Mail" and if it's not there, it's not supported. Right now the only sure way is to use the search function of the Wiki. But what if you don't know the proper keywords? Actually, I'm still planning of adding a "send" method to the MailQueueManager interface to send emails immediately. ;-) Most features are somewhere. True. But ideally they should be documented everywhere. How to do user authentication should be discussed in the tutorial, but it should also be in the Cookbook with all variants. *) 1) A complete syntax manual for all XML config files and Are you mainly talking about the site and the element files here? Normally the concepts of those are documented in the (old) users guide and the cookbook. Yes, but a tutorial is hard to use as a reference to look things up. The features of the site definition are all over the place, introduced one at a time throughout the tutorial. This is good when you first learn it, but extremely annoying, when you want to revisit something or try something that just doesn't happen in the tutorial. But don't bother, I'll condense the stuff and write something in the Wiki soon. I agree, and thanks for planning on contributing! I'm writing my books as a reference manual instead of a tutorial, so there might be something useful in there too. The latter is needed to expand upon what RIFE can do today. My hope is that your upcoming books will fill this gap. That is the plan ;-) (Please note that while the JavaDocs are by principle concept- oriented, they are more meant to look something up than to methodically learn something.) o--oo | Methodical |Reference | o---o--oo | Bottom-Up | Live Users Guide | Cookbook/Mailing List Archive | o---o--oo | Top-Down | ???| JavaDoc| o---o--oo But that's just how I see it. Hope it helps. Very nice diagram and overview of how the documentation should be structured. Thanks a lot! Another thing that comes to my mind is: Geert, could you recommend some non-RIFE-related reading that might help with the big picture? Maybe some books or articles about this whole concept of web data flow/web logic flow. Or about component-based framework in general. I feel like I'm lacking some of the basics and while it's not your job to explain this stuff to people you might be able to point them to valuable resources. Sadly I'm not really aware of any reading material like this. RIFE's model really grew out of real-world problems that I had 5 years ago and it has been enhanced over the years. Nowadays though, it's nice to see other solutions pop up that adopt some of the same concepts. At least it validates the approach and allows for a common nomenclature to be used. I never read a book about them though. There are some more points I really want to emphasize: 1) There's nothing "wrong" with the documentation. I like it and that learning RIFE takes a bit of time is just a logical consequence of it's sheer size and power. (Not to mention the fact that it is some of the most advanced technology on earth today. I mean, how easy can it be to learn it? If you want an easy way to create simple web sites, there are better tools out there. Tools like RIFE are meant to help you writing web-applications of a complexity that would just not be manageable without them. As a side effect, you can also become more sovereign in writing simpler apps.) However, I think it's important to continuously strive for the initial learning curve to become lower all the time. RIFE has a lot to offer for the simple projects too. One of the key areas here is to reduce the declaration and configuration overhead. I think that annotations (for RIFE 1.5) and RIFE/Crud are doing a lot for that already. 2) What the documentation needs is more perspectives. So I encourage everyone currently learning RIFE to just go for it, create pages in the wiki, talk about what you're doing. If you're writing something dumb, others can correct it. Also, don't hesitate to change existing documentation in the Wiki to clarify it. The only way to make RIFE easier for a wide audience is to have the doc
Re: [Rife-users] A bit frustrated
I like it... if only for the fact that two weeks down the line he'll have to write again... only this time to say what a darling rife is ;P On 6/18/06, Eddy Young <[EMAIL PROTECTED]> wrote: On 18 Jun 2006, at 22:58, Steven Grimm wrote: > > Once again, though, I apologize if I've offended anyone. That is > not the intent at all. Steven, My reply was meant to encourage you to post your questions on the mailing list more than anything else. Eddy -- http://coding.mu http://priscimon.com/blog ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users -- Sheik Hamza Yusuf - "A tree grows. If you're staying the same, something is wrong. You're not alive." ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
On 18 Jun 2006, at 22:58, Steven Grimm wrote: Once again, though, I apologize if I've offended anyone. That is not the intent at all. Steven, My reply was meant to encourage you to post your questions on the mailing list more than anything else. Eddy -- http://coding.mu http://priscimon.com/blog ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
It wasn't my first post on the list, but I will grant you that I am not a longtime participant -- which is kind of the point. The message in question was the perspective of someone who hasn't had a lot of experience with RIFE yet, which means someone who hasn't spent lots of time asking questions on the mailing list. By the time you've gotten all your questions answered on the list, you no longer have the perspective of a new user. Very good point Steve, it's indeed difficult as an experienced user or contributor to understand the hurdles and stumbling blocks that a newcomer experiences. Your comments and suggestions are valuable. Sadly, they're as easily fixable as tending to a small bug that can quickly be resolved. However, making everyone in the RIFE community aware of this really increases the probability that someone will bite the bullet and kick the documentation into a better shape. If all the mailing list ever hears is reports from long-time users about how wonderful everything is and specific questions that aren't covered in the documentation, there will be no way to know what the overall experience is like for a new user. I wrote what I wrote not because I want to upset people or bash RIFE, but because I actually *like* RIFE and I want it to be successful. If I didn't care about it at all, I wouldn't have bothered. Was I frustrated at the time, and therefore not as diplomatic as I might have been? Yeah, probably. But the fact remains that there is value in an outsider's evaluation of RIFE's strengths (very clean and internally consistent conceptual model, fabulous template system, and helpful user community, to name three) and its shortcomings. Once again, though, I apologize if I've offended anyone. That is not the intent at all. You haven't offended me in any case ... I know out of experience (I went through a very similar scenario as an initial OpenLaszlo criticizer who become an advocate) that when you take the trouble to write out such a detailed blog entry, you're actually motivated into the problems to be fixed and the technology to improve, otherwise you wouldn't have bothered at all and just moved on. Take care, 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] A bit frustrated
Eddy Young wrote: It is unfortunate that your first post on the mailing list is to announce a blog entry ranting about your irks with RIFE. Most of us use the mailing list as a second source of documentation when the Wiki does not provide the answer. It wasn't my first post on the list, but I will grant you that I am not a longtime participant -- which is kind of the point. The message in question was the perspective of someone who hasn't had a lot of experience with RIFE yet, which means someone who hasn't spent lots of time asking questions on the mailing list. By the time you've gotten all your questions answered on the list, you no longer have the perspective of a new user. The fact that at least one person wrote to agree with what I said tells me that it wasn't a completely unjustified rant. I have to believe there are at least a few others who just gave up and moved on to a different framework after running into what I described; you will never hear from those people since they will never bother to join the mailing list and won't consider it worth the time to write up their experiences. Actually, I *know* such people exist, because I was one of them until recently; I read through the user guide last year and was puzzled that it didn't even hint at all the "don't repeat yourself" constraint stuff I'd heard RIFE had. I saw some of that mentioned in the cookbook, but it didn't look like the description was all that complete (and it seemed to be kind of scattered around in bits and pieces in different parts of the documentation, as Stefan alluded to). I quickly realized I was going to have to really hunt around and do a lot of reading of the source to figure out how to use the framework. So I put RIFE on my "come back and look at this later" list rather than my "learn this right now" list. If all the mailing list ever hears is reports from long-time users about how wonderful everything is and specific questions that aren't covered in the documentation, there will be no way to know what the overall experience is like for a new user. I wrote what I wrote not because I want to upset people or bash RIFE, but because I actually *like* RIFE and I want it to be successful. If I didn't care about it at all, I wouldn't have bothered. Was I frustrated at the time, and therefore not as diplomatic as I might have been? Yeah, probably. But the fact remains that there is value in an outsider's evaluation of RIFE's strengths (very clean and internally consistent conceptual model, fabulous template system, and helpful user community, to name three) and its shortcomings. Once again, though, I apologize if I've offended anyone. That is not the intent at all. -Steve ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
Hi Steven, I'm glad to hear the first part of that, and yes, I did notice a lot of examples in the release notes, which are great. My harsh comment was based solely on the parts of the framework I've tried to use. The template system is quite well documented, enough so that I felt confident editing the Wiki to clarify the one thing I found I had to ask on the list about. And the simple blog movie, as I mentioned, is a very good introduction. It was therefore pretty jarring that the first thing I tried to do after finishing the tutorial (add database authentication) was essentially undocumented. Indeed. I hope that someone has the time to document it properly and otherwise I'll try to take a crack at it when I come back from TSSJS Europe. As was the thing I tried to do after that (get rid of the URL decoration). And the thing after that (beefing up my model with some more complex database access). It is entirely possible that I just happened to hit the worst- documented three parts of the framework all in a row. You sorta did :-/ A project with the momentum of Spring, with their amount of contributors and commercial companies behind it, is of course able to provide a lot more in terms of books and user guides. There's only so much that a small team of motivated developers can do for free in their spare time. However, if you do feel that some areas need to be improved quicker, you're always welcome to contribute to the effort and document your findings either in articles or Javadoc additions that you can send to me as patches. I am happy to update the documenation in places where I feel like I have a solid enough understanding of the subject to make a useful contribution. And FYI, my comment about Spring was more about the Javadoc than the books and user guides (though those are nice too). Sounds like you have that problem under control for new code, but as a new RIFE user I have no way of knowing in advance what code is new and what code is old, so from my perspective the documentation is a random roll of the dice: will there or won't there be any documentation for what I want to do? I hear you, really do, though good documentation is very time- consuming to write. Many open-source projects just add one-liners as Javadocs, which doesn't really benefit you much as a user. Once in a while me or someone else takes out some days and completes the Javadocs of older APIs that were committed without. Sadly it's very difficult to dedicate time to that since there's no real benefit for it during customer projects. Other advancements that I and others make to RIFE are mostly driven by real problems in real projects, and writing Javadocs for those along the way can be justified during the implementation. Even in those cases there are limits though. Interface21 on the other hand, solely bases their business on Spring- related things. They give courses, seminars, on-site training, audits, ... they have a real business incentive to invest money in people writing extensive documentation and even have paid developers that only do things like that. For RIFE, this is at the moment really on a voluntary basis. I try to take out a lot of time that I could otherwise spend on additional paying projects, but the day-to-day follow-up of the mailing list, the web site, the examples, the release notes, bug fixes, advocacy, and moving the framework forward really takes up already more time than it should. You're right that database authentication isn't documented in detail and it really needs to receive some love since imho it's *the* area that is the most confusing to people. I think that you can find what you need here though: http://thread.gmane.org/gmane.comp.java.rife.user/2767/focus=2767 I read that thread when it came by. It does not answer a single one of the questions I posed in my blog post. It does cover in detail the design of the authentication layer and allows you to understand how it ties in with any customization that you'd want to make (including the clustered cache question you have later on). Emmanuel also gives a good summary of how to use database authentication, with clear code snippets. Which I'll repeat here with some clarifications so people don't have to go over there: What table does the authentication system use for user data, and what are its columns? (In development mode, it's fine to have the framework auto-create tables. Not so in production; I want to control exactly where and how each table is created, make sure I understand all the integrity constraints, have administrative tools in place to manipulate the data in a safe way, etc.) The tables are not 'automatically' created by the framework. It's up to you to call the install() methods on the manager classes that are involved. If you want to know the structure, either read the source code of the man
Re: [Rife-users] A bit frustrated
On 18 Jun 2006, at 09:20, Steven Grimm wrote: I feel like I'm fumbling around in the dark with RIFE. How are other people coming up to speed on this framework? I'm finding myself spending five times as long searching (often fruitlessly) for documentation as I'm spending actually getting work done. (It's the "fruitlessly" part that really irks me.) Right now my bugaboo is database authentication; there seems to be very little documentation on how it actually works in practice, just an example element configuration in the user's guide. I've written a blog entry on my experience so far: http://www.plaintivemewling.com/articles/rife-with-frustration Hopefully nothing too unwarranted there; sorry if it raises anyone's hackles, but I'm not a very happy RIFE camper at the moment. -Steve Steve, It is unfortunate that your first post on the mailing list is to announce a blog entry ranting about your irks with RIFE. Most of us use the mailing list as a second source of documentation when the Wiki does not provide the answer. In the future, feel free to ask your questions here, and you will be amazed how responsive the mailing list members are. Regards, Eddy -- http://coding.mu http://priscimon.com/blog ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
Geert Bevin wrote: Also, since three years, no public APIs get committed anymore without Javadocs. Additionally, as you probably saw, each release contains extremely detailed release notes with examples that are afterwards aggregated in the wiki's cookbook. I think that there is no open-source project out there that does this as extensively. Stating that documentation is an afterthought thus feels really very harsh to me. I'm glad to hear the first part of that, and yes, I did notice a lot of examples in the release notes, which are great. My harsh comment was based solely on the parts of the framework I've tried to use. The template system is quite well documented, enough so that I felt confident editing the Wiki to clarify the one thing I found I had to ask on the list about. And the simple blog movie, as I mentioned, is a very good introduction. It was therefore pretty jarring that the first thing I tried to do after finishing the tutorial (add database authentication) was essentially undocumented. As was the thing I tried to do after that (get rid of the URL decoration). And the thing after that (beefing up my model with some more complex database access). It is entirely possible that I just happened to hit the worst-documented three parts of the framework all in a row. A project with the momentum of Spring, with their amount of contributors and commercial companies behind it, is of course able to provide a lot more in terms of books and user guides. There's only so much that a small team of motivated developers can do for free in their spare time. However, if you do feel that some areas need to be improved quicker, you're always welcome to contribute to the effort and document your findings either in articles or Javadoc additions that you can send to me as patches. I am happy to update the documenation in places where I feel like I have a solid enough understanding of the subject to make a useful contribution. And FYI, my comment about Spring was more about the Javadoc than the books and user guides (though those are nice too). Sounds like you have that problem under control for new code, but as a new RIFE user I have no way of knowing in advance what code is new and what code is old, so from my perspective the documentation is a random roll of the dice: will there or won't there be any documentation for what I want to do? I'm working on a series of three short books for O'Reilly though, so soon there will be a source with more centralized information. Looking forward to those! You're right that database authentication isn't documented in detail and it really needs to receive some love since imho it's *the* area that is the most confusing to people. I think that you can find what you need here though: http://thread.gmane.org/gmane.comp.java.rife.user/2767/focus=2767 I read that thread when it came by. It does not answer a single one of the questions I posed in my blog post. Which I'll repeat here with some clarifications so people don't have to go over there: What table does the authentication system use for user data, and what are its columns? (In development mode, it's fine to have the framework auto-create tables. Not so in production; I want to control exactly where and how each table is created, make sure I understand all the integrity constraints, have administrative tools in place to manipulate the data in a safe way, etc.) How does one add or remove a user? (The XML user data gets cached in memory, so if I just update or insert a database row in the users table, do I need to notify a cache manager? Is there a way to disable a user without deleting the row entirely?) Does the user table have to be completely managed by the authentication system -- no touching it allowed -- or can it be a user-supplied table that has data other than login names and passwords? If so, how does one tell the code to use the alternate table, and how does one get at the additional data? Is it possible to store session data somewhere other than a database, e.g. in a clustered cache? Other posts on the mailing list cover this too. You don't really have to be following the list for a long time, since a simple search should reveal all the posts that are relevant to you. I did search and I did not find the answers to my (relatively common, I believe) questions. But I guess a larger point is that if I have to search a mailing list archive on a regular basis, it's a sign of an inadequately-documented system. A mailing list is a very inefficient reference book -- even if what you want is there, you have to dig through a lot of noise to get an answer, especially if it's something that might match a variety of different sets of keywords. I will pledge to do my part on this and update the Wiki with any answers I get from the list. I suppose if everyone, or even most people, did that, the need to search the mailing list would be much less.
Re: [Rife-users] A bit frustrated
Sorry about that -- it should be fixed now. My comment-spam defense was broken. -Steve Geert Bevin wrote: Comments on your blog seem to be broken, would you mind looking into that so that I can reply there too? ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users
Re: [Rife-users] A bit frustrated
Hi Geert, Thanks for sharing your thoughts. I must say that feel exactly the same way as Steven and most of the time when I want to learn something new with RIFE, I end up reading sources for hours. It would be interesting to know which areas were the main problem for you and why the current documentation didn't suffice. Hmm, one example was, when I tried to send an email and I remembered RIFE had some functionality for this. After reading through the examples and looking at the code, I realized that RIFE only supported asynchronous sending of mails. Probably because synchronously sending mails was considered trivial. Still took me a while to figure it out. Not really a problem with the documentation though. What we need is a more structured approach, so you can go look at "RIFE > Mail" and if it's not there, it's not supported. Right now the only sure way is to use the search function of the Wiki. But what if you don't know the proper keywords? Most features are somewhere. True. But ideally they should be documented everywhere. How to do user authentication should be discussed in the tutorial, but it should also be in the Cookbook with all variants. *) 1) A complete syntax manual for all XML config files and Are you mainly talking about the site and the element files here? Normally the concepts of those are documented in the (old) users guide and the cookbook. Yes, but a tutorial is hard to use as a reference to look things up. The features of the site definition are all over the place, introduced one at a time throughout the tutorial. This is good when you first learn it, but extremely annoying, when you want to revisit something or try something that just doesn't happen in the tutorial. But don't bother, I'll condense the stuff and write something in the Wiki soon. 2) Some best practices to save other people from making design mistakes that have already been made. If I can find the time, I'd do (1), but (2) is definitely something for some more experienced guys. Hmm, honestly there are little things that I regret from my older projects. Everything that I do differently now is because features were contributed back into the framework to do the same things much more easily (like constraints, continuations, pathinfo mapping, annotations, ...). Conceptually-wise I still do a lot of the things I did 3 years ago. Hehe, I understand that very well. There was a point where I had pretty wicked PHP mastery and wrote my own framework for this language. And if somebody would have asked me about best practices for it back then, I would have answered exactly what you just said. You have the complete overview of RIFE. However, someone just learning it has a completely different perspective, somewhat like this: I want to do something and I know I could do it using method A or method B, but I don't know which one is supported better in RIFE. Or maybe I might even miss out method C that might be hidden in the framework somewhere. Basically this problem just means that I have little experience with the framework and no amount of documentation can magically change that. But there are a few things that might help. There are a few undocumented features in the framework (at least the scheduler was one). These should be tackled with priority, even if they seem useful only for a small amount of users. The second thing is, that while I like both the tutorial and the cookbook format, both are very problem-oriented approaches, i.e. "How do I do X?", the bottom-up perspective. What I'm missing is more structured information that is concept-oriented, i.e. "What areas can RIFE functionality be divided in? What are the concepts behind?", the top-down perspective. The first one is needed to get simple things done fast. The latter is needed to expand upon what RIFE can do today. My hope is that your upcoming books will fill this gap. (Please note that while the JavaDocs are by principle concept-oriented, they are more meant to look something up than to methodically learn something.) o--oo | Methodical |Reference | o---o--oo | Bottom-Up | Live Users Guide | Cookbook/Mailing List Archive | o---o--oo | Top-Down | ???| JavaDoc| o---o--oo But that's just how I see it. Hope it helps. Another thing that comes to my mind is: Geert, could you recommend some non-RIFE-related reading that might help with the big picture? Maybe some books or articles about this whole concept of web data flow/web logic flow. Or about component-based framework in general. I feel like I'm lacking some of the basics and while it's not your job to explain this stuff to people you might
Re: [Rife-users] A bit frustrated
Hi Stefan, Thanks for sharing your thoughts. I must say that feel exactly the same way as Steven and most of the time when I want to learn something new with RIFE, I end up reading sources for hours. It would be interesting to know which areas were the main problem for you and why the current documentation didn't suffice. By now, I can almost always tell the year some code was written, just by looking at the RIFE-features it utilizes. :) However, I understand why it is that way and Geert and other rifers deliver awesome support here on the list, so it can be learned. What I often miss about the docs are two things: 1) A complete syntax manual for all XML config files and Are you mainly talking about the site and the element files here? Normally the concepts of those are documented in the (old) users guide and the cookbook. 2) Some best practices to save other people from making design mistakes that have already been made. If I can find the time, I'd do (1), but (2) is definitely something for some more experienced guys. Hmm, honestly there are little things that I regret from my older projects. Everything that I do differently now is because features were contributed back into the framework to do the same things much more easily (like constraints, continuations, pathinfo mapping, annotations, ...). Conceptually-wise I still do a lot of the things I did 3 years ago. Take care, Geert Regards Stefan :) Geert Bevin schrieb: Hi Steven, I'm sorry that you're bumping into this block. I agree that documentation is lacking in some areas, mostly for code that was initiated earlier than three years ago. We've tried to fill in the Javadocs holes and I think that in the areas that we did cover, we're doing an excellent job at this. In contrast to what you're saying, there have been many compliments about the quality of the current documentation (even though there are lacunas). Also, since three years, no public APIs get committed anymore without Javadocs. Additionally, as you probably saw, each release contains extremely detailed release notes with examples that are afterwards aggregated in the wiki's cookbook. I think that there is no open-source project out there that does this as extensively. Stating that documentation is an afterthought thus feels really very harsh to me. A project with the momentum of Spring, with their amount of contributors and commercial companies behind it, is of course able to provide a lot more in terms of books and user guides. There's only so much that a small team of motivated developers can do for free in their spare time. However, if you do feel that some areas need to be improved quicker, you're always welcome to contribute to the effort and document your findings either in articles or Javadoc additions that you can send to me as patches. I'm working on a series of three short books for O'Reilly though, so soon there will be a source with more centralized information. You're right that database authentication isn't documented in detail and it really needs to receive some love since imho it's *the* area that is the most confusing to people. I think that you can find what you need here though: http://thread.gmane.org/gmane.comp.java.rife.user/2767/focus=2767 Other posts on the mailing list cover this too. You don't really have to be following the list for a long time, since a simple search should reveal all the posts that are relevant to you. With regards to the query building, the methods of the Select class are mostly the same as the SQL methods and should need little documentation if you know SQL. I agree though that there should be Javadocs there. It's one of the missing parts of early code that never received the documentation care that it deserves. One of the points of the query builders is that the order is not fixed at all. The real statements are only created when the SQL is obtained from the builder manually, or when it's executed. This also means that you can partial query builder objects that you prepare in one location of your code and complete elsewhere. I hope this information lets you climb out of the dip you're in and get back up to speed. Otherwise, feel free to mail the list with any additional questions you have, you'll see that a lot of people here are very helpful. Best regards, Geert On 18 Jun 2006, at 10:20, Steven Grimm wrote: I feel like I'm fumbling around in the dark with RIFE. How are other people coming up to speed on this framework? I'm finding myself spending five times as long searching (often fruitlessly) for documentation as I'm spending actually getting work done. (It's the "fruitlessly" part that really irks me.) Right now my bugaboo is database authentication; there seems to be very little documentation on how it actually works in practice, just an example element configuration in the us
Re: [Rife-users] A bit frustrated
Hi Steven, hi Geert, I must say that feel exactly the same way as Steven and most of the time when I want to learn something new with RIFE, I end up reading sources for hours. By now, I can almost always tell the year some code was written, just by looking at the RIFE-features it utilizes. :) However, I understand why it is that way and Geert and other rifers deliver awesome support here on the list, so it can be learned. What I often miss about the docs are two things: 1) A complete syntax manual for all XML config files and 2) Some best practices to save other people from making design mistakes that have already been made. If I can find the time, I'd do (1), but (2) is definitely something for some more experienced guys. Regards Stefan :) Geert Bevin schrieb: Hi Steven, I'm sorry that you're bumping into this block. I agree that documentation is lacking in some areas, mostly for code that was initiated earlier than three years ago. We've tried to fill in the Javadocs holes and I think that in the areas that we did cover, we're doing an excellent job at this. In contrast to what you're saying, there have been many compliments about the quality of the current documentation (even though there are lacunas). Also, since three years, no public APIs get committed anymore without Javadocs. Additionally, as you probably saw, each release contains extremely detailed release notes with examples that are afterwards aggregated in the wiki's cookbook. I think that there is no open-source project out there that does this as extensively. Stating that documentation is an afterthought thus feels really very harsh to me. A project with the momentum of Spring, with their amount of contributors and commercial companies behind it, is of course able to provide a lot more in terms of books and user guides. There's only so much that a small team of motivated developers can do for free in their spare time. However, if you do feel that some areas need to be improved quicker, you're always welcome to contribute to the effort and document your findings either in articles or Javadoc additions that you can send to me as patches. I'm working on a series of three short books for O'Reilly though, so soon there will be a source with more centralized information. You're right that database authentication isn't documented in detail and it really needs to receive some love since imho it's *the* area that is the most confusing to people. I think that you can find what you need here though: http://thread.gmane.org/gmane.comp.java.rife.user/2767/focus=2767 Other posts on the mailing list cover this too. You don't really have to be following the list for a long time, since a simple search should reveal all the posts that are relevant to you. With regards to the query building, the methods of the Select class are mostly the same as the SQL methods and should need little documentation if you know SQL. I agree though that there should be Javadocs there. It's one of the missing parts of early code that never received the documentation care that it deserves. One of the points of the query builders is that the order is not fixed at all. The real statements are only created when the SQL is obtained from the builder manually, or when it's executed. This also means that you can partial query builder objects that you prepare in one location of your code and complete elsewhere. I hope this information lets you climb out of the dip you're in and get back up to speed. Otherwise, feel free to mail the list with any additional questions you have, you'll see that a lot of people here are very helpful. Best regards, Geert On 18 Jun 2006, at 10:20, Steven Grimm wrote: I feel like I'm fumbling around in the dark with RIFE. How are other people coming up to speed on this framework? I'm finding myself spending five times as long searching (often fruitlessly) for documentation as I'm spending actually getting work done. (It's the "fruitlessly" part that really irks me.) Right now my bugaboo is database authentication; there seems to be very little documentation on how it actually works in practice, just an example element configuration in the user's guide. I've written a blog entry on my experience so far: http://www.plaintivemewling.com/articles/rife-with-frustration Hopefully nothing too unwarranted there; sorry if it raises anyone's hackles, but I'm not a very happy RIFE camper at the moment. -- 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
Re: [Rife-users] A bit frustrated
Hi Steven, I'm sorry that you're bumping into this block. I agree that documentation is lacking in some areas, mostly for code that was initiated earlier than three years ago. We've tried to fill in the Javadocs holes and I think that in the areas that we did cover, we're doing an excellent job at this. In contrast to what you're saying, there have been many compliments about the quality of the current documentation (even though there are lacunas). Also, since three years, no public APIs get committed anymore without Javadocs. Additionally, as you probably saw, each release contains extremely detailed release notes with examples that are afterwards aggregated in the wiki's cookbook. I think that there is no open- source project out there that does this as extensively. Stating that documentation is an afterthought thus feels really very harsh to me. A project with the momentum of Spring, with their amount of contributors and commercial companies behind it, is of course able to provide a lot more in terms of books and user guides. There's only so much that a small team of motivated developers can do for free in their spare time. However, if you do feel that some areas need to be improved quicker, you're always welcome to contribute to the effort and document your findings either in articles or Javadoc additions that you can send to me as patches. I'm working on a series of three short books for O'Reilly though, so soon there will be a source with more centralized information. You're right that database authentication isn't documented in detail and it really needs to receive some love since imho it's *the* area that is the most confusing to people. I think that you can find what you need here though: http://thread.gmane.org/gmane.comp.java.rife.user/2767/focus=2767 Other posts on the mailing list cover this too. You don't really have to be following the list for a long time, since a simple search should reveal all the posts that are relevant to you. With regards to the query building, the methods of the Select class are mostly the same as the SQL methods and should need little documentation if you know SQL. I agree though that there should be Javadocs there. It's one of the missing parts of early code that never received the documentation care that it deserves. One of the points of the query builders is that the order is not fixed at all. The real statements are only created when the SQL is obtained from the builder manually, or when it's executed. This also means that you can partial query builder objects that you prepare in one location of your code and complete elsewhere. I hope this information lets you climb out of the dip you're in and get back up to speed. Otherwise, feel free to mail the list with any additional questions you have, you'll see that a lot of people here are very helpful. Best regards, Geert On 18 Jun 2006, at 10:20, Steven Grimm wrote: I feel like I'm fumbling around in the dark with RIFE. How are other people coming up to speed on this framework? I'm finding myself spending five times as long searching (often fruitlessly) for documentation as I'm spending actually getting work done. (It's the "fruitlessly" part that really irks me.) Right now my bugaboo is database authentication; there seems to be very little documentation on how it actually works in practice, just an example element configuration in the user's guide. I've written a blog entry on my experience so far: http://www.plaintivemewling.com/articles/rife-with-frustration Hopefully nothing too unwarranted there; sorry if it raises anyone's hackles, but I'm not a very happy RIFE camper at the moment. -- 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] A bit frustrated
I feel like I'm fumbling around in the dark with RIFE. How are other people coming up to speed on this framework? I'm finding myself spending five times as long searching (often fruitlessly) for documentation as I'm spending actually getting work done. (It's the "fruitlessly" part that really irks me.) Right now my bugaboo is database authentication; there seems to be very little documentation on how it actually works in practice, just an example element configuration in the user's guide. I've written a blog entry on my experience so far: http://www.plaintivemewling.com/articles/rife-with-frustration Hopefully nothing too unwarranted there; sorry if it raises anyone's hackles, but I'm not a very happy RIFE camper at the moment. -Steve ___ Rife-users mailing list Rife-users@uwyn.com http://lists.uwyn.com/mailman/listinfo/rife-users