Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲1.37MB] [CPU: ▼2.99ms] Passed 4 tests
An overview of server-side resources used by DX Sales CRM
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.78 ▲1.31 | 46.26 ▲3.86 |
Dashboard /wp-admin | 4.62 ▲1.27 | 58.68 ▼6.04 |
Posts /wp-admin/edit.php | 4.99 ▲1.63 | 66.94 ▲23.22 |
Add New Post /wp-admin/post-new.php | 7.46 ▲1.57 | 107.22 ▼20.54 |
Media Library /wp-admin/upload.php | 4.54 ▲1.31 | 46.67 ▲10.76 |
Skills /wp-admin/edit-tags.php?taxonomy=dxcrm_emp_skill&post_type=dxcrm_customers | 4.53 | 45.30 |
Customers /wp-admin/edit.php?post_type=dxcrm_customers | 4.90 | 52.28 |
Report /wp-admin/admin.php?page=dx-crm-stat-setting | 4.57 | 44.46 |
Projects /wp-admin/edit.php?post_type=dxcrm_projects | 4.91 | 52.65 |
Companies /wp-admin/edit.php?post_type=dxcrm_company | 4.91 | 48.97 |
Project Type /wp-admin/edit-tags.php?taxonomy=dxcrm_pro_type&post_type=dxcrm_projects | 4.53 | 42.35 |
Add New /wp-admin/post-new.php?post_type=dxcrm_customers | 4.90 | 61.21 |
Activity Log /wp-admin/admin.php?page=dx-crm-activity-log | 4.51 | 45.47 |
Add New /wp-admin/post-new.php?post_type=dxcrm_company | 5.03 | 65.68 |
Sales CRM /wp-admin/admin.php?page=dxcrm_dashboard | 4.56 | 54.04 |
Server storage [IO: ▲2.58MB] [DB: ▲0.02MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 182 new files
Database: 4 new tables, 6 new options
New tables |
---|
wp_crm_customer |
wp_crm_roadmap |
wp_crm_company |
wp_crm_project |
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
widget_recent-posts |
can_compress_scripts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
This is an overview of browser requirements for DX Sales CRM
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,925 ▲179 | 13.27 ▼1.10 | 1.71 ▼0.17 | 39.65 ▼3.26 |
Dashboard /wp-admin | 2,322 ▲134 | 5.89 ▲0.87 | 103.76 ▼15.17 | 73.70 ▲29.77 |
Posts /wp-admin/edit.php | 2,239 ▲150 | 2.44 ▲0.41 | 43.76 ▼1.88 | 51.23 ▲14.40 |
Add New Post /wp-admin/post-new.php | 1,614 ▲92 | 22.67 ▼0.55 | 671.66 ▲38.79 | 40.73 ▼23.90 |
Media Library /wp-admin/upload.php | 1,504 ▲116 | 4.15 ▼0.06 | 119.20 ▲19.34 | 51.88 ▲11.08 |
Skills /wp-admin/edit-tags.php?taxonomy=dxcrm_emp_skill&post_type=dxcrm_customers | 1,384 | 2.18 | 29.33 | 30.52 |
Customers /wp-admin/edit.php?post_type=dxcrm_customers | 1,434 | 2.40 | 35.19 | 48.78 |
Report /wp-admin/admin.php?page=dx-crm-stat-setting | 1,092 | 2.43 | 36.66 | 34.46 |
Projects /wp-admin/edit.php?post_type=dxcrm_projects | 1,351 | 2.24 | 34.87 | 33.98 |
Companies /wp-admin/edit.php?post_type=dxcrm_company | 1,333 | 2.41 | 37.36 | 39.37 |
Project Type /wp-admin/edit-tags.php?taxonomy=dxcrm_pro_type&post_type=dxcrm_projects | 1,378 | 2.42 | 28.06 | 31.95 |
Add New /wp-admin/post-new.php?post_type=dxcrm_customers | 2,080 | 3.37 | 72.63 | 94.18 |
Activity Log /wp-admin/admin.php?page=dx-crm-activity-log | 956 | 2.09 | 22.89 | 27.95 |
Add New /wp-admin/post-new.php?post_type=dxcrm_company | 2,760 | 8.43 | 196.70 | 156.04 |
Sales CRM /wp-admin/admin.php?page=dxcrm_dashboard | 1,511 | 2.50 | 42.76 | 93.25 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- Zombie tables detected upon uninstall: 4 tables
- wp_crm_project
- wp_crm_customer
- wp_crm_company
- wp_crm_roadmap
- Zombie WordPress options were found after uninstall: 6 options
- theysaidso_admin_options
- can_compress_scripts
- widget_recent-comments
- widget_theysaidso_widget
- db_upgraded
- widget_recent-posts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/dx-sales-crm/includes/admin/dx-crm-download-verifier.php
- 11× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/dx-sales-crm/includes/admin/forms/crm-user-profile-metabox.php:19
- > PHP Fatal error
Uncaught Error: Call to undefined function get_terms() in wp-content/plugins/dx-sales-crm/templates/depreciated/crm-project-template.php:19
- > PHP Warning
Use of undefined constant DX_CRM_META_PREFIX - assumed 'DX_CRM_META_PREFIX' (this will throw an Error in a future version of PHP) in wp-content/plugins/dx-sales-crm/templates/depreciated/crm-project-template.php on line 10
- > PHP Fatal error
Uncaught Error: Call to undefined function get_terms() in wp-content/plugins/dx-sales-crm/templates/depreciated/crm-customer-template.php:27
- > PHP Notice
Undefined variable: user_role in wp-content/plugins/dx-sales-crm/includes/admin/forms/crm-user-profile-metabox.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function get_posts() in wp-content/plugins/dx-sales-crm/templates/depreciated/crm-company-template.php:19
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/dx-sales-crm/includes/admin/forms/crm-user-profile-metabox.php on line 17
- > PHP Warning
Use of undefined constant DX_CRM_META_PREFIX - assumed 'DX_CRM_META_PREFIX' (this will throw an Error in a future version of PHP) in wp-content/plugins/dx-sales-crm/templates/depreciated/crm-customer-template.php on line 10
- > PHP Warning
Use of undefined constant DX_CRM_CUSTOMER_ROLE - assumed 'DX_CRM_CUSTOMER_ROLE' (this will throw an Error in a future version of PHP) in wp-content/plugins/dx-sales-crm/includes/admin/forms/crm-user-profile-metabox.php on line 4
- > PHP Warning
Use of undefined constant DX_CRM_META_PREFIX - assumed 'DX_CRM_META_PREFIX' (this will throw an Error in a future version of PHP) in wp-content/plugins/dx-sales-crm/templates/depreciated/crm-company-template.php on line 10
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 86% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
Attributes that require attention:
- Screenshots: These screenshots require images: #1 (DX Sales CRM Dashboard), #2 (All of the activities are listed in the Activity Log), #3 (The most important information from the Projects and the Customers is listed and easily reached), #4 (You can create Reports and export them as CSV)
dx-sales-crm/crm-system.php 77% from 13 tests
The primary PHP file in "DX Sales CRM" version 1.0.0 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("dx-sales-crm.php" instead of "crm-system.php")
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
- Description: Keep the plugin description shorter than 140 characters (currently 201 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Good job! No executable or dangerous file extensions detected22,640 lines of code in 114 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 60 | 3,072 | 5,439 | 10,010 |
CSS | 26 | 214 | 176 | 7,849 |
JavaScript | 26 | 904 | 902 | 4,188 |
SVG | 1 | 0 | 0 | 565 |
JSON | 1 | 0 | 0 | 28 |
PHP code 50% from 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Please fix the following
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 116)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 95.31 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 286.00 |
Average method complexity | 5.30 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 116.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 13 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 13 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 285 | |
▷ Static methods | 2 | 0.70% |
▷ Public methods | 266 | 93.33% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 19 | 6.67% |
Functions | 15 | |
▷ Named functions | 15 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 34 | |
▷ Global constants | 34 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
58 PNG files occupy 0.51MB with 0.08MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/scripts/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png | 0.10KB | 0.17KB | 0.00% |
assets/images/tb-close.png | 0.49KB | 0.42KB | ▼ 14.62% |
assets/images/add.png | 1.02KB | 1.03KB | 0.00% |
assets/images/Sales_CRM_hover.png | 1.30KB | 1.13KB | ▼ 13.29% |
screenshot-2.png | 63.59KB | 29.02KB | ▼ 54.37% |