Is it possible to view an already filled form in a review step ? I have created a simple workflow, where the process starts with the user filling in a form. The filled form gets assigned to another user(lets call the user ABC) for reviewing. Is it possible for ABC to view the form filled by the user ? I am using the kickstart app to create a business process model.
You will have to copy the variables from the task with "fill form", to the task with the "review form", via the workflow Executioncontext. The var names in activiti (my_property) are then mapped to the var names in the alfresco content model/share forms (my:property) (but by substituting the ":" sign to a "_" sign).
You can do the copying of vars between tasks using TaskListeners in your bpmn2.0 file. See more here http://docs.alfresco.com/5.1/concepts/wf-process-def-listeners.html
The gui from Activiti kickstart (AFAIK) is too limited to do this for you.
When you want to assign a prefilled form for review to next stage in workflow process, you can use the form field called "Display Value".
Add the 'Display value' from the form field options. Press 'Pencil' icon to update the display value.
From the dropdown list, select the form field values that is to be displayed in the review form.
Display Value Activiti
Related
I'm on magnolia 6.2.15 and I need to generate data from some fields that users insert in a content detail subapp.
I thought about creating a subclass of magnolia "SaveDetailSubAppAction", in the "execute" method to do the job.
I can retrieve fields value but, how can I generate new fields data values and insert that in the form before validation and commit to jcr datasource?
Well you can't. Or rather you shouldn't. The form is means for user to enter the data. If you create data programatically, you either send it directly to the datasource or store it directly on the node that datasource operates on.
If you want to show generated data to user for approval prior saving, then you need to create custom field that would have the place for extra input and would react on user generated input directly prior to saving content.
I am new to OrangeHRM 3.3.2 I need to add new field in the Personal Details. I need your help. Thanx
You can add fields to your OrangeHRM application by doing one of these.
1) Edit the database to contain your new field. Then edit the application form template using a new ohrm_widget (ohrm widget means an input field in the OrangeHRM system (ex. Test Field, Calendar, Dropdown, etc.)) and edit the controller function to pass your data to the backend. Then complete the DAO layer function to save your data at the database.
Ex:
If you are going to add a preferred name field for employees, then,
Add the preferred name column to the data table
Add the new preferred name input field to the form template
Add the new parameter in the controller layer to pass it to the backend
Complete the DAO layer function to save the preferred name parameter in the data table
2) In OrangeHRM 5.x you have the support from the application itself to create the custom fields for your entities. (I don't know about the 3.x versions.)
I'm trying to create a view of approval tasks that also includes a column from the related form library. I have tried creating a linked data source between the tasks list and the form library, but have trouble finding much information on creating linked views with the task list.
I have tried:
http://deannaschneider.wordpress.com/2012/07/25/joining-the-task-list-with-related-content-in-a-dvwp/
without luck - it just tells me "there are no items to show in this view." which I assume means it couldn't be joined correctly with the specified table.
I am using the standard approval workflow.
Here is the closest solution I've found so far
1.) Create task form fields in SharePoint designer.
2.) Go into Approval(1) to add the task form fields.
3.) Click 'Change the behavior of a single task'. Add 'Set task field' action in the Before a task is assigned section to set the task form fields to get the value of Current Item:ID.
4.) Use the new task field to create your subview on your linked datasource
While not optimal - and it created me many different problems - I was able to create the view desired.
Hopefully someone will come up with a better solution.
I am importing/updating nodes from a web service using node_save. One feature that I want to achieve is when the imported node is changed locally, it should not receive any further updates from the web service.
So, what I want to achieve is:
Detect when a node has been updated
If the update was carried out by a user submitting a form (as oppose to programmatically)
Then flag that this node should receive no further updates form the web service (I don't need any assistance with this part)
I wanted to use hook_node_update but I'm not sure how to tell whether the update was carried out by a user submitting a form.
Any suggestions?
During CREATION of node by user (initial setup):
Create a hidden field for nodes with default value to be set to "submitted by user". As its a hidden field it wont be available in the node edit form, but still it will carry the default value with it.
UPDATING of node by user:
Use hook_form_alter to set the value of our hidden input to "submitted by user".
During CREATE/UPDATE of a node using webservice:
When creating a node programmatically update the hidden field value with "submitted by webservice".
Now in hook_node_update you can check for this hidden field value and take decisions accordingly.
I've installed CRM 2011 to see if I can tailor it to our business. We do repairs, I want to be able to book in a contact (client) and then a case and have the clients number and address print on the case form. All I can find are fields relevant to the case and not client, any idea on how I can select them?
To get fields from the contact onto the case form you could -
Create redundant fields on the case form for the fields that you want to port over from the contact, and then edit the mappings of the relationship from Contact to Case to map those fields to the case.
Create a web application that loads contact data and then add it to an iframe on the case form. Make it so that the web application accepts the case id in the query string of the URL so that it can look up the related contact and load its details within the web app.
Add JScript (or HTML resource in 2011) to the case form to load the contact values on the fly. You will have to use SOAP XML (or REST endpoints in 2011) messages to pull the data from the CRM service and then can inject it into the CRM case form's DOM.
Option 1 is the quickest solution but will not be realtime (only comes over when the case is first created and must be related to the contact on creation. Option 1 also adds some database redundancy.
Option 2 is the most supported realtime solution, but also requires the most work.
Option 3 is easier than option 2, but any DOM injection will likely not be supported for future releases.
EDIT
To use the mapping option, go to Settings > Customization > "Customize the System". Expand the Case item in the left hand navigation. Then click on N:1 relationships and open the relationship "incident_customer_contacts". This relationship connects the contact to its cases.
On the relationship window click on "Mappings" in the left hand navigation. This controls what fields are mapped from the case when it is created.
Click new and select the contact field from the left that you want to map to the case on the right. Repeat this for each field that you want mapped. Note that the fields need to be the same types, and if they are option sets, they will have to have the same underlying integer values for each of their options.
Now when you create a new case from a contact (or set the contact during the create), the fields should map onto the case.
Seeing as how Craig mentioned he's using CRM 2011, I felt I'd clarify that for Option 3 of Cole's suggestion, you can also use SOAP Xml against the Organization Service, or just use the REST endpoint and both will be supported. So long as you utilize CRM's Xrm.Page object to display the data on the form and don't do any other DOM manipulation, you should be fully supported.
Another Option, "Option 2b" we'll call it would be to add fields to the form for the data you want to be loaded, then add a plugin registered to the Retrieve of the case entity that would populate those fields on the fly for you. No redundancy other than the fields on the form at that point.
I would personally recommend Option 2b if possible because there will not be any lag in loading the data onto the form, and it provides for minimal data redundancy, minimal service calls, and the least amount of additional customizations.
My option is a lot easy one. All we are doing is using Dialog to create cases and in the dialog fields you can get contact detail dynamically. At the end of the form when you create new case, use this dynamic values to submit in Case form.
We get times when customer tell us that the phone number is changed since last time and this method gives you option to change customer's details on the fly and submit both in Contact Entity and Case entity at the same time.