Design of Pipelines

Types of pipelines

How do one chooses when to put multiple matchers in one pipeline vs splitting them in separate pipelines.#1

Two performance hints

Sub sitemaps

So the more matchers you have (to match to a pipeline or various paths within a pipeline) your going to have a large series of if/else statements. And... since this uses string compares and wildcards and... if there's alot of these if else if statements it will lead to performance issues. It may help to break things up with sub site maps to help limit the searching.

Order

Or put the most likely pipelines to get hit first and the least likely last....

Make search hierarchical

Since you can match inside a match, you can also do this.
To get to match2-3 you need 8 matches

match1-1  | 1
match1-2  | .
match1-3  | .
match1-4  | .
match1-5  | .
match2-1  | .
match2-2  | .
match2-3  v 8

But you can do:

match1      | 1 
  match1-1  ! x 
  match1-2  ! x 
  match1-3  ! x 
  match1-4  ! x 
  match1-5  ! x 
match2      | .
  match2-1  | .
  match2-2  | .
  match2-3  v 5

And have 5 matches

Sources:
http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=103452510908029&w=2 by Reinhard Pötz
http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=103456246532001&w=2 by Mark Delanoy
http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=103457872807696&w=2 by NicolaKen

-- Reinhard Pötz


Readers comments

So as long as your pipelines have the same characteristics regarding theese points down below, there are no reasons to spread your pipelines in different pipeline elements and you can spread them in different match elements into one only pipeline element. -- Gabridome

DesignPipelines (last edited 2009-09-20 23:42:04 by localhost)