Re: [Mpango-core] ID: 3298975 Human Verification
Status: Pre-Alpha
Brought to you by:
edvera
From: Eduardo de V. T. <etu...@gm...> - 2011-05-15 11:26:43
|
Hi Jay, Thanks a lot for the explanation of the things you have done in order to complete the human verification task. I've taken the freedom to modify a bit your code as I understood from reading the reCaptcha documentation that one needs to register in their system to be able to use their software. It was one of my concerns regarding the use of this specific component. I have replaced the public and private key from the web.xml and the helloWorld.xhtml files and I have put those values in a properties file that will be used during the filtering done by Maven upon the build of the project. This has two consequences, one good one and one not so good one: The not so good one is that we are not able to run mvn jetty:run anymore if we want to use reCaptcha's functionality. In order to see reCaptcha's functionality in place, we need to run mvn jetty:run-exploded which instead of using the src/main/webapp folder as the Web Application resources files, it uses the target/mpango-<version> folder that contains the already filtered files. The good one is that the project is ready for an easy substitution of values (just by either replacing them in the web.properties file found in src/main/filters) or by an even better file-per-environment solution using Maven Profiles (I could easily take care of this). I do think that it is still early to think about how we are going to run the application on a real environment as there isn't any environment ready (besides our own computers). I believe we should have more functionality in place as well as a presentable application (right now the only things we have that users can interact with is the registration form and a user list page) before thinking on having the application available for end users. I am aware of the lack of documentation on almost every aspect of the project. I am very open to discuss how we should create them and who can do so. I have opened a couple of task in the Feature Tracker for people to kick in and start writing and thinking about functionality (I assigned them to those that have openly expressed their gamers side!). Nevertheless, there is not only lack of functional documents, we also need documents for non functional stuff (such as architectural documents, operational documents, etc.). I hope that during the course of the activities each individual will be able to deliver documentation in some way or another so that all the project is documented at least to a bare minimum. Regarding your last set of questions, I do believe until now you have proven yourself in the work you have delivered. Your changes satisfy the requirement description and work in the Jetty server that we are currently using! So great job once again! I don't completely understand what you mean by building the project (mvn package should be the preferred way to get a bundle that can be deployed on a Jetty server). I do believe that we should support more application servers besides Jetty, I like Tomcat as well as it is one of the most used web application servers out there). I don't know anything about Jun, so I am open to hear from it if you consider it a good candidate. I will start working on architectural documents/requirements this week, as this is a growing project and certain functionalities are still to be discussed, we won't have any final versions until we reach a milestone. Talking of which, we also need the definition of milestones so that we can organize the work around them. As you can see, there is plenty of things to be done. However, there are trivial things (such as the user module) that require few documentation or planning (as we all kind of know what to expect from such a module: registration, forgot password, change details, invite other users...) and that I believe is the best way to engage new comers so that they can start working from day one. Happy development! Edu On May 14, 2011, at 3:03 PM, Jay Wellings wrote: > 1) added the primefaces settings to the POM.xml. (added dependency and repo) > 2) added the private key to the web.xml > 3) added the name space xmlns:p="http://primefaces.prime.com.tr/ui" to > the helloWordl.xhtml > 4) added the following elemetns to the form: > <p:messages showDetail="true"/> > <p:captcha label="Captcha" > publicKey="6LenWsQSAAAAADxsxhP1jT3_lmCRD6CYq-Xg1KUT"/> > <p:commandButton value="Check" ajax="false" > action="#{helloWorldBacking.send}" /> > 5) removed the old commandButton. > > The site that I used was a personal one for the key creation, if this > is the solution we choose to use, then I suggest we use the domain > that will be used for mPango. > > Do we have any requirement documents / wire frames of how we expect > the site to work / flow? > > As you can tell I'm quite eager to start cutting some code! however > I'm not entirely sure that the way I'm working currently is the most > effective. As such is there any documentation i should read that would > tell me basic things like the best way to be building the project? how > to use jetty offline? (or how to deploy the project to run on other > server such as tomcat or Jun)? > > Sorry for all the questions, I just want to be as useful resource for the team. > > Cheers > > Jay > > On 14 May 2011 08:28, Eduardo de Vera <etu...@gm...> wrote: >> Awesome Jay! >> >> Could you please spare some time writing me an email (or documenting on the >> task comments) the solution and the high level steps you had to do (after >> having a look at the prime faces site as well as at recaptcha there seems to >> be some administrative work, doesnt it?). What domain did you use for the >> creation of the key? >> >> I will make sure that environment things such as the public key are to be >> stored on a properties file and placeholders are put in place so that Maven >> can do it's work at packaging time. >> >> I will shuffle a bit the created tasks as there are people less responsive >> than others and I believe you would like to have something new assigned to >> you. >> >> By the way, there is still plenty of functional/creative work to be done. >> Feel free to let me know if you want to do tasks such as describing the >> functionality of the game (it is not programming but it can also be fun!). >> >> On my management role, I have created some guidelines regarding project >> membership that I invite you to read: >> >> http://mpango.sourceforge.net/membership.html >> >> I have also dedicated some time yesterday to review my old code hoping to >> make it easier for the ones to come to work on it. I don't know if you had a >> chance to look into it, if you hadn't please be my guest. >> >> I will take care of seeing what new task you can perform. >> >> Once again, great work! >> >> Edu >> >> On Sat, May 14, 2011 at 1:50 AM, Jay Wellings <jay...@gm...> wrote: >>> >>> An update for you Edu, I have manage to resolve the issue i was having. >>> >>> I was missing some config in the web.xml and required to use a >>> diffrent attribute on the commandButton. >>> >>> I have commited this captcha implemetation. >>> >>> cheers >>> >>> On 13 May 2011 20:35, Jay Wellings <jay...@gm...> wrote: >>>> Hi Edu, >>>> >>>> the error I'm getting is: >>>> >>>> javax.faces.FacesException: Exception while validating component with >>>> path : {Component-Path : [Class: >>>> javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: >>>> javax.faces.component.html.HtmlForm,Id: form][Class: >>>> org.primefaces.component.captcha.Captcha,Id: j_id5]} >>>> at javax.faces.component.UIInput.validate(UIInput.java:346) >>>> at >>>> javax.faces.component.UIInput.processValidators(UIInput.java:144) >>>> at javax.faces.component.UIForm.processValidators(UIForm.java:74) >>>> at >>>> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:658) >>>> at >>>> javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:43) >>>> at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:97) >>>> at javax.faces.component.UIViewRoot.process(UIViewRoot.java:205) >>>> at >>>> javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:93) >>>> at >>>> org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32) >>>> at >>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) >>>> at >>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) >>>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148) >>>> at >>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221) >>>> at >>>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) >>>> at >>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >>>> at >>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >>>> at >>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) >>>> at >>>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) >>>> at >>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) >>>> at >>>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) >>>> at >>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >>>> at org.mortbay.jetty.Server.handle(Server.java:326) >>>> at >>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >>>> at >>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945) >>>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) >>>> at >>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) >>>> at >>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >>>> at >>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) >>>> at >>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) >>>> Caused by: java.lang.RuntimeException: java.lang.NullPointerException >>>> at >>>> org.primefaces.component.captcha.CaptchaValidator.validate(CaptchaValidator.java:62) >>>> at >>>> javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:156) >>>> at javax.faces.component.UIInput.validateValue(UIInput.java:288) >>>> at >>>> org.primefaces.component.captcha.Captcha.validateValue(Captcha.java:100) >>>> at javax.faces.component.UIInput.validate(UIInput.java:332) >>>> ... 31 more >>>> Caused by: java.lang.NullPointerException >>>> at java.net.URLEncoder.encode(URLEncoder.java:188) >>>> at >>>> org.primefaces.component.captcha.CaptchaValidator.createPostParameters(CaptchaValidator.java:83) >>>> at >>>> org.primefaces.component.captcha.CaptchaValidator.validate(CaptchaValidator.java:51) >>>> ... 35 more >>>> >>>> I have also attached a patch of the changes I've made. >>>> >>>> >>>> >>>> On 13 May 2011 11:37, Eduardo de Vera <etu...@gm...> wrote: >>>>> Hi Jay, >>>>> >>>>> I have no problem being called Ed or Edu (which would be the short form >>>>> in >>>>> spanish). >>>>> >>>>> Can you send the stack trace of the error you are getting? >>>>> >>>>> Thanks! >>>>> Edu >>>>> >>>>> On Fri, May 13, 2011 at 12:22 PM, Jay Wellings <jay...@gm...> >>>>> wrote: >>>>>> >>>>>> Hi Ed ( I hope its OK to call you that, if not let me know!), >>>>>> >>>>>> I was having difficulty implementing this into the project we have set >>>>>> up currently. I think this is down to my lack of experience more than >>>>>> anything with Maven. >>>>>> >>>>>> However I have half managed to implement this solution using >>>>>> PrimeFaces http://www.primefaces.org/showcase/ui/captcha.jsf. The page >>>>>> now validates as it did before but also check that captcha is included >>>>>> & correct. However when all fields are completed and we go the >>>>>> processing page it throws an error. >>>>>> >>>>>> I've followed all the information i can find about including this as >>>>>> part of the Maven Build (add a repository and dependency node), and >>>>>> this seem to have pulled it into the project correctly (as I have got >>>>>> the first part working.) >>>>>> >>>>>> Unable to give you any specifics on the JSP error as I'm at work >>>>>> currently. However tonight do you want me to commit the part of the >>>>>> implementation I have for review or would you prefer a different >>>>>> approach? >>>>>> >>>>>> On 13 May 2011 06:41, Eduardo de Vera <etu...@gm...> wrote: >>>>>>> Hi Jay, >>>>>>> >>>>>>> I think it is a great idea to reuse other open source frameworks in >>>>>>> order to >>>>>>> speed up the development of mPango. However after having had a look >>>>>>> at >>>>>>> the >>>>>>> proposed component, there are a couple of things I am not sure I am >>>>>>> completely happy with: >>>>>>> >>>>>>> 1. It involves contacting a third party server with the increased >>>>>>> latency >>>>>>> that means. >>>>>>> 2. I am not sure if it is possible to use it in a JSF page, could >>>>>>> you >>>>>>> please >>>>>>> check this one up? >>>>>>> >>>>>>> In case it is possible to use in a JSF page then the fact that it >>>>>>> connects >>>>>>> to a third party server could become a secondary issue we could deal >>>>>>> with in >>>>>>> a later reiteration. >>>>>>> >>>>>>> Regards, >>>>>>> Eduardo de Vera >>>>>>> >>>>>>> On Thu, May 12, 2011 at 11:20 PM, Jay Wellings >>>>>>> <jay...@gm...> >>>>>>> wrote: >>>>>>>> >>>>>>>> Edaurdo, you said in the ticket you wished to discuss this >>>>>>>> implementation. >>>>>>>> >>>>>>>> my initial thoughts was to use the recapcha mechanism described >>>>>>>> here: >>>>>>>> http://code.google.com/apis/recaptcha/docs/java.html >>>>>>>> >>>>>>>> Any thoughts? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------ >>>>>>>> Achieve unprecedented app performance and reliability >>>>>>>> What every C/C++ and Fortran developer should know. >>>>>>>> Learn how Intel has extended the reach of its next-generation tools >>>>>>>> to help boost performance applications - inlcuding clusters. >>>>>>>> http://p.sf.net/sfu/intel-dev2devmay >>>>>>>> _______________________________________________ >>>>>>>> Mpango-core mailing list >>>>>>>> Mpa...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/mpango-core >>>>>>> >>>>>>> >>>>> >>>>> >>>> >> >> |