Thanks Saminda! It is a great and convenient improvement to support auto. Following is my understanding about auto implementation. Please clarify if your understanding is different.
Each time when a request comes, application tries to connect to online schema. If it fails to connect online schema, validates schema using offline. It's a combination of both online and offline validation where it falls back to offline validation in case of connection failure in online validation. I have modified the build to copy the schema from resources/schema in commons/gfac-schema module. I think "airavata-gfac-schema-utils" also copied the schema from the same location. Is there any particular reason such as possible post processing to copy it from the jar file ? I'll update the "modules/rest/webapp" and "modules/integration-tests" to use the same mechanism. I might need some help to test these modules. I have tested the solution only with XBaya and Airavata Server modules. Thanks Sanjaya On Fri, Aug 16, 2013 at 7:10 AM, Saminda Wijeratne (JIRA) <[email protected]>wrote: > > [ > https://issues.apache.org/jira/browse/AIRAVATA-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13741800#comment-13741800] > > Saminda Wijeratne commented on AIRAVATA-893: > -------------------------------------------- > > Hi Sanjaya, > > Thanks for taking initiative to fix this. Nice work on preparing the > patch. I have some suggestions which you can improve on it. Apart from the > improvement Suresh has mentioned do you think you can update the patch to > have a order of preference of selecting online/offline automatically? The > reason is that unless we educate users of this setting in the property file > ("offlineModeEnabled") users may not know that they are required to update > it when they loose or gain Internet connectivity. > > So my suggestion is let, > offlineModeEnabled=auto|false|true > > and when "offlineModeEnabled" is "auto" (or null) check if the schema url > is accessible over Internet and if not use the local schema files which > you've setup. > > Also inorder to dynamically copy the schema files during the build time > use the maven dependency plugin to retrieve the > "airavata-gfac-schema-utils" jar (which will be built before any of the > distributions) and extract it to a temporary location and copy the schema > files using an ant task in the maven ant plugin. (Let me know if you need > any help doing this) > > Notice that the "modules/rest/webapp" and "modules/integration-tests" will > also require the schema files. > > > Support for offline Schema validation for Airavata workflow Creation and > Execution > > > ---------------------------------------------------------------------------------- > > > > Key: AIRAVATA-893 > > URL: https://issues.apache.org/jira/browse/AIRAVATA-893 > > Project: Airavata > > Issue Type: New Feature > > Components: Airavata Client, Workflow Interpreter, XBaya > > Affects Versions: 0.8 > > Reporter: Mawathage Sanjaya Priyadarshana Medonsa > > Priority: Minor > > Fix For: WISHLIST > > > > Attachments: fix-AIRAVATA-893.patch > > > > > > As per the current implementation Schema validations happens online. > Internet is required to create workflows and execute them, just because of > the schema validation. This could be an issue, if Internet connection is > slow. Proposed solution is to introduce offline mode. If offline mode is > enabled schema is validated against local schema repository. These schema > validation occurs on both Airavata server and XBaya. > > Schema Repository - Top Level folder schemas on each installation > > Offline configuration - It could be an property on airavata > client/server properties > > -- > This message is automatically generated by JIRA. > If you think it was sent incorrectly, please contact your JIRA > administrators > For more information on JIRA, see: http://www.atlassian.com/software/jira >
