Deploy workflow processes in intalio server - deployment

I'm done building processes and intended to deploy into intalio server. it already success deployed,but the form that I've been develops using ajax form did not append to the workflow processes. anyone knows how to make that form appear on workflow processes?
both several task such as init process and create or complete already done. I've been assign role in workflow too. i create three types of form. submit form, validate form, and processing form. and the role was student, department, and academic.
the submit form already shows in monitoring workflow. and when I assign module to the specific user, in this case student, it already works. however, the rest of form (validate form and processing form) does not appear both in monitoring workflow and after assign to department and academic it doesnt not appear.
I think the process actually almost the same like the intalio tutorial. rite now, I make the user only two, student and department to make sure that the submit form and validate form run smoothly. but still, the validate form doesnt appear.
thanks

If you go into Administration>Monitoring>Processes. Can you see any of the processes in the Failed state? It sounds like the process is either failing or not getting to the point where that form would be triggered.
You can click on the number in that column and it takes you to a list of failed instances, or click on the number in the in progress column to get to instances still running. Click on the text in the Process column to get at the actual error. You can also see a diagram of the instance, this sometimes help to figure out where exactly it failed (clicking on the little gears in top left on the diagram colors the tasks that have been executed to green)
Hope this helps.
Cheers.

Related

Need Script Code for Automating Emails Based on Cell Input in Google Sheets

I am trying to create a script that will auto-email a person. Basically, this sheet is going to have a list of items and track those items, and I need to assign each item when it comes it. When I assign it to a person's name, I want the script to then email that person. There are only about 15 people, but I assume I would need a script for each person aka if I put "Sally" in the sheet, there is a script to now email "Sally" to say she has been added to this task.
Ideally, I would like a way to also generate an email again to "Sally" if I update her task, add a comment to it, or do another input to do some sort of follow-up.
Any help would be appreciated immensely!
It wont be good to directly post the complete solution but I will mention the required functionalities which I get in my mind , please use them to solve your task:
onEdit(e) - use this to trigger a particular set of functions whenever a particular range or cell value is changed(it may be automated or manual both can trigger this function) look into the official documentation for how to detect the changes occurred in which cell(https://developers.google.com/apps-script/guides/triggers)
once the new task is assigned to a person(for first time) send an email to that person using GmailApp(install the library in app script) , get the ThreadById of this email and store it into the sheet along the same row, if any changes are made afterwords like adding comments or something,use this threadId to reply to the same email using "thread.reply"(How do you reply to email thread with google Mailapp?)
I think you have also asked how to make the system dynamic, I mean you are right now coding as if each member needs a code for his/her entry. Please study a bit deeper you will easily find an approach to make it dynamic using the onEdit and some for loops as the way you are thinking is not recommended in automation scenarios.

Add a user comment in a crystal report at run time

Our ERP system uses Crystal Reports to generate Company Stationary, which is used with an automail process to send out via email
In this case a user has ask if they could, at run time, type in a message on a Customer Statement, for example "Hi here is your statement please see invoice 00022 this is the one with the query". Clearly this message may not always be required and would be different at each run.
The only method to do this I have found is to use a txt parameter, but the problem is the input box at run time does not explain with the text typed, so if you make a typo you can not see it.
Can this be done with a pop up box in code?
I have looked for examples but not found anything
This isn't something that Crystal itself supports. It's read-only: Once a report is loaded, it's done calculating. If you refresh it, it performs the same calculations.
Like you said, you could use a text parameter where the user could enter a single clump of notes. In theory you could even include a parameter where you enter the invoice numbers that you want the message to appear next to. But that opens the whole can of worms regarding "How do I error check this?" and "What if the invoice number is in the wrong place?"
In short this isn't something you'd want to attempt in Crystal. If this report is launched by an app you developed, I'd try to make it a feature in the app. But reports are effectively read-only, and short of writing your own SQL commands, you'll have a bad time trying to write with a read-only system.

How can I identify users completely read / viewed all lessons for a particular course in Moodle

How can I identify users who completely read / viewed all lessons for a particular course in Moodle?
I created one course and enrolled 3 users in it, created course have 10 topics, each topic contains some information.
I configured mobile app and connect to it.
I got the course information correctly, but I didn't get any information about users completely viewed all lessons/not.
Moodle provides any options for tracking lesson.
You have a lot of options here. I will provide a few answers on how I monitor my students.
First: Enable "Activity Completion" criteria inside your course modules. You can decide if you want a module marked as complete after simply viewing once, spending a set amount of time viewing, reaching the end of the lesson, or achieving a certain grade. You can access these options when editing the settings for a module. Scroll to the bottom to find it.
Then: Run various reports inside you course. Logged in as an admin, do the following:
a.) Go to the course you created
b.) In the "Administration" block on the right, expand "Reports"
c.) Look through them all - the ones I think you will find interesting are "Course completion" and "Activity completion"
Beyond that, you can also view the individual progress of each student by looking in the "Navigation" block under "participants".
If you'd like to go even further, you can create very nice custom reports using this Moodle add on: https://moodle.org/plugins/block_configurable_reports
Note: When you configure the "Activity Completion" options of a course, Moodle will not immediately update the status based on what students have already done. This happens as part of the Moodle scheduled tasks that you need to configure to run automatically. I have mine run every hour on a Linux host by doing the following:
# set up moodle tasks to run automatically
sudo echo /usr/bin/php /var/www/html/moodle/admin/cli/cron.php > /etc/cron.hourly/moodletasks.sh
sudo chmod +x /etc/cron.hourly/moodletasks.sh
The above will create a schedule tasks for all of your housekeeping items, like updating Activity Completion. It will run every hour, but you can run it manually when testing as well.
I hope this helps, have fun with Moodle!

Create a Google Form (or similar) that verifies Student ID before submission

Context:
I teach at a university with mostly monolingual, English-speaking teachers, and students with mostly Russian and Kazakh names.
I want to create a simple form (like this https://docs.google.com/forms/d/1zo0vSfrH-xIosENy1wVjOd_VvPL5LL6UX6g4VqIPFn0/viewform ) that would keep track of reports of plagiarism on a Google Sheet (like this https://docs.google.com/spreadsheets/d/1h2nAvCq31xumi4SvjMvWWp8RR7ppJ_NtLCiuvrLqVkc/edit?usp=sharing )
Having the English speaking teachers type in Russian and Kazakh names would likely lead to mistakes. There are too many students at the university to choose them from a drop-down menu, and would be too many teachers and courses to create separate Google Forms for all of them, or to use Google's branching page choices (it would require creating hundreds of pages). So I would like instructors to be able to type in the Student ID # and their own Instructor ID #, and then have some way to verify that they have typed that information in correctly (so we don't have the wrong students being penalized, or penalties that don't get assigned to any student at all).
Questions:
1. Is there any possible way (via scripting, an add-on, etc.) to have Google Forms take the Student ID from Page 1, then look up the student's name on the Student Info tab of the Google Sheet and insert it into the text field on the second page of the Google form, so the instructor can verify it's the correct student? (Or any other technique anyone can think of that would allow a Google Form user to verify that they had entered the correct data, or help manage the massive number of choices of students in a university of several thousand students.)
If (as I'm afraid), there is no way to do it with Google Forms, can anyone suggest a Form creation platform that would do something like this, and that would integrate with Google Sheets or something similar?
Any help would be appreciated. Thanks in advance.
If you are open to doing it differently I'd go this route...
1) Use a short answer box and allow edits to answers.
2) Put the onSubmit() trigger into the sheet. When a submission comes in, send a follow up email to the person with the ID that they typed and the student name that it corresponds to. Let them know that no action is required if that is correct. If it isn't correct, they should edit their response with the edit response link which you can get using getEditResponseUrl(). I'd call it done right here and only worry about additional features if they are needed. It isn't as ideal as verifying at the time but would get the same thing done for people that can't keep their IDs straight. :-)
3) But... if you have people that keep messing up and they don't fix their issues or whatever, add a link in the email to confirm that the entry is accurate. If it isn't then a weekly/daily task runs that deletes any entries that haven't been confirmed and are older than Y days.
4) Alternately, instead of verifying what they type, give them drop down lists made up of a combination of student ID and name. I'd have multiple lists, depending on the number of active students. One or many though, make a script in the sheet that updates the dropdowns in the form either on edit or by manually running the script, either from a menu item or by attaching it to an icon on the page where the IDs/names are at. They should see 12345 - Joe Smith as the option and can find the right one if that student name doesn't match the ID they thought they should use.
I have a script like #4 that I use to populate a form with updated products whenever the list changes. I tied it to a big red button JPG to help the end users remember to run it when they change something, as a menu option didn't work and running every time there was an edit was too much.
If you list of students/IDs also includes the teachers/classes/etc you could even do custom forms for each staff member that uses the form that only populates their students. Not sure how many staff you have so that might not be practical. Though again, once you have the script and the data is accurate, updates are a single click.

How can I track metrics on who does code reviews in JIRA?

I'm working on a project that's got a great JIRA setup and awesome buy-in of everyone for the agile development process. The issue I'm having is that tickets stack up in code review. I'd like to be able to see who code reviewed what, much like I can see who has closed out which tickets.
I know that metrics are there to be used for good and not evil, so I want to do this to ensure that people spending time code reviewing are properly credited instead of that time not being recognized at all.
Currently, everyone who does code review assigns themselves to the ticket (which is unassigned upon being placed into the "Ready for Review" workflow state), so at some point there is a record of them working on it. Is this a good way to track the reviewers and is there a way to get aggregate information this after the fact? If not, is there a better way of representing this information in JIRA?
Thanks!
A simple solution would be to add a custom field called 'Code Reviewer' of type select a user. You would be able to search on that and report on it.
You could workflow it so that when the issue is transitioned out of your 'Code Review' status a window pops up containing only the "Code Reviewer' custom field to be completed.
What you need to do:
Create a new custom field - this is done in the 'Issues' configuration menu. Ensure your custom field uses the 'select a user' type.
https://confluence.atlassian.com/display/JIRA/Adding+a+Custom+Field
Create a new Screen - this is also done in the 'Issues configuration menu. On your new screen you need to make sure that the only field that is visible is your new custom field.
https://confluence.atlassian.com/display/JIRA/Defining+a+Screen
Edit your workflow. Find the transition from out of 'Code Review' and associate it with your custom screen.
https://confluence.atlassian.com/display/JIRA/Configuring+Workflow
The result will be that when a user transitions out of 'Code Review' they will have the custom screen pop-up. They can then select the name of the person who did the code review and this will be populated in the custom field.