Contexts are fundamental to CTools, and they almost always start with an argument to a panels page, so we'll start there too.

We first need to process an argument.

We're going to work with a "Simplecontext" context type and argument, and then with a content type that displays it. So we'll start by with the Simplecontext argument plugin in plugins/arguments/simplecontext_arg.inc.

Note that the name of the file (simplecontext_arg.inc) is built from the machine name of our plugin (simplecontext_arg). And note also that the primary function that we use to provide our argument (ctools_plugin_example_simplecontext_arg_ctools_arguments()) is also built from the machine name. This magic is most of the naming magic that you have to know.

You can browse plugins/arguments/simplecontext_arg.inc and see the little that it does.