Community forum

Please note that VisualCron support is not actively monitoring this community forum. Please use our contact page for contacting the VisualCron support directly.


vistisen
2012-08-22T13:55:08Z
Unless I'm missing something obvious, I would love to have logic branching. So that you could have two different workflows that are part of the same job with a condition=true/false branch. I would use this to do things like. Does a file exist if yes move it, send it via ftp and send a mail confirmation. If not, then send a mail and run a batch job. (with the option of looping back to the logic control point to see if the file now exists). This combined with a loop counter would enable business wishes like “get this file from an FTP and if it is not there send a mail to the service desk and try again every 10 minutes for an hour, after which escalate the case” which is easy to understand, to be converted into an easy to use visual cron job, I’m sure that there are people out there who do this with custom code, I do it with VBS ( I’m not proud😊 ), But it would be nice to be able to design in a workflow
Sponsor
Forum information
Brett
2012-08-23T01:33:35Z
I would agree with this - it is possible to do things like this but it is not intuitive or at least not to me - I have struggled implementing this type of control.

Also I would like to see condition tests at the task level not separate - while I can see that it would be possible to reuse some condition statements if they were generic enough - for me they are usually very specific to a given job and task set. SO having them separate becomes a management issue if someone reuses or worse changes one of them.

Brett.
ErikC
2012-08-23T08:20:13Z
Hi vistisen,

This is already possible with the use of conditions and maby a custom variable.

Here's how:

1st set a custom variable to lets say int=0
If a file exist set the custom variable to int=1 (file exist=condition).
The rest of the tasks depends on this custom variable, is it 1 or 0?
You can do this also with conditions.
You have a bunch of tasks for the ftp stuff and some tasks for emailing and your batch process. Every task has a condition to check the value of the custom variable (1 / 0).

Regards,
Erik
Uses Visualcron since 2006.
vistisen
2012-08-23T08:25:40Z
Yes I know but this is not a true branch. If I have two sets of tasks which may have some common elements but are distinct, I end up with one long linear flow with semi invisible condtions based variable values that mean only the relvant ones are fired on any given instance of the task. Not easy to create, edit, mantain og document as a true branch with two seperate strands in a workflow
osirisja
2012-08-23T11:58:30Z
I agree with vistisen - using VC conditions as they are just now are counter intuitive. For a relatively complicated automation environment they are also unmanageable as there is just a single large list of conditions that visually are detached from jobs and tasks and therefore pretty meaningless. There is no way of telling from the conditions which job/task it belongs to.

Having IF/THEN/ELSE or SELECT/CASE structures in a Job provide a logical view of a jobs process and tasks associated with the process.

Cheers

Andy

Support
2012-08-24T07:34:52Z
How would you like it to work?

I think we need to agree on that Conditions are complex in properties and we will never be able to create a one line condition unless we define, in the Condition that if result is that, then return true, else false.

For example, when checking for if a process is running or not on a remote computer we need all properties and actually define it in a Condition. Then define if it should return true or false. We will probably never be able to just write:

IF Process.IsRunning("test") THEN - because Conditions will always be more complex like that.

From what I understand you are willing to use existing Conditions but you want a local instead a global one. Then you might also be willing to skip Condition set (the group of Conditions) and just compare single Conditions.

If this was accomplished it would be interesting:

1. how would the designer look for creating these flows
2. will main listing of Jobs and Tasks be affected or will this just be listed somewhere else.

Bear in mind that the more things we add to main window the slower performance will be as we always strive for realtime update of all values. Also, the interface will be cluttered if we moved condition evaluations to the main screen.

We are open to suggestions and ideas!

Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
vistisen
2012-08-24T08:00:19Z
I must admit to not having thought about how it could be implemented in practice. The quick and easy answer (and the one that is a major recoding job for you 😁 ) is to create a workflow designer rather like the current workflow rendering. What about the possibility of supplying objects (that equate to the various tasks in Visual cron), that can be imported into Microsoft visio, where the workflow can be designed, exported and imported as a job I Visual Cron?
If I try to think about how to do it within the framework that exists today. I would suggest a new task type IF/ELSE with three variable the logical condition (that could in itself be one of the exisiting conditions that have been created) and IF True run jobname, if False runjobname.
So that for a business process that involves an IF/ELSE branch you actually end up with three visualcron jobs the main one with everything that is common to all instances and the logic-choice task, and a result=true subjob, and a result=false subjob. In these jobs there would ideally need to be a return to main job at taskname option so an IF/ELSE branch does not have to extend to the end of the workflow.
The same principle could be used for a CASE task with the logical condition returning a value where for each value there is a VALUE = ‘x’ subjob (and an ELSE sub job to catch unexpected values).
osirisja
2012-08-24T08:28:48Z
My thoughts are that it might well be a lot simpler to implement a simple SELECT and CASE Task, with a Default 'catch-all' Case (effectively provides nested IF/THEN/ELSE on a single level). If a SELECT task exists, then any number of CASE tasks can be defined below it - perhaps linked by a unique ID? i.e. Grouped together in a similar way to the LOOPS are just now.

SELECT should be made on a Variable selection, and CASE statements, as Vistisen has suggested, should simply call another JOB, or perhaps a TASK? In much the same way as Conditions allow just now.

This would give additional functionality hopefully with little processing overhead, be much more visually appealing, but would also allow traditional Conditions to be utilised in the same way as they are now.

Andy
ErikC
2012-08-24T09:17:56Z
Hi,

In the past I posted something about Opalis . This has a different GUI and you can see the arrows between tasks. Every arrow is a condition.

In this GUI you could see all the paths you could walk. Here is an IF/THEN/ELSE easy to implement. Just drag three lines/arrows from the task to one other task and tell when to walk over this line (condition).

Just to give some thoughts here over a totally different GUI.

Regards,
Erik

(Nowadays Microsoft has buyed Opalis and it's called Orchestrator I believe.)
Uses Visualcron since 2006.
matthewlock
2012-08-30T01:36:15Z
Take a look at Finalbuilder for a nice example of a visual programming style of branching and looping:

http://www.finalbuilder....e-Tour/Flow-Control.aspx 

Something like that would be excellent in VisualCron.
ErikC
2012-08-30T08:45:36Z
Hi matthewlock,

Like the link and the 'Switch/Case/Else' over there.
Thanks for sharing!

Regards,
Erik
Uses Visualcron since 2006.
osirisja
2012-09-26T08:31:27Z
Hi Support

Any thoughts on if and when this feature will be considered?

There have been quite a number of very useful feature requests that have been raised over the past few months, such as:

1. DB Trigger
2. IF/THEN Branching
3. Pop up messages and forms
4. DB Connection Strings
5. Master/Slave servers

.....to name but a few.

It would be nice if we had a Roadmap for developments and new features so we could see what is planned and approximate timescales.

Cheers

Andy
Support
2014-09-30T11:29:41Z
Originally Posted by: osirisja 

Hi Support

Any thoughts on if and when this feature will be considered?

There have been quite a number of very useful feature requests that have been raised over the past few months, such as:

1. DB Trigger
2. IF/THEN Branching
3. Pop up messages and forms
4. DB Connection Strings
5. Master/Slave servers

.....to name but a few.

It would be nice if we had a Roadmap for developments and new features so we could see what is planned and approximate timescales.

Cheers

Andy



Please make separate requests. I believe 1,2,3 are complete.
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
osirisja
2014-09-30T12:05:47Z
Hi Henrik

I noticed this was in reply to a post from 2 years ago however you say 1,2 & 3 are complete? I think I may have missed something with '2' (IF/THEN branching) over the last two years? Is there a way now to do this more logically/visually in a job?

Cheers

Andy



Support
2014-09-30T12:56:03Z
Originally Posted by: osirisja 

Hi Henrik

I noticed this was in reply to a post from 2 years ago however you say 1,2 & 3 are complete? I think I may have missed something with '2' (IF/THEN branching) over the last two years? Is there a way now to do this more logically/visually in a job?

Cheers

Andy





Sorry, I was only referring to Flow+Condition Variables in Flow.

Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
mdawson
2014-10-14T17:28:37Z
I picture it like this in VisualCron.

IF/THEN would be a task type. Under the task specific tab in the task dialog, there's an IF section where the user sets up the condition to test and a task grid with buttons to Add/Edit/Delete (child) tasks. There's an ELSE section with its task grid and buttons. Optionally, the user can add an ELSEIF section (which inserts above the ELSE section) with its condition to test and task grid and buttons. The user can add any number of ELSEIF sections and arrange their order, including swapping with the IF section.
In the main job grid, the IF/ELSE task would display and its child tasks are indented to show hierarchy. Loops could be re-implemented in a similar way, as a task with child tasks that display indented in the main grid. The IF/ENDIF could serve like a switch structure, or implementing it could become easier with this sort of implementation worked out. This could also make way for a subroutine task (aside from the run job task).

Example implementations:
http://www.robotask.com/screenshots/edittask.png 
www.winautomation.com  - can't find the image but I believe it has a similar implementation
mdawson
2014-10-15T12:14:11Z
One other thought I had for the task tab in the IF/ELSE dialog. It could have a list similar to one under the Flow tab. The conditions are created (or reordered) in the order they should evaluate until a TRUE condition is reached. Just as in programming languages, the ELSE side is optional. In the list, they would read "IF condition", "ELSE IF condition", "ELSE IF condition", "ELSE", similar to how the text shows for the flow list items. A nice feature for the conditions list would be expanding/collapsing items to reveal the child tasks so the user can see their work as they go.

Double-clicking the item brings up the editor to edit the condition and its tasks. The task grid could be the one used in the Tasks tab in the Job dialog.
osirisja
2014-10-15T14:26:42Z
I agree mdawson - I have always felt (well, following the introduction of LOOPS) that an IF/THEN/ELSE task (and/or SELECT/CASE) was something seriously lacking in Visual Cron and logically, the final piece in this great automation jigsaw. Perhaps it is because of the Graphical tools I usually use for development that I have grown accustomed to this type of logic flow functionality but one thing is for sure, I simply cannot tune myself into adopting the current 'CONDITIONS' functionality because I cannot easily track where, how and what the conditions are used for. In many cases it is actually easier to Clone an entire job.

I have also run a few presentations and workshops on implementing and using Visual Cron at my customers and every single time I am asked "How do we use Conditions?". When showing the existing CONDITIONS I am met with total confusion.

Can I also add that I think support for 'Task Plugins' would be a great addition to Visual Cron, where individuals could write their own very specific tasks, even sharing them on the Forum. That would be a fantastic resource for us all I think? For example, working a lot with XML, I use the XML tasks (to Add XML Tags) and a very simple addition would be a task to apply an XSL(FO) template. Very basic and easily done in script, but if it was used extensively it would make sense as a specifc Task perhaps?

Cheers

Andy



mdawson
2014-10-18T01:19:52Z
I agree. I don't really use global conditions except at the job level, like for environment conditions. I'd much prefer an IF/ELSE task to control conditional task execution.

Thumbs up for being able to develop custom tasks!
Users browsing this topic
Scroll to Top