wiki:HowToDevChecklist

Version 12 (modified by Michael Schäfer, 10 years ago) (diff)

--

CrypTool 2 Plugin Developer Howto Checklist

This document is intended for plugin developers who want to contribute a new plugin to CrypTool 2 which implements a cryptographic algorithm or similar functionality. Please note that CrypTool 2 is an alive project in development. Certain information may be outdated or missing.

All steps that really should be done before the development process starts can be found in a very compact way at this page. But if you’re developing your frist plugin it is recommended to read the Plugin Developer Manual either way.

Preparations

  1. Install Microsoft Visual Studio 2010 or Microsoft Visual C# 2010 Express
  2. Install at least the Microsoft .NET 4.0
  3. Install a SVN-Client (TortoiseSVN recommended, brief overview to command line SVN)

Project Setup

  1. Check out the sources from https://www.cryptool.org/svn/CrypTool2/trunk/ using anonymous as username and leave password blank
  2. Add obj bin debug release *.pdb *.suo *.exe *.dll *.aux *.dvi *.log *.bak *.bbl *.blg *.user to the global ignore pattern of your SVN-Client
  3. Open the CrypTool 2.0.sln Visual Studio solution from the trunk\ directory
  4. Look for the project CrypWin and make sure it is selected as startup project
  5. Build your version of CrypTool 2
  6. Download the CrypTool 2 plugin template from https://www.cryptool.org/trac/CrypTool2/browser/trunk/Documentation/CrypPluginTemplate/CrypTool%202.0%20Plugin.zip
  7. Save the CrypTool 2.0 Plugin.zip to Libraries\Documents\Visual Studio 2010\Templates\ProjectTemplates\ (Do not unpack the zip file)
  8. Restart Visual Studio

Plugin Implementation

  1. Add a new project for your plugin through right click in the solution explorer (Add --> New Project)
  2. Select Visual C# --> CrypTool 2.0 Plugin as project template in the dialog window
  3. Enter a unique name for your new plugin project (for example the name of the cryptographic algorithm)
  4. Select the subdirectory CrypPluginsExperimental\ as the location of your project
  5. Rename the files ExamplePluginCT2.cs and ExamplePluginCT2Settings.cs in the solution explorer to something more meaningful (replace the Part ExamplePluginCT2 with the name of the algorithm)
  6. Adapt the plugin skeleton while following the HOWTO comments
  7. Add meaningful comments in your code and write them only in English (if possible) please
  8. For more explanations about the implementation read the Plugin Developer Manual beginning with section 2.3 Defining the attributes of the Caesar class

Further Information

More information can be found for example in one of the following Howtos: