James Forshaw - 13th February 2013    Tweet
More Flexibility for Scripts
Canape v1.2 brings a number of improvements to the handling and editing of script code to make it easier to work with them. First the UI now exposes the assembly reference list to the user through the script configuration dialog (which only used to show some debug options). You can add numerous framework assemblies (such as System.Windows.Forms, or System.Xml) as well as referencing any assembly you have loaded into the project which allows you easily expand the functionality of scripts with pre-built assemblies which can be ported around with the project.
The other improvement is scripts can now be configured with a set of properties.
These can then be accessed by deriving your pipeline nodes from BaseDynamicPipelineNode (all templates now use this as a default) and accessing it via the Config property.
Finally these configuration properties are exposed in the netgraph editor just like you would expect from a library node.
User Interface Improvements
The UI is one of the defining features of Canape, without it there are other tools which will allow you to perform similar jobs. So as it is developed effort is put into improving the workflow to make it easier to use.
The first improvement is in the way the packet editor works, prior to v1.2 when packets were viewed from a log contained in a service they were marked as read-only. This made it difficult to manipulate them, requiring them to be copied out into a separate packet log so that they could be modified. The new version makes all logs mutable but to prevent you accidentally changing packets you didn’t want to any changes made to a packet needs to be saved. If you don’t like the changes you can also revert them. This is exposed through two new buttons on the viewer (or use the shortcut CTRL+S to save the packet). You can change back to the old behavior if you want in the configuration.
Another addition is the ability to create dockable views of any packet log; this is especially useful when using the network client as the Start button and the log are not on the same tab which meant switching between them all the time. With this new addition you can now just right click the log, select “Open in Window” and you can dock it anywhere you like.
And finally if you install and run Canape v1.2 on a system with a default German system locale you might notice a significant difference, namely that the UI seems to now be in German. Many thanks to everyone in our German office, without which there would be no translation. Of course if you don’t like it in German you can still change back to English from the configuration dialog.
There are numerous other small improvements and bug fixes throughout the tool, hopefully some of these changes are useful. Also at the same time I have also released two extensions, the F# script engine and an IronPython command shell which allows you to write python script code to interact with the internal state of Canape while it is running. I hope to work on a series of blog posts giving advice on how to actually use Canape in a wider range of scenarios including developing extensions. If you have any suggestions, bug reports or any other random chatter let me know via the firstname.lastname@example.org email address or reference the Context twitter account here.