You may or may not need to add your own 'contexts' to the panel. Some context is already built in – so for example if you have a 'node template', then the 'node' context is already there in the panel.
The context is basically data which is available throughout the panels. If you go to the 'contexts' tab and look down at the bottom, you will see a huge list of data available.
You'll see quite a few places in panels which allow this kind of usage. You will see others (such as input to Views Arguments) where a drop down list of all the context data is available. Even more powerfully there are some places you can enter your own PHP code and access this context data.
In some cases you will find the standard context data isn't enough. For example we want to pass the all the taxonomy terms of the page to the view. The node has the standard %node:term-id for just the primary term. So we need to get the 'taxonomy term' context added into the panel.
Go to the 'Contexts' tab. Here you will see the following screen:
There are 2 categories of context – plain vanilla and relationships.
Whichever you add, simply creates a new bit of contextual data to work with. The end result is the same – each is just a context.
We want to have the taxonomy terms related to our node, so we select (under the relationships heading), multiple terms from node (which are all the terms associated with the node)
We then click 'add relationship' which just adds this as a context. You get a configuration dialog.
These values are now available as references (using %terms:XXXX) or in our case to our view. When we go back to our 'content' tab and choose to 'Add content' and add a view (in this case our testimonials view which takes an argument of taxonomy term id), we get this dialog box:
That's pretty much it – your content is now very dynamic.