Commit 307b181a authored by Stefan Busemann's avatar Stefan Busemann
Browse files

[DOCS] Add extension documentation

parent e9979807
...@@ -7,6 +7,36 @@ ...@@ -7,6 +7,36 @@
ChangeLog ChangeLog
========= =========
Providing a change log chapter is optional. You can also refer .. t3-field-list-table::
users to the ChangeLog file inside the extension or to some repository's :header-rows: 1
commit listing.
- :Version:
Release Date
Release Description
- :Version:
* [FEATURE] Add custom controller error message
* [FEATURE] Improve list styling
* [TASK] Add URLs to nominees
* [BUGFIX] Correct some typos
* [BUGFIX] Remove obsolete charakters
* [BUGFIX] Show result status of an election
* [BUGFIX] Rename method to isGroupConfigComplete
* [BUGFIX] Add fallback configuration
* [BUGFIX] Use doctrine for plugin detection
- :Version:
* Initial Release
...@@ -7,112 +7,61 @@ ...@@ -7,112 +7,61 @@
Configuration Configuration
============= =============
Target group: **Developers, Integrators** Target group: **Administrators**
How to configure the extension. Try to make it easy to configure the extension. How to configure the extension.
Give a minimal example or a typical example.
Configuration Module
Minimal Example
- Is it necessary to include a static template file?
- For example add a code snippet with comments
Minimal example of TypoScript:
.. code-block:: none
plugin.tx_myextension.settings {
# configure basic email settings
email {
subject = Some subject
from =
.. _configuration-typoscript:
TypoScript Reference
==================== ====================
Possible subsections: Reference of TypoScript options. Once the extension is installed, a new backend module gets visible. Most probably at bottom of your backend.
The construct below show the recommended structure for
TypoScript properties listing and description.
When detailing data types or standard TypoScript
features, don't hesitate to cross-link to the TypoScript
Reference as shown below.
See `Hyperlinks & Cross-Referencing <>`
for information about how to use cross-references.
See the :file:`Settings.cgf` file for the declaration of cross-linking keys.
You can add more keys besides tsref.
.. container:: ts-properties
=========================== ===================================== ======================= ====================
Property Data type :ref:`t3tsref:stdwrap` Default
=========================== ===================================== ======================= ====================
allWrap_ :ref:`t3tsref:data-type-wrap` yes :code:`<div>|</div>`
`subst\_elementUid`_ :ref:`t3tsref:data-type-boolean` no 0
wrapItemAndSub_ :ref:`t3tsref:data-type-wrap`
=========================== ===================================== ======================= ====================
Property details
.. only:: html
.. contents::
:depth: 1
.. _ts-plugin-tx-extensionkey-allwrap:
allWrap .. figure:: ../Images/AdministratorManual/BE-Module.png
------- :width: 400px
:alt: Backend Module
:typoscript:`plugin.tx_extensionkey.allWrap =` :ref:`t3tsref:data-type-wrap` At the first call, you will receive a warning for an empty configuration.
Wraps the whole item. .. figure:: ../Images/AdministratorManual/NewConfiguration.png
:width: 5008px
:alt: Backend Module
Click at the button "create a new configuration"
.. _ts-plugin-tx-extensionkey-substelementUid:
subst_elementUid .. figure:: ../Images/AdministratorManual/Configuration.png
---------------- :width: 5008px
:alt: Backend Module
:typoscript:`plugin.tx_extensionkey.subst_elementUid =` :ref:`t3tsref:data-type-boolean` - **Administration backend user group**: Choose a backend user group, which is allowed to edit the configuration
- **Election manager backend user group**: Choose a backend user group, which is allowed to edit the election
- **Poll manager backend user group**: Choose a backend user group, which is allowed to edit polls
- **Plugin PID**: Page ID of the election plugin
- **Number of mails to send at once**: Set number of mails, which will send out in one request. In a normal environment 100 Mails should be possible
- **Email address of the sender**: Valid email, which is used to send out the mails.
- **Name of the sender**: Name of the sender, which is displayed in the mail
- **Debug mode (will send all invitations to the configured test mail, but creates only dummy tokens)**: Enables the debug mode
- **Debug test e-mail**: Mail which is used in debug mode.
If set, all appearances of the string ``{elementUid}`` in the total When you are ready, please choose "save and close" to proceed.
element html-code (after wrapped in allWrap_) are substituted with the
uid number of the menu item. This is useful if you want to insert an
identification code in the HTML in order to manipulate properties with
Page Plugin
.. _ts-plugin-tx-extensionkey-wrapitemandsub: Choose now the page module and the election plugin, to the page, you added to the configuration
wrapItemAndSub Edit Configuration
-------------- ==================
:typoscript:`plugin.tx_extensionkey.wrapItemAndSub =` :ref:`t3tsref:data-type-wrap` .. figure:: ../Images/AdministratorManual/EditConfig.png
:width: 5008px
:alt: Backend Module
Wraps the whole item and any submenu concatenated to it. If you want to edit an existing configuration (and you are member of the administration group), you can use the tool icon to edit the configuration.
Next step
.. _configuration-faq: :ref:`Use the extension <user>`.
Possible subsection: FAQ
.. include:: ../Includes.txt
.. _contribute:
Do you want people to contribute to your extension?
Here, you can add information about conventions you use when developing.
You may want to base this on already existing conventions for the TYPO3
core and for TYPO3 documentation.
If your project is hosted on GitHub, it is a good idea to add a file:`CONTRIBUTING.rst`
file. This sample template manual has one. A link to that file will automatically
be displayed by GitHub if people enter the issues section of your project for the first time
or create an issue.
The file:`CONTRIBUTING.rst` will not be displayed, when your extension is rendered on though (because file:`CONTRIBUTING.rst` is outside of the scope of
the file:`Documentation` folder).
So, as not to create duplicate information, either use this file as main information
source about contributing and link to this page from file:`CONTRIBUTING.rst` or the other
way around.
**Sample text follows ...**
Contribution to this extension is very welcome.
If you wish to contribute, please follow these conventions:
Writing Issues
* If you find a problem in the extension, please write an issue.
* If you can fix the problem yourself, please submit a pull request. In this
case, it is not necessary to create an issue first.
Submitting a Pull Request
* Please adhere to `TYPO3 Coding Guidelines
* For commit messages, please follow the `TYPO3 Commit Message Rules
Please see the general GitHub documentation for more information, for example
`Creating a pull request <>`__
Here, you can add a link to how people can support you and donate for your extension.
\ No newline at end of file
...@@ -7,50 +7,14 @@ ...@@ -7,50 +7,14 @@
Developer Corner Developer Corner
================ ================
Target group: **Developers** - Use your own templates: This is an option, what we plan to support in future. Due to the special setup, you are not able to
overwrite templates
- Reset configuration: If you into a missconfiguraion, please empty table tx_election_domain_model_configuration or delete the record with the
highest uid. A configuration record is written, each time the configuration is changed. The sytem uses always the configuration
record with highest uid.
Use this section for *providing code examples* or any **useful** information code wise. Next step
:ref:`Known problems <knownproblems>`.
.. _developer-hooks:
Possible hook examples. Input parameters are:
| Parameter | Data type | Description |
| $table | string | Name of the table |
| $field | string | Name of the field |
Use parameter :code:`$table` to retrieve the table name...
.. _developer-api:
How to use the API...
.. code-block:: php
$stuff = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
or some other language:
.. code-block:: javascript
:emphasize-lines: 2-4
function () {
...@@ -54,12 +54,11 @@ Extension Name ...@@ -54,12 +54,11 @@ Extension Name
Introduction/Index Introduction/Index
Installation/Index Installation/Index
Configuration/Index Configuration/Index
Developer/Index Developer/Index
KnownProblems/Index KnownProblems/Index
Support/Index Support/Index
Links Links
...@@ -8,13 +8,32 @@ ...@@ -8,13 +8,32 @@
Installation Installation
============ ============
Target group: **Administrators** The extension can be installed via Extension Manager or composer.
- How should the extension be installed? Admin Groups
- Are there dependencies to resolved? ============
The extension behaves different then many other TYPO3 Extensions. It is designed,
to work without many configuration. The main configuration is done in the
Backend Module "Election". To prepare the configuration, make sure, that you have at least one
Backend User Group in your installation. To be most flexible, you should set up three usergroups:
* Administration backend user group
* Election manager backend user group
* Poll manager backend user group
.. important::
Create at least one backend usergroup, before starting the configuration in the Election module
Create a page for the plugin
To prepare the configuration, please create a page, where you want to place the voting plugin. Remember the page id for
the next configuration step.
Next step Next step
========= =========
:ref:`Configure extension <configuration>`. :ref:`Configure extension <configuration>`.
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment