Admin Menu Structure #
DMSI DDLS adds a new menu section to your WordPress admin called “DDLS”. As of v1.2.0, all pages are served through a unified 3-column admin shell with section/view-based navigation.
3-Column Admin Shell (v1.2.0) #
The DDLS admin interface uses a 3-column layout:
- Left column: Primary navigation (sections)
- Center column: Secondary navigation or list view
- Right column: Detail or edit view (when applicable)
Navigation uses URL parameters (?page=ddls§ion=licenses&view=list) so all states are bookmarkable and browser-history compatible.
Dashboard #
Location: DDLS > Dashboard
Purpose: Overview of your licensing business
What You See:
- Total licenses (Active, Expired, Suspended)
- Total activations used
- Total customers
- Recent activity
- Revenue statistics
- Expiring licenses (requires action)
- Failed subscription payments (requires attention)
- Extension Status widget (v1.2.0) – shows which extensions are installed
When to Use: Daily check-in to monitor business health and catch issues.
Licenses #
Location: DDLS > Licenses
Purpose: View, create, edit, and manage all licenses
What You Can Do:
- View all licenses (filterable by status, product, customer)
- Search licenses by key, customer email, or product name
- Create new license manually
- Edit existing license (extend expiration, change status, reset activations)
- Delete license (careful – this breaks customer access)
- Bulk actions (activate, suspend, delete)
- Export licenses to CSV
When to Use:
- Customer support (extend license, reset activations)
- Manually creating licenses (gifts, migrations, special deals)
- Auditing license usage
License Types (v1.2.0) #
Location: DDLS > License Types
Purpose: Create and manage admin-defined license categories with preset defaults
What You Can Do:
- Create license types (e.g., “Standard”, “Professional”, “Enterprise”)
- Set default activation limits, durations, and support levels per type
- Mark a type as lifetime (is_lifetime flag)
- Assign types to products and variations
When to Use:
- Setting up your licensing tiers
- Standardizing settings across multiple products
Activations #
Location: DDLS > Activations
Purpose: View and manage all product activations
What You See:
- All activations across all licenses
- Which customer, which license, which site/device
- When activated, last checked
- IP address, user agent
- Status (Active or Deactivated)
What You Can Do:
- Deactivate installations (free up activation slots)
- View activation history
- Detect suspicious patterns (too many from same IP)
- Bulk deactivate old/stale activations
When to Use:
- Customer moved sites and needs activation reset
- Investigating activation abuse
- Cleaning up old activations
Customers #
Location: DDLS > Customers
Purpose: Manage customer records
What You See:
- All customers who purchased from you
- Email, name, company
- Total licenses owned
- Total lifetime value
- Status (Active, Suspended, Cancelled)
What You Can Do:
- View customer details
- See all licenses owned by customer
- Edit customer information
- Change customer status
- Import customers from CSV
- Export customers to CSV
When to Use:
- Looking up customer purchase history
- Updating customer details
- Importing customers from old system
Products #
Location: Uses WooCommerce > Products
Purpose: Configure licensing settings per product
What You See:
Regular WooCommerce product edit screen with added DMSI DDLS tab
What You Can Do:
- Enable/disable licensing for product
- Assign a License Type
- Set product-level override for activation limit
- Set license duration (lifetime, annual, monthly, custom days)
- Configure subscription settings
- Link support contract template
- Set license key pattern
- Configure per-variation settings (for variable products)
- Select files from Media Library (v1.2.0)
When to Use:
- Creating new product
- Changing licensing terms for existing product
Versions #
Location: DDLS > Versions
Purpose: Manage product versions and files
What You See:
- All versions across all products (WordPress CPT)
- Version number, product, release date
- Status (Published, Draft, Beta, Deprecated)
What You Can Do:
- Create new version
- Upload files (ZIP, PDF, etc.) or select from Media Library (v1.2.0)
- Edit changelog
- Set version status
- Deprecate old versions
- Delete versions
When to Use:
- Releasing new product version
- Updating existing version files
- Managing version history
Subscriptions #
Location: DDLS > Subscriptions
Purpose: Manage recurring billing subscriptions
What You See:
- All active, cancelled, and expired subscriptions
- Next payment date, billing amount
- Payment method (tokenized – not raw card number)
- Linked license
What You Can Do:
- View subscription details
- Process payment manually (if failed)
- Cancel subscription
- Pause/resume subscription
- Change billing amount or period
- Update payment method
When to Use:
- Subscription payment failed (dunning exhausted)
- Customer requested cancellation
- Adjusting subscription terms
Support Contracts #
Location: DDLS > Customers > [Select Customer] > Support Contracts tab
Note: Support Contracts do not have their own top-level menu. They are accessed through Customer or License detail pages.
Purpose: Manage time-based support agreements
When to Use:
- Customer purchased support separately
- Extending support for good customer
- Tracking support usage
Email Logs #
Location: DDLS > Settings > Email tab
Note: Email Logs do not have their own top-level menu.
Purpose: View all emails sent by DMSI DDLS
What You See:
- Email subject, recipient, date sent
- Status (Sent, Failed, Queued)
- Template used (license-generated, renewal-reminder, etc.)
- Email UID for cross-referencing (v1.2.0)
What You Can Do:
- Search logs by email UID (v1.2.0)
- View email detail including full rendered content (v1.2.0)
- Resend failed emails
- Debug email delivery issues
- Clear old logs
When to Use:
- Customer claims they didn’t receive email
- Debugging email problems
- Audit trail
Settings #
Location: DDLS > Settings
Purpose: Configure plugin behavior
What You Find:
- General settings (license key format, activation behavior)
- Email settings (enable/disable templates, customize content)
- Customer portal settings (enable/disable portal, page selection, Portal Page Title)
- Subscription settings (dunning schedule, retry logic)
- API settings (enable/disable API, authentication)
- Extension settings tabs (added by installed extensions, v1.2.0)
- Advanced settings (debug mode, cleanup schedules)
When to Use:
- Initial plugin setup
- Customizing email templates
- Configuring customer portal
- Troubleshooting
Related Topics #
- [Dashboard Overview](#)
- [Complete Workflow](#)
- [Settings Configuration](#) (Part 9)
