Changes between Version 6 and Version 7 of Documentation/Howto/ImplementAHLWebAppPlugin


Ignore:
Timestamp:
10/20/15 15:15:34 (4 years ago)
Author:
ascheibe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/Howto/ImplementAHLWebAppPlugin

    v6 v7  
    22[[PageOutline]]
    33
    4 In the following Guide we will create a simple HeuristicLab WebApp plugin.
     4In the following guide we will create a simple HeuristicLab WebApp plugin.
     5It is assumed that you have read [[Documentation/Howto/SetupHiveServer]] and [[Documentation/Howto/SetupHiveStatistics]].
    56
    67== A new project ==
     
    1314
    1415== Configuring the project ==
     16
    1517=== References ===
    1618Every plugin has at least a reference to Microsoft ASP.NET Web API, which is needed to create a controller.
     
    2022* Set the "Copy Local" property on these references to false. This references are provided by the WebApp and thus don't have to be deployed with every plugin.
    2123[[Image(/raw-attachment/wiki/Documentation/Howto/ImplementAHLWebAppPlugin/references.PNG)]]
     24
    2225=== Folder structure ===
    2326HeuristicLab WebApp plugins use the following folder structure, which is recommended but not mandatory. The WebApp consists of all client files whereas the WebApi contains all data controllers.
     
    2629
    2730== Creating the Plugin configuration file ==
    28 Every plugin requires a configuration file, which is used to register the views of the plugin with their associated controllers. The configuration file is also used to dynamicly build the sidebar menu. The name of the plugin configuration file has to be `{pluginname}.js`.
     31Every plugin requires a configuration file, which is used to register the views of the plugin with their associated controllers. The configuration file is also used to dynamically build the sidebar menu. The name of the plugin configuration file has to be `{pluginname}.js`.
    2932
    3033The following template can be used to create a new configuration file:
     
    5053
    5154* `plugin.dependencies` specifies the required AngularJS modules
    52 * `plugin.files` specifies the files that will be dynamicly loaded when a view of the plugin is accessed
     55* `plugin.files` specifies the files that will be dynamically loaded when a view of the plugin is accessed
    5356* `plugin.view` is the main view of the plugin
    5457* `plugin.controller` is the controller of the main view
     
    5659* `app.getMenu()` is used to add an entry in the sidebar menu
    5760
    58 The `view` and `controller` properties are required all other properties are optional.
     61The `view` and `controller` properties are required. All other properties are optional.
    5962
    6063== Example Plugin ==
     
    6366== Conventions ==
    6467* Controllers have to be derived from `ApiController` and have to end with `Controller` to be discovered by the WebApp
    65 * The Plugin assembly name has to match the following `HeuristicLab.Services.WebApp.{pluginname}*.dll` pattern
     68* The plugin assembly name has to match the following `HeuristicLab.Services.WebApp.{pluginname}*.dll` pattern
    6669* The plugin configuration file has to be `{pluginname}.js`