Hi, is there a guide or how to that explains how to update the version of a Orbeon project already done?
Thanks, greetings! |
Administrator
|
I don't think we have a proper migration guide.
Does that project use Form Builder/Form Runner, or is it custom XForms? -Erik |
The project uses Form Builder, is helpful any advice.
Thanks, Jorge |
This post was updated on .
In reply to this post by Erik Bruchez
CONTENTS DELETED
The author has deleted this message.
|
Administrator
|
In reply to this post by jsaiz
Hi Jorge,
When upgrading, if your forms are build with Form Builder, unless you made changes in Orbeon Forms itself, usually you just need to migrate your properties-local.xml. If you are using the embedded eXist, you also need to migrate the content of the eXist database, so the new version can find the forms and data. If using MySQL or Oracle, you'll need to update your schema; see the corresponding 4_3-to-4_4 DDL here: https://github.com/orbeon/orbeon-forms/tree/master/src/resources/apps/fr/persistence/relational/ddl Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Administrator
|
In reply to this post by jsaiz
Hi Jorge,
Are you by any chance using Oracle for persistence? If that is the case, then this is because with 4.4 (and 4.4 only; we fixed this in 4.4.1 and the upcoming 4.5), you need 2 additional jars along your JDBC driver. You can either add those, which you can get from the URL below, or if you're on the PE version, use the 4.4.1 PE. https://github.com/orbeon/orbeon-forms/tree/master/lib/oracle Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
on property:
<property as="xs:boolean" name="oxf.fr.detail.new.accept-post.*.*" value="true"/> in version 4.4 is obsolete, but which would adapt, I'm looking at the wiki, but do not understand the solution I've found if you can help ... thanks |
Administrator
|
Hi Jorge,
I imagine you'd like to post an initial instance to a form, is that correct? If this is the case, did you already go through the section "Enabling with Orbeon Forms 4.0" linked below? http://wiki.orbeon.com/forms/doc/developer-guide/configuration-properties/configuration-properties-form-runner#TOC-Initial-instance-posted-to-the-New-Form-page Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
No, did not know, how could implement that option?
On the home page of Orbeon 4.4, paragraph form runner does not work, turning, what should I do? this is responsible for activating and making visible forms right? thank you very much |
In reply to this post by Alessandro Vernet
Hi, this error with version 4.4 appears to me, any ideas? which file you must change the instance type? 2014-01-22 17:47:07,969 ERROR XFormsServer - xforms-submit-error - setting throwable {throwable: " +----------------------------------------------------------------------------------------------------------------------+ |An Error has Occurred | |----------------------------------------------------------------------------------------------------------------------| |Body received with non-XML media type for replace="instance": text/plain Thanks! |
Administrator
|
The first question here is, which submission is failing? What this means is that there is, somewhere, a submission which expects XML, but the HTTP response provided does not return an XML content type.
Do you see more in the logs which could identify the failing submission? -Erik |
Hi,
the problem is that it does not change the file type, to make it more clear, I attach a full log. log.txt I do not understand why this error thank you very much |
Administrator
|
Hi Jorge,
What is happening isn't clear to me. It looks as if the persistence layer didn't return an XML document. Are you doing anything special to get this error? That is, how can we reproduce it here? If you don't see how we could reproduce this, maybe you can try to change your config to increase the log level (see section linked below), try again, and send again the log file. http://wiki.orbeon.com/forms/doc/developer-guide/xforms-logging#TOC-Development-configuration Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hello,
finally, we are going to wait until the versión 4.5 of Orbeon to update it from 3.9.1. But now, we have to work with the 3.9.1 versión, and we have to configure the security of the application. There are some urls that they shouldn't be accesible from outside. As an example: http://host.es/orbeon/fr/app/QuejasSugerencias/edit/c40ebb703fe9fe5b1e16aa425d4f2378 http://host.es/orbeon/fr/app/QuejasSugerencias/view/c40ebb703fe9fe5b1e16aa425d4f2378 http://host.es/orbeon/fr/app/QuejasSugerencias/edit/7a1574bf707958112eebfc4a3f54c16e http://host.es/orbeon/fr/app/QuejasSugerencias/view/7a1574bf707958112eebfc4a3f54c16e Is there any way to configure this? I think in the version 4.0 and newer this is posible, but is this possible in the version 3.9.1? Thanks and regards. |
Administrator
|
Hi Jorge,
Like you said, 4.x does this out-of-the-box. With 3.9, you'll need to do this either in the web.xml or on a front-end, say Apache. There are a few things you can do in the web.xml to protect URLs, but unfortunately, the web.xml syntax to match paths is very restrictive. So if you need more, you'll have to do it in Apache (e.g. with mod_rewrite), or if you don't have a separate front-end with a filter like UrlRewriteFilter. http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/access-control#TOC-With-Orbeon-Forms-3.9 https://code.google.com/p/urlrewritefilter/ Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hello, I tried the option to restrict the url in the web.xml, but I still have visibility to the form ... I do not know if I may be missing something, could you show me an example configuration so that other people can not see the forms?
This is my current setup: <security-constraint> <web-resource-collection> <web-resource-name>Forms history</web-resource-name> <url-pattern>/fr/myapp/*/*/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>Admin</role-name> <role-name>admin</role-name> <role-name>administrator</role-name> <role-name>Administrator</role-name> </auth-constraint> </security-constraint> And this is an example of the url of the form: http://myhost.es/orbeon/fr/myapp/QuejasSugerencias/view/20b81c6d5ee06a87a5db3b0aaae0e96d Thanks and regards |
Administrator
|
Hi Jorge,
You can't have multiple /* at the end of the url-path. But in your case just having /fr/myapp/* should work, if you want to match anything related to "myapp". To see exactly what you can use there, see section 12 of the servlet spec: http://download.oracle.com/otn-pub/jcp/servlet-3_1-pr-spec/servlet-3.1-pdr.pdf Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hi, I tried those settings and effectively restricts access to all forms. The problem is that I want to restrict only those forms that are in the path "view" or "edit" and that which are under "new" should be visible for everyone.
Example: http://myhost.es/orbeon/fr/myapp/QuejasSugerencias/view/20b81c6d5ee06a87a5db3b0aaae0e96d --> securized http://myhost.es/orbeon/fr/myapp/QuejasSugerencias/edit/20b81c6d5ee06a87a5db3b0aaae0e96d --> securized http://myhost.es/orbeon/fr/myapp/QuejasSugerencias/new?fr-language=es --> visible for everyone Thanks and regards. |
In reply to this post by Alessandro Vernet
Hi, sorry for the inconvenience, but you have any suggestion to apply this configuration set?
Thanks and regards. |
Administrator
|
In reply to this post by jsaiz
Hi Jorge,
You can't do this with the syntax in the web.xml alone. You either need to upgrade to Orbeon Forms 4.x and use its built-in permissions mechanism to say that anonymous users can access the new page but require a specific role to access any other pages, or do this in a servlet filter, like UrlRewriteFilter. http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/access-control#TOC-Since-Orbeon-Forms-4.0 With UrlRewriteFilter, you could do this with the following urlrewrite.xml: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd"> <urlrewrite> <rule> <from>/fr/[^/]*/[^/]*/(edit|summary)</from> <condition type="user-in-role" operator="notequal">bigboss</condition> <set type="status">403</set> <to>null</to> </rule> </urlrewrite> Here I am saying that for any app name, any form name, if the user is trying to access the edit or summary page, and it doesn't have the "bigboss" role, then return a 403 Forbidden. (Note that this won't work if you're using the review functionality, which internally does a POST to the review page. Let me know if this is something you need.) As you can see, what you have in the <form> is a regex, so you have quite a bit of flexibility there. UrlRewriteFilter is very simple to add: just put its jar in WEB-INF/lib, and add the corresponding filter and filter mapping to your web.xml, as in: <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> <init-param> <param-name>confReloadCheckInterval</param-name> <param-value>0</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> You'll let us know if this fits your use case. Alex
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Free forum by Nabble | Edit this page |