Server IP : 103.6.199.200 / Your IP : 3.12.34.192 Web Server : Microsoft-IIS/10.0 System : Windows NT EMPUSA 10.0 build 20348 (Windows Server 2016) i586 User : EMPUSA$ ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Domains/jivisol1/testlink.jivisolutions.com/wwwroot/ |
Upload File : |
=============================================================== TestLink - README.plugins =============================================================== Writing Plugins: To create a new plugin, create a new folder with the name of the plugin under "plugins" folder at the base dir, for e.g. TLTest as provided in the distribution. This should be a unique named plugin in the system. The name of the folder acts as the name of the plugin. The structure inside the plugin folder will be + plugins +--< Name of Plugin > +------ < Plugin Main Class File > +------ pages +---------< Smarty Template files > +---------< PHP Files to process Smarty templates > +------ lang +---------< language code > +------------ strings.txt +---------< language code > +------------ strings.txt Plugin Main Class: The plugin main class should reside directly under the plugins/<pluginname> folder. This class should extend from core TestlinkPlugin class and expose the following properties * name * description * version * author * url These information will be displayed in the Plugins page, which can be used to enable or disable a plugin in the current Testlink installation (This has not yet been implemented). The plugin main class also needs to have the following methods: * register: The basic information about the plugin including name, description, version, author, url are maintained here. This method is mandatory * config: Returns an array of the default configuration fields that are required for the plugin. These values are stored in Globals against the plugin and act as defaults whenever they are requested using plugin_config_get (See below) * hooks: Returns an array of the hooks that this plugin listens to. The list of hooks are defined in events_inc.php. The array value will be the method in the plugin class that defines what needs to be done when that plugin happens. Utilities that will help in writing the plugin class and support files: * $db : This variable will be available for the plugins to do any DB related operations. The users can directly do a `doDBConnect($db)` to connect to the $db and then use any of the methods available in database.class.php * plugin_file_path: Function to get an absolute path to a file inside of the plugin. For e.g. any reference to a file from one php file to another can be done using this. This avoids the user understanding how to reference files inside the plugin. * plugin_config_set: Set a configuration value in the Database. The values are stored in the plugins_configuration table. You can set a value at two levels: Either at a testproject level or available to all test projects * plugin_config_get: Get a configuration value from the database. The value will be fetched from the requested testprojectId (Passed in as a paramter) and if its not there, it will fetch a value available at "All projects" level. If its not available there, then it picks it up from the Global Defaults (Setup through the `config` method of the plugin) and then default to the "default" parameter provided in the method definition. See `plugin_config_get` in `plugin_api.php` for details * plugin_lang_get: Get a string value according to the language configured in TestLink for the current user. See lang directory in TLTest plugin for more info Writing Templates that will help in Plugin Configuration: The user might want to create pages that will help in configuring a plugin at a testproject level or for all projects. These template files will need to reside inside `pages` folder. We have exported the tlSmarty class so that users can write smarty templates. The php file to support the smarty templates are also inside the `pages` folder. Please see config.php and config.tpl inside plugins/TLTest/pages for an example