1. ZenTao API development guides
1.1 Configuration and FAQ
1.2 Examples of the calling SDK
1.3. Department interface
1.3.1 Get the department list
1.3.2 Batch create departments
1.4. User interface
1.4.1 Get patameters of adding users
1.4.2 Add a single user
1.4.3 Get the user list
1.5. Product interface
1.5.1 Get the product list
1.5.2 Optional information for adding a single product
1.5.3 Create a single product
1.6. Project interface
1.6.1 Get the project list
1.6.2 Optional information for adding a single project
1.6.3 Create a single project
1.7. Task interface
1.7.1 Get the task list
1.7.2 Optional information for adding a single task
1.7.3 Create a single task
1.7.4 Optional information for finishing a single task
1.7.5 Finish a single task
1.8. Bug interface
1.8.1 Get the bug list
1.8.2 Optional information for reporting a single bug
1.8.3 Report a single bug
1.8.4 Optional information for resolving a single bug
1.8.5 Resolve a single bug
2. ZenTao API documents (V1.0)
2.1. Token
2.1.1 Get Token
2.2. Department
2.2.1 Get the department list
2.2.2 Get department details
2.3. User
2.3.1 Access to my profile
2.3.2 Get the user list
2.3.3 Get user information
2.3.4 Edit user information
2.3.5 Delete users
2.3.6 Create users
2.4. Program
2.4.1 Get the program list
2.4.2 Edit programs
2.4.3 Access to program details
2.4.4 Delete programs
2.4.5 Create programs
2.5. Product
2.5.1 Get the product list
2.5.2 Create products
2.5.3 Get product details
2.5.4 Edit products
2.5.5 Delete products
2.6. Product plan
2.6.1 Get the list of product plans
2.6.2 Create plans
2.6.3 Get plan details
2.6.4 Edit plans
2.6.5 Delete plans
2.6.6 Link the stories to the product plan
2.6.7 Cancel the link between the product plans and stories
2.6.8 Link the bugs to the product plan
2.6.9 Cancel the link between the product plan and bugs
2.7. Release
2.7.1 Get the release list of product
2.7.2 Get the release list of project
2.8. Story
2.8.1 Get the story list of product
2.8.2 Get the story list of project
2.8.3 Get the story list of execution
2.8.4 Create story
2.8.5 Get story details
2.8.6 Change a story
2.8.7 Change some other fileds of story
2.8.8 Delete a story
2.9. Project
2.9.1 Get project list
2.9.2 Create a project
2.9.3 Get project details
2.9.4 Modify a project
2.9.5 Delete a project
2.10. Build
2.10.1 Get the build list of project
2.10.2 Get the build list of execution
2.10.3 Create a build
2.10.4 Get build details
2.10.5 Modify a build
2.10.6 Delete a build
2.11. Execution
2.11.1 Get the execution list of project
2.11.2 Create execution
2.11.3 Check the details of execution
2.11.4 Modify execution
2.11.5 Delete execution
2.12. Task
2.12.1 Get the task list of execution
2.12.2 Create task
2.12.3 Get task details
2.12.4 Modify task
2.12.5 Delete task
2.12.6 Start task
2.12.7 Suspend task
2.12.8 Continue task
2.12.9 Finish task
2.13. Bug
2.13.1 Get the bug list of product
2.13.2 Create bug
2.13.3 Get bug details
2.13.4 Modify bug
2.13.5 Delete bug
2.14. Use case
2.14.1 Get use case list of product
2.14.2 Create use case
2.14.3 Get use case details
2.14.4 Modify test case
2.14.5 Delete test case
2.14.6 Run test case
2.15. Test request
2.15.1 Get test request list
2.15.2 Get the test request of project
2.15.3 Get the details of test reuqest
2.16. Feedback
2.16.1 Create feedback
2.16.2 Assign feedback
2.16.3 Close feedback
2.16.4 Delete feedback
2.16.5 Modify feedback
2.16.6 Get feedback details
2.16.7 Get feedback list
2.17. Ticket
2.17.1 Get the ticket list
2.17.2 Get the ticket details
2.17.3 Modify a ticket
2.17.4 Create a ticket
2.17.5 Delete a ticket
3. Customized development
3.1 Secondary development mechanism
3.2 The directory structure of ZenTao
3.3 Find your target file to be modified
3.4 The database structure of ZenTao
3.5 Public module - common
3.6 How to register on menu
3.7 How to register on permission
3.8 Example: how to modify the prompt
3.9 Example: priority field setting when creating bugs
3.10 The online extension editor
3.11 Secondary development editor and translation function restrictions instructions
3.12 ZenTao project management software packaging specification (V1.1)

The online extension editor

2022-12-21 13:14:58
Last edited by Hongyan on 2023-01-05 13:51:07
Share links

ZenTao also provides a web-based code extension editor that allows you to log in to ZenTao with the super administrator account to make secondary extension.

1. Access portal

Go to Admin - Develop - Editor and you will find the expandable list of modules.

Click on the link for the module you want to extend, and all the extendable files for that module will appear on the right side, including methods for control.php and model.php.

These documents are arranged in order. From top to bottom:

  • model.php and the methods of the current file
  • control.php and the methods of the current file
  • Template files in the view folder
  • Language files
  • Configuration file: config.php
  • JS
  • CSS
  • Extension files

The order of the extensions in the files is the same as the order described above, so that the files to be extended can be found easily and quickly.

After each file, there are links to the corresponding actions, and by clicking on these links, you can edit the extensions online.

2. Online editing

2.1 Extension of model.php

The existing methods of model.php can be extended and the editor can automatically generate simple code. Of course, it is also possible to add new methods to model.php.

2.2 Extension of control.php

There will be a prompt for whether to reuse the code when extending existing methods in control.php.

If you select "OK", a class will be created that inherits from the module control.php, and the extended method will inherit from the module control.php method. Otherwise, the method will be redefined.

You can also add new methods to control.php in the same way.

2.3 Extension of the template files

There are two ways to extend the template files. You could rewrite a template file to overwrite the original one. and also could write a hook script to make some partial changes to the original page.

2.4 Extension of other files

When extending other files, the content of the source file will be displayed and can be used as a reference for the extension.

3. Save the extension files

3.1 No need to enter a file name

The file name is fixed when the control.php method is extended and the template file is overwritten. So there is no need to enter a file name.

3.2 You can enter the file name

In the cases such as method extensions to model.php, language files, and configuration files, it will be saved with the default file name if you don't enter a file name. And if you enter a file name, it will be saved with the name that you filled in.

3.3 File name must be entered

In the cases such as new methods, new pages, new hooks, new extensions, etc., you must enter a filename to save them.


  • Make sure the program is with the read and write permissions when saving files.
  • The file names can't be duplicate, otherwise it can't be saved. You can change to other names or check the option to overwrite duplicate files.
  • The editor need to be improved further and is only built for easy expansion. If you have any questions please feel free to contact us.
Write a Comment
Comment will be posted after it is reviewed.