Hi all,
I installed orbeon (4.0.0.rc1.201302120214-PE) on a tomcat (6.0.36). Then I installed on the same machine an external eXist (1.4.3-rev17131) that I configured to listen on port 8079 to avoid conflict. I also implemented a LDAP by uncommenting in web.xml the part about the security-constraint, with a BASIC authentication method, and created the context.xml file in the folder META-INF. Then I created a form with Form Builder (application name = test, form name = test), and wanted to custom the recording of the data to create a file with the name of the session user. I used this code: <xf:submission id="save-submission" method="put" ref="instance('fr-form-instance')" replace="none" resource="{concat('http://myip:8079/exist/rest/db/orbeon/fr/test/test/',xxf:get-remote-user(),'.xml')}" xxf:username="{xxf:property('username')}" xxf:password="{xxf:property('password')}"> <xf:message ev:event="xforms-submit-error" level="modal">Error message</xf:message> </xf:submission> in the <xf:model> part and this one: <xf:submit submission="save-submission"> <xf:label>Save</xf:label> </xf:submit> in the body. So far, so good. Next, I wanted to pre-load the data with the file created by the submission code above. So I wrote that code in the <model> part. <xf:submission id="preload-submission" serialization="none" method="get" resource="{concat('http://myip:8079/exist/rest/db/orbeon/fr/test/test/',xxf:get-remote-user(),'.xml')}" xxf:username="{xxf:property('username')}" xxf:password="{xxf:property('password')}" replace="instance" instance="fr-form-instance"/> <xf:action ev:event="xforms-ready"> <xf:send submission="preload-submission"/> </xf:action> <!-- Main instance --> <xf:instance id="fr-form-instance"> ..... Here's come the fun: I publish my form, then from another pc, I enter the URL of my form: http://myip:8080/orbeon/fr/test/test/new It asks me my login and password, then I enter some data like "blablabla" in an input field, then clik on the custom save button. I check in the eXist database, the file is well created, with my "blablabla" data. I close my browser, then start again to see if my form is filled. I enter my login/password, then... -> Nothing, no "blablabla" :-( I keep my browser open, open a new tab, then try again http://myip:8080/orbeon/fr/test/test/new -> No login nor password needed (make sense), but still an empty form. I close one of the tab, then try again... And surprise, I find my "blablabla" data. So, it seems that closing a tab has some effect, but I'm a little lost here... Does anyone have an idea about this ? Thank you ! Lomobob -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
I just notice something: you don't have to close a tab to have the weird behavior; the form is filled when you try for the 3rd time to open the link, without logging out...
Lomobob
On Thu, Mar 7, 2013 at 4:33 PM, L'omobob <[hidden email]> wrote: Hi all, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Hi again,
I found something: the problem is here: xxf:username="{xxf:property('username')}" xxf:password="{xxf:property('password')}" Apparently, the first attempt blocks on the first line (username), the second attempt blocks on the second one (password), and at last it works with the third attempt... I tried with this: xxf:username="loginthatworks" xxf:password="passwordthatworks" And it's ok... Now I have to find a solution that keeps the spirit of the dynamic properties... Lomobob On Thu, Mar 7, 2013 at 5:02 PM, L'omobob <[hidden email]> wrote: I just notice something: you don't have to close a tab to have the weird behavior; the form is filled when you try for the 3rd time to open the link, without logging out... -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Hi Lomobob,
Are you saying that you defined properties: <property as="xs:string" name="username" value="loginthatworks"/> <property as="xs:string" name="password" value="passwordthatworks"/> But that using what follows on the xf:submission doesn't work: xxf:username="{xxf:property('username')}" xxf:password="{xxf:property('password')}" While using what follows on the xf:submission does work? xxf:username="loginthatworks" xxf:password="passwordthatworks" One reason this will fail "for sure" is that xxf:property() won't let you access properties with the string "password" in the property name. So as a first try, you might want to rename that property name to something else (say "pwd"). http://wiki.orbeon.com/forms/doc/developer-guide/configuration-properties Alex On Thu, Mar 7, 2013 at 8:24 AM, L'omobob <[hidden email]> wrote: > Hi again, > > I found something: the problem is here: > > > xxf:username="{xxf:property('username')}" > xxf:password="{xxf:property('password')}" > > Apparently, the first attempt blocks on the first line (username), the > second attempt blocks on the second one (password), and at last it works > with the third attempt... I tried with this: > > xxf:username="loginthatworks" > xxf:password="passwordthatworks" > > And it's ok... Now I have to find a solution that keeps the spirit of the > dynamic properties... > > Lomobob > > > On Thu, Mar 7, 2013 at 5:02 PM, L'omobob <[hidden email]> wrote: >> >> I just notice something: you don't have to close a tab to have the weird >> behavior; the form is filled when you try for the 3rd time to open the link, >> without logging out... >> >> Lomobob >> >> >> On Thu, Mar 7, 2013 at 4:33 PM, L'omobob <[hidden email]> wrote: >>> >>> Hi all, >>> >>> I installed orbeon (4.0.0.rc1.201302120214-PE) on a tomcat (6.0.36). Then >>> I installed on the same machine an external eXist (1.4.3-rev17131) that I >>> configured to listen on port 8079 to avoid conflict. I also implemented a >>> LDAP by uncommenting in web.xml the part about the security-constraint, with >>> a BASIC authentication method, and created the context.xml file in the >>> folder META-INF. >>> >>> Then I created a form with Form Builder (application name = test, form >>> name = test), and wanted to custom the recording of the data to create a >>> file with the name of the session user. >>> >>> I used this code: >>> >>> <xf:submission id="save-submission" method="put" >>> ref="instance('fr-form-instance')" >>> replace="none" >>> >>> resource="{concat('http://myip:8079/exist/rest/db/orbeon/fr/test/test/',xxf:get-remote-user(),'.xml')}" >>> xxf:username="{xxf:property('username')}" >>> xxf:password="{xxf:property('password')}"> >>> <xf:message ev:event="xforms-submit-error" level="modal">Error >>> message</xf:message> >>> </xf:submission> >>> >>> in the <xf:model> part and this one: >>> >>> <xf:submit submission="save-submission"> >>> <xf:label>Save</xf:label> >>> </xf:submit> >>> >>> in the body. >>> >>> So far, so good. >>> >>> Next, I wanted to pre-load the data with the file created by the >>> submission code above. So I wrote that code in the <model> part. >>> >>> <xf:submission id="preload-submission" serialization="none" method="get" >>> >>> resource="{concat('http://myip:8079/exist/rest/db/orbeon/fr/test/test/',xxf:get-remote-user(),'.xml')}" >>> xxf:username="{xxf:property('username')}" >>> xxf:password="{xxf:property('password')}" >>> replace="instance" >>> instance="fr-form-instance"/> >>> <xf:action ev:event="xforms-ready"> >>> <xf:send submission="preload-submission"/> >>> </xf:action> >>> <!-- Main instance --> >>> <xf:instance id="fr-form-instance"> >>> ..... >>> >>> Here's come the fun: >>> >>> I publish my form, then from another pc, I enter the URL of my form: >>> >>> http://myip:8080/orbeon/fr/test/test/new >>> >>> It asks me my login and password, then I enter some data like "blablabla" >>> in an input field, then clik on the custom save button. I check in the eXist >>> database, the file is well created, with my "blablabla" data. >>> >>> I close my browser, then start again to see if my form is filled. I enter >>> my login/password, then... -> Nothing, no "blablabla" :-( >>> >>> I keep my browser open, open a new tab, then try again >>> http://myip:8080/orbeon/fr/test/test/new -> No login nor password needed >>> (make sense), but still an empty form. >>> >>> I close one of the tab, then try again... And surprise, I find my >>> "blablabla" data. >>> >>> So, it seems that closing a tab has some effect, but I'm a little lost >>> here... Does anyone have an idea about this ? >>> >>> Thank you ! >>> >>> Lomobob >> >> > > > > -- > You receive this message as a subscriber of the [hidden email] mailing > list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > OW2 mailing lists service home page: http://www.ow2.org/wws > -- Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hi,
Yes, I defined properties: <property as="xs:string" name="username" value="loginthatworks"/> <property as="xs:string" name="password" value="passwordthatworks"/> And after trying again a lot between yesterday and now, I have to take back what I said earlier; none of the solutions are working. Even the save-submission process works only after 3 shots (on the 2 first one, it generate a file name ".xml" instead of "loginthatworks.xml")... Yesterday the save-submission process worked because I did from the machine on which I installed orbeon. Lomobob On Thu, Mar 7, 2013 at 11:15 PM, Alessandro Vernet <[hidden email]> wrote: Hi Lomobob, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Hi Lomobob,
Did you get a chance to try renaming that "password" property to something else? This since, as mentioned previously, for security, Orbeon Forms won't let you access any property that has "password" in its name. Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hi Alex,
Yes, I tried "psd" instead of "password", but it didn't work (I mentionned it above, but I guess I wasn't clear, sorry about that) Actually, we managed to get through it, with this code: In the properties-local.xml, we defined those: <property as="xs:string" name="logvar" value="loginthatworks"/> <property as="xs:string" name="psd" value="passwordthatworks"/> <property as="xs:string" name="server" value="http://myip:8079/exist/rest/db/orbeon/fr/test/test/data"/> We also defined a config.xml file in the folder orbeon/WEB-INF/ressources, that contains this code: <?xml version="1.0" encoding="UTF-8"?> <config> <logvar>orbeon</logvar> <psd>orbeon</psd> <server>http://10.20.111.47:8079/exist/rest/db/orbeon/fr/test/test/data</server> </config> And in the source code of Form Builder: <xf:instance id="config" src="oxf:/config.xml"/> <xf:action ev:event="xforms-model-construct"> <xf:insert context="." origin="xxf:set-session-attribute('namevar', xxf:get-remote-user())"/> </xf:action> The saving part: <xf:submission id="save-submission" method="put" ref="instance('fr-form-instance')" replace="none" resource="{xxf:property('server')}/{xxf:get-session-attribute('namevar')}.xml" xxf:username="{instance('config')/logvar}" xxf:password="{instance('config')/psd}"> <xf:message ev:event="xforms-submit-error" level="modal"> Error </xf:message> </xf:submission> The preloading part: <xf:submission id="preload-submission" serialization="none" method="get" resource="{xxf:property('server')}/{xxf:get-session-attribute('nom')}.xml" xxf:username="{instance('config')/logvar}" xxf:password="{instance('config')/psd}" replace="instance" instance="fr-form-instance"/> <xf:action ev:event="xforms-ready"> <xf:send submission="preload-submission"/> </xf:action> With this, we could achieve the goal of creating files with the name of the user, but we still don't understand what was the problem with the first method... If you want, I can send you the code. Now, we have another problem, that is similar to the goral sent you, about the pruning. With the default <fr:save-button/> the data are all saved, even the non-visible one; with our custom method, it doesn't work. I tried to add the line <property as="xs:boolean" name="oxf.fr.detail.send.success.prune.*.*" value="false"/> or this one <property as="xs:boolean" name="oxf.fr.detail.send.success.prune.*.*" value="false"/> in the properties-local.xml, but with no result. What would be the good syntax ? Thanks Lomobob. On Fri, Mar 8, 2013 at 9:39 PM, Alessandro Vernet <[hidden email]> wrote: Hi Lomobob, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Hi Lomobob,
I'm glad you solved the issue with the password. About pruning, it doesn't apply to saved data, but to data sent to a service through the workflow-send button. And in 4.0 pruning happens by default, and can be disabled. In 3.9, there was no pruning (that feature wasn't implemented yet). Does this make more sense? Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Ok, so is there a solution to save all the data and not only the visible part based on this code ?
<xf:submission id="save-submission" method="put" ref="instance('fr-form-instance')" resource="{xxf:property('server')}/{xxf:get-session-attribute('namevar')}.xml"replace="none" xxf:username="{instance('config')/logvar}" xxf:password="{instance('config')/psd}"> <xf:message ev:event="xforms-submit-error" level="modal"> Error </xf:message> </xf:submission> Lomobob On Tue, Mar 12, 2013 at 7:25 PM, Alessandro Vernet <[hidden email]> wrote: Hi Lomobob, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Hi Lomobob,
What I said about the pruning applies to the default buttons provided by Form Builder. If you write your own XForms submission, then it is per the XForms spec: you can specify if pruning happens with the relevant="true | false" attribute. The default is true (pruning is done), and you can set add relevant="false" if you don't want pruning to be done. (And yes, XForms is confusion here as relevant="false" means "include the non-relevant nodes"). http://www.w3.org/TR/xforms/#submit Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Free forum by Nabble | Edit this page |