Bug 1048646
| Summary: | Certain variable names result in a corruption of business process | ||
|---|---|---|---|
| Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Babak Mozaffari <bmozaffa> |
| Component: | jBPM Designer | Assignee: | Tihomir Surdilovic <tsurdilo> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Sona Mala <smala> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 6.0.0 | CC: | kverlaen, lpetrovi |
| Target Milestone: | CR1 | ||
| Target Release: | 6.0.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-08-06 20:07:41 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Attachments: | |||
Created attachment 845875 [details]
Server log showing the error during save/build as well as the error when attempting to reopen the process
Created attachment 845876 [details]
Screenshot when trying to reopen the process
Created attachment 845877 [details]
Screenshot of details when trying to reopen the process
Yes this is a global problem that has been carried over from the ruleflow days - we add "Input" and "Output" at the end of data input and output names. This is done to help resolve issues with naming conventions but in this case it actually causes problem because of the applicationOutput data output name. If you look at the generated bpmn2 what happens is that both assignments end up being data output assignments because of it which causes the problem. I would suggest that we document this (I will add to documentation and commit) rather than trying to resolve this problem because it helps in most cases (except this one :) ) I would suggest to use "In" and "Out" rather than "Input" and "Output". I think that should be the overall suggestion in the documentation too. we have changed the default behavior of designer to use "InputX" and "OutputX" instead of Input/Output. This should make this use case a lot less possible to establish by users. fix in designer master and 6.0.x branches I verify that keywords "Input" and "Output" was changed to "InputX" and "OutputX" in 6.0.0 CR1. Step to reproduce does not fail. But a problem with using the keywords is still present. I will create more complex bugzilla about this issue. |
Created attachment 845874 [details] Unzip and use the .git directory in it as a repository to clone Description of problem: The use of "applicationInput" as a task input variable name allows the process to be saved in the web designer with no apparent error, but the server log shows an error and the process is corrupted so that it cannot be opened again. Version-Release number of selected component (if applicable): BPMS 6.0 ER7 on EAP 6.1.1 How reproducible: Consistent Steps to Reproduce: 1. Clone attached repository. 2. Open the process (TestFormProcess) 3. On the third node (user task node), add "applicationInput" and "applicationOutput" as input and output data set respectively, of type "com.redhat.bpms.examples.mortgage.Application". 4. Create an assignment from process variable called application, mapped to applicationInput. 5. Create an assignment from applicationOutput to the application process variable. 6. Save the process and observer the server log as it appears to successfully save. 7. Try to reopen the process. Actual results: Process cannot be reopened. Error in server log says "cvc-id.1: There is no ID/IDREF binding for IDREF 'applicationInput'.". Process is corrupted. Expected results: If applicationInput is a reversed keyword, this should be documented and the designer should prevent its use. Additional info: