Organisation

From PresenceWiki
Revision as of 11:19, 19 August 2015 by Rob (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

It's a good idea to organise your Presence Tasks into well defined Categories. For instance reusable Resources can all be gathered into one Category, so that you'll always know where your Resource is.

Another advantage of organising Tasks into Categories is that it is possible to set the task properties for all the tasks in a category via the 'Edit All Task Properties' button when you right click on a category.

Bestusecategoryoptions.png

Often when building a system you have no idea of how it's going to change in the future.

The best way to handle this change is with well ordered tasks and categories so that you know where everything is and what everything does.

To aid change management store common text (eg url to server, company name, company email) in a Global Variable.

Bestusefileservervariable.png

This way, if it changes you just have to make one change to that variable rather than searching for \\serverep\e$\ everywhere and changing that.

Bestuseglobalvaruse.png

Object/Resource reuse. If you're comfortable with SQL then it might be an idea to use a variable ${sql} in an sql query

Bestusesql.png

The ${sql} variable then gets set before the SQL node. Bestusesqltask.png

Bestusesqlvar.png

Where possible, embed tasks Bestusetask.png for reuse. Identify which tasks are repetitive and make them specific where necessary with variables.

Also bare in mind, that once on the queue, tasks are cached and so do not need to be reloaded each time they run.

It may also be an idea to create a 'hub task', where lots of tasks go through. This is especially useful if you have lots of ondemand tasks.

You create a single task and pass a value for the real task you want to run, then use a switch node to call the actual task, this simplifies management.

It also makes it easier to find your tasks (as you can see them in the hub task).

It is then also useful if you need to put a wrapper around the child tasks, such as checking that a user has authority to run the tasks.

Bestusehubtask.png

Keep tasks fairly small for management and performance, split them up if possible into separate tasks.

As tasks get larger the graphical editor will also slow down. Ideally each task should perform one function, which then aids reuse. Annotate tasks for clearer understanding. You may understand what the task does when you create it, but in a months time it may be less obvious.