Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:modopts.ini [2019/01/14 23:36] digital manconfig:modopts.ini [2023/10/19 12:27] (current) – Don't copy/paste defaults into your modopts.ini file digital man
Line 1: Line 1:
-====== modopts.ini file ====== +====== Module Options ====== 
-This configuration file (located in the Synchronet ''[[dir:ctrl]]'' directory) is used for the configuration of various Synchronet [[custom:JavaScript]] [[:module:|modules]].+The ''modopts.ini'' configuration file (located in the Synchronet ''[[dir:ctrl]]'' directory) is used for the configuration of various Synchronet [[custom:JavaScript]] [[:module:|modules]].
  
 This file (and its corresponding load library: ''modopts.js'') allows multiple modules to be configured in a single file rather than requiring a separate configuration file for each module that has configurable behavior. That said, it is only appropriate for simple enable/disable or ''//option//=//value//'' type configuration; modules requiring more complex configuration may still necessitate their own separate configuration files. This file (and its corresponding load library: ''modopts.js'') allows multiple modules to be configured in a single file rather than requiring a separate configuration file for each module that has configurable behavior. That said, it is only appropriate for simple enable/disable or ''//option//=//value//'' type configuration; modules requiring more complex configuration may still necessitate their own separate configuration files.
Line 8: Line 8:
 Each [[ini_files#named section]] identifies the module which is being configured and the ''key=//value//'' pairs in that section are used to set configuration options for that module. Each [[ini_files#named section]] identifies the module which is being configured and the ''key=//value//'' pairs in that section are used to set configuration options for that module.
  
 +If you find that an expected section or key is not present in the file and you want to modify that section or key, just add it.
 ===== Use ===== ===== Use =====
 JavaScript module authors use the ''modopts.ini'' file by adding a single line to their ''.js'' file: JavaScript module authors use the ''modopts.ini'' file by adding a single line to their ''.js'' file:
-  options=load(new Object, "modopts.js", "mymodule");+<code javascript> 
 +options=load(new Object, "modopts.js", "mymodule"); 
 +</code>
 where "mymodule" is replaced with the JavaScript's module name (typically the module's main script filename, without the ''.js'' extension). where "mymodule" is replaced with the JavaScript's module name (typically the module's main script filename, without the ''.js'' extension).
  
Line 16: Line 19:
  
 Example ''modopts.ini'' section: Example ''modopts.ini'' section:
-<file>+<code ini>
 [mymodule] [mymodule]
 enable_cool_feature=true enable_cool_feature=true
-</file>+</code> 
 + 
 +Options that need literal values should use a ':' like this: 
 +<code ini> 
 +[xtrn_sec] 
 +which: \r\n\1-\1gWhich or \1h~Q\1n\1guit: \1h 
 +</code>
  
 Example module use of modopts in a fictional example module named "mymodule" (e.g. ''mymodule.js''): Example module use of modopts in a fictional example module named "mymodule" (e.g. ''mymodule.js''):
-<code>+<code javascript>
 options=load(new Object, "modopts.js", "mymodule"); options=load(new Object, "modopts.js", "mymodule");
  
Line 28: Line 37:
    do_cool_feature();    do_cool_feature();
 </code> </code>
 +
 +===== Defaults =====
 +Synchronet Modules should have optimal default values for any options that they make available via the ''modopts.ini'' file. Unless you have a good reason to do so, it is **not** recommended that you copy default key/value pairs into your ''modopts.ini'' file. Module defaults may change later (in the module script) and automatically using any //new// default option value is most likely what you and the module-script author want/expect to happen.
  
 ===== See Also ===== ===== See Also =====
   * [[:config:|Configuration]]   * [[:config:|Configuration]]
 +  * [[module:avatars|Avatars]]
 +  * [[module:sbbslist|BBS List]]
 +  * [[module:chat_sec|Chat Section]]
 +  * [[module:emailval|Email Validation]]
 +  * [[module:xtrn_sec|External Programs Section]]
 +  * [[module:fido-nodelist-browser|Fido Nodelist Browser]]
 +  * [[service:finger|Finger Service]]
 +  * [[module:login|Login]]
 +  * [[module:logon|Logon]]
 +  * [[module:logonlist|Logon List]]
 +  * [[module:newuser|New User]]
 +  * [[module:nodelist|Node List]]
 +
 +
 +{{tag>configuration javascript module general_config ini}}
 +
  
-{{tag>javascript modules}}