From PresenceWiki
Revision as of 08:20, 18 March 2009 by Mattpryor (Talk | contribs)

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.

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.

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.

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

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

Where possible, embed tasks 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.

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.