Skip to content

Releases: LexioJ/integration_itop

iTop Integration v1.3.1

09 Nov 16:15
26f8f85

Choose a tag to compare

Release v1.3.1

This release includes important security enhancements to strengthen the application's defenses.

  • Replaced direct cURL usage with Nextcloud's IClientService for proper SSL certificate verification

  • Enhanced input validation and sanitization for OQL query parameters

  • Improved data validation for numeric identifiers

  • Resolved issues related to network communication security

  • Strengthened protection against malicious input in database queries


iTop Integration v1.3.0

08 Nov 18:12

Choose a tag to compare

Release v1.3.0: Intelligent Notification System

Major new feature: Comprehensive notification system with 12 notification types (4 portal + 8 agent) providing smart, event-driven notifications with weekend-aware SLA warnings and zero duplicate detection.

Highlights:

  • 12 notification types across Portal and Agent tracks
  • Weekend-aware SLA warnings (Friday: 72h, Saturday: 48h)
  • Crossing-time algorithm eliminates duplicate warnings
  • 3-state admin control (Disabled/Forced/User Choice)
  • Query optimization: Up to 100% API call reduction
  • Rate limiting: Max 20 notifications per user per run
  • Complete documentation: docs/NOTIFICATIONS.md (345 lines)
  • Translations: EN, DE, DE_DE, FR

Portal Notifications (4 types):

  • ticket_status_changed, agent_responded, ticket_resolved, agent_assigned

Agent Notifications (8 types):

  • ticket_assigned, ticket_reassigned, team_unassigned_new
  • ticket_tto_warning, ticket_ttr_warning, ticket_sla_breach
  • ticket_priority_critical, ticket_comment

Technical:

  • Dual background jobs (CheckPortalTicketUpdates, CheckAgentTicketUpdates)
  • CMDBChangeOp detection leverages iTop's change tracking
  • Minimal state storage (only timestamps)
  • Smart caching: team memberships (30min), agent names (24h)

Breaking Changes: None
Migration: No user action required

See CHANGELOG.md and docs/NOTIFICATIONS.md for complete details.

v1.2.2 - Dynamic URL Routing Enhancement

02 Nov 13:32

Choose a tag to compare

What's Changed

Enhanced URL Routing πŸ”—

This release improves how users are directed to iTop based on their profile, ensuring they land in the correct interface for their access level.

Changed

  • Dynamic URL Routing: Enhanced buildTicketUrl() method in ItopAPIService to route users to appropriate iTop interface:
    • Portal users: Automatically routed to portal URLs (/pages/exec.php/object/edit/...)
    • Power users: Directed to admin UI URLs (/pages/UI.php?operation=details...)

Technical Details

The URL routing is based on the user's is_portal_only setting, which is automatically detected and cached by ProfileService. This ensures that:

  • Portal users always access tickets through the portal interface
  • Agents and administrators use the full admin UI with complete functionality
  • No manual configuration required - works automatically based on iTop profiles

Full Changelog: v1.2.1...v1.2.2

v1.2.1 - Bug Fixes and Enhancements

02 Nov 11:58

Choose a tag to compare

πŸ› Bug Fixes

  • Connected Users Count: Fixed database query compatibility across different database drivers (MySQL, PostgreSQL, SQLite)
  • Version Display: Fixed constant in admin settings by properly injecting IAppManager
  • Search Time Formatting: Corrected translation string placeholders to use proper l10n format with positional parameters
  • Admin Settings: Fixed version check endpoint returning 500 error

✨ Enhancements

  • Version Check Endpoint: New /version-check route that automatically queries GitHub for the latest release and notifies admins of available updates
  • Local Access Rules Notice: Added helpful informational notice in admin settings about allow_local_remote_servers configuration for private IP addresses (Nextcloud 30+), including:
    • Clear explanation of when this is needed
    • Exact command to run
    • Link to official Nextcloud documentation
  • Translation Coverage: Added German (informal/formal) and French translations for time formatting strings (%dm ago, %dh ago, %1$dh %2$dm ago, etc.)

🌍 Localization

Updated translation files:

  • de.json - German informal (Du)
  • de_DE.json - German formal (Sie)
  • fr.json - French

v1.2.0 - Dual Dashboard System

01 Nov 23:54
b539fd1

Choose a tag to compare

πŸŽ‰ Release v1.2.0 - Dual Dashboard System

Overview

This major release introduces a comprehensive dual-dashboard system providing role-based views tailored for both portal users and IT agents within the iTop integration.


✨ New Features

πŸ–₯️ Dual Dashboard Views

  • Portal Dashboard: Simplified view for end users tracking their created tickets

    • Ticket counts by status (open, escalated, pending, resolved)
    • Status breakdown with visual indicators
    • Quick access to recent tickets
    • Direct links to iTop for detailed views
  • Agent Dashboard: Operations-focused view for IT support staff

    • Personal ticket queue (assigned to me)
    • Team ticket queue (escalated tickets)
    • SLA monitoring (TTO/TTR warnings and breaches)
    • Upcoming changes calendar (30-day window)
    • Real-time operational metrics

🧩 Widget System

  • Modular, reusable Vue components
  • Consistent design language across all widgets
  • Hover effects and interactive elements
  • Loading states and error handling
  • Responsive layouts

🌍 Internationalization

  • Complete German translations
  • Complete English translations
  • Consistent terminology across all components

πŸ§ͺ Quality Assurance

  • 49+ comprehensive unit tests covering:
    • Dashboard display logic (portal vs agent)
    • Service layer data retrieval
    • SLA warning/breach detection
    • Widget rendering accuracy
    • Team queue statistics
    • Upcoming changes sorting

πŸ“‹ Technical Details

Backend Enhancements

  • New API endpoints: getDashboardData() and getAgentDashboardData()
  • Service methods for SLA tracking, team queues, and change management
  • Optimized database queries with caching support
  • Weekend-aware SLA warning windows

Frontend Components

  • DashboardWidget.vue - Portal user dashboard
  • AgentDashboard.vue - IT agent dashboard
  • Scoped CSS with consistent styling
  • Error boundaries and fallback states

Documentation

  • Complete API reference documentation
  • Dashboard implementation guide
  • Widget customization documentation
  • Testing documentation

πŸ”§ Improvements

  • Refactored component styles to scoped CSS
  • Optimized hover effects and transitions
  • Improved loading state indicators
  • Enhanced error messaging
  • Better mobile responsiveness

πŸ“¦ Installation

Requirements

  • Nextcloud 28 or higher
  • iTop 3.0 or higher
  • PHP 8.1 or higher

Upgrade from v1.1.0

  1. Download and extract the release
  2. Replace the app directory
  3. Clear Nextcloud cache: occ maintenance:repair
  4. No database migrations required

πŸ§ͺ Testing

All new features are covered by comprehensive unit tests. To run tests:

./vendor/bin/phpunit --filter=Dashboard tests/Unit/

πŸ™ Acknowledgments

Thanks to all contributors and testers who helped shape this release!


πŸ“š Documentation


Full Changelog: v1.1.0...v1.2.0

v1.1.0 - Complete CMDB Integration

28 Oct 00:37

Choose a tag to compare

[1.1.0] - 2025-10-28

✨ Major New Feature: Configuration Item (CI) Browsing

Version 1.1.0 adds complete CMDB integration, allowing users to search, browse, and preview Configuration Items alongside tickets.

Added

Core CI Functionality

  • Configuration Item Browsing: Search and preview 11 CI classes (PC, Phone, IPPhone, MobilePhone, Tablet, Printer, Peripheral, PCSoftware, OtherSoftware, WebApplication, Software)
  • Unified Search for CIs: Extended search bar to find CIs in addition to tickets with smart ranking (exact match β†’ class priority β†’ recency)
  • Smart Picker for CIs: Insert CI references in Talk, Text app, and comments with intelligent suggestions
  • Rich CI Previews: Paste iTop CI URLs for detailed hardware/software previews showing specs, contacts, and installed software

New Backend Services

  • ProfileService: Automatic detection of Portal vs Power users with configurable caching (default: 30min)
    • Portal users: See only CIs where they are listed as contacts
    • Power users: Full CMDB access within iTop ACL
  • PreviewMapper: Dedicated service for transforming iTop CI data to preview DTOs with PhysicalDevice field alignment
  • CacheService: Distributed caching layer with 5 configurable TTL types for optimal performance

Admin Features

  • CI Class Configuration: Enable/disable CI classes with 3-state control:
    • Disabled: Hidden from all users
    • Forced: Enabled for all users (no opt-out)
    • User Choice: Enabled but users can opt-out in personal settings
  • Cache Management UI: Configure cache TTLs for all cache types (CI Preview, Ticket Info, Search, Picker, Profile)
    • TTL ranges: 10s-1h for previews, 10s-5min for search/picker
    • "Clear All Cache" button for immediate refresh
    • Recommended settings for different deployment sizes

Internationalization

  • French Translation: Complete fr.json with all 280 strings (formal vous-form)
  • German Translations: Both informal (de.json - Du-form) and formal (de_DE.json - Sie-form) variants
  • 280 Translatable Strings: Comprehensive coverage of all UI elements, error messages, and settings

Visual Enhancements

  • 11 CI Icons: Class-specific SVG icons for all CI types (PC, phone, printer, tablet, software, etc.)
  • State-Specific Ticket Icons: Dynamic icons for closed, escalated, and deadline tickets
  • Improved Mobile Responsiveness: Better layout for CI previews on small screens

Changed

Performance Improvements

  • 60-80% Reduction in API Calls: Multi-layer caching with intelligent TTL management
  • Optimized Search Queries: Class-specific OQL optimization (e.g., Software exactβ†’wildcard, WebApplication includes URL)
  • Distributed Caching: Redis-compatible caching for high-traffic deployments

UI/UX Enhancements

  • Admin Settings Refactored: Converted from JavaScript-rendered to PHP-rendered HTML for better translation support and maintainability
    • Reduced JavaScript from 1,234 to 561 lines (54% reduction)
    • Server-side translations using <?php p($l->t('...')); ?>
    • Better theme compatibility and accessibility
  • Search Result Ranking: Enhanced algorithm with exact-match priority, class weighting, and recency scoring
  • Reference Provider: Extended URL detection to support CI URLs in addition to ticket URLs

API & Architecture

  • ItopAPIService: New methods for CI queries (searchCIs(), getCIPreview()) with Person ID filtering
  • ItopSearchProvider: Extended to search both tickets and CIs with profile-aware filtering
  • ItopReferenceProvider: Enhanced to detect and render rich previews for CI URLs
  • Application.php: Centralized SUPPORTED_CI_CLASSES constant and CI class state management methods

Fixed

  • CI Field Alignment: Corrected field lists to match iTop data model schema (removed invalid last_update field)
  • Vite Output Directory: Fixed build configuration to correctly output to js/ instead of js/vue/
  • Translation Loading: Resolved issue where JavaScript translations weren't loading in admin settings

Technical Details

New Configuration Keys

  • cache_ttl_ci_preview: CI preview cache TTL (default: 60s)
  • cache_ttl_profile: Profile cache TTL (default: 1800s / 30min)
  • cache_ttl_search: Search results cache TTL (default: 30s)
  • cache_ttl_picker: Smart picker cache TTL (default: 60s)
  • ci_class_config: JSON array of CI class states (disabled/forced/user_choice)

Database Changes

None - All new configuration stored in existing oc_appconfig table.

Migration Notes

  • No user action required: Existing users continue to work with ticket-only functionality
  • Admin opt-in: CI classes are disabled by default; admins must explicitly enable them
  • Cache warmup: First CI search may be slower as caches populate

iTop Integration v1.0.0 - Complete ITSM Integration for Nextcloud

18 Oct 08:32

Choose a tag to compare

🎟️ Complete iTop ITSM Integration for Nextcloud

First stable release of the comprehensive iTop IT Service Management integration that brings ITSM functionality directly into your Nextcloud collaboration platform.

✨ Key Features

πŸ”— Dynamic Reference Provider

Transform iTop links into rich, interactive previews across Nextcloud apps:

  • Rich Link Previews: Paste iTop ticket links in Talk, Deck, or Collectives for instant rich previews
  • Detailed Information: View ticket status, priority, assignee, and description at a glance
  • Smart Navigation: Direct links to full ticket details in iTop
  • Universal Compatibility: Works across all Nextcloud apps that support rich content

πŸ” Unified Search Integration

Search your iTop tickets directly from Nextcloud's search bar:

  • Quick Access: Find tickets without leaving Nextcloud
  • Smart Results: Filter by ticket type (Incidents, User Requests) with status indicators
  • Personal Scope: Only shows tickets you created or are assigned to
  • Real-time Status: Live priority and status badges in search results

🎯 Smart Picker & Content Integration

Quick access to iTop content when creating or editing:

  • Content Creation: Insert iTop references while writing in Text app or chatting in Talk
  • Quick Browse: Access recent tickets and CIs with smart suggestions
  • Rich Insertion: Add links that automatically become interactive previews
  • Context Aware: Relevant suggestions based on your current work

βš™οΈ Professional Settings Dashboard

Real-time status monitoring for users:

  • Secure Authentication: Token-based setup with one-time personal token validation
  • Real-time Connection Status: Live monitoring of iTop connectivity
  • User Profile Display: See your iTop identity (name, email, organization)
  • Open Tickets Counter: Real-time count of Incidents + User Requests
  • Notification Control: Configure alerts for new assignments and updates

πŸ› οΈ Enterprise Admin Panel

Comprehensive administration interface:

  • Centralized Configuration: System-wide settings with encrypted token storage
  • Connection Testing: Real-time validation of iTop server connectivity
  • User Monitoring: Track connected users and system health
  • Professional UI: Clean, theme-aware interface matching Nextcloud design

πŸ” Security & Architecture

Dual-Token Security Model:

  • Application Token: Admin-level token (encrypted) for all API queries
  • Personal Token: User-provided token for one-time identity verification (never stored)
  • Person ID Mapping: Secure user identification without exposing sensitive data
  • Data Isolation: All queries filtered by Person ID - users only see their own data
  • Portal User Support: Works with SAML/external authentication via Portal Personal Tokens

Technical Architecture:

  • Clean MVC structure with dedicated service layer
  • Professional UI matching Nextcloud design standards
  • Comprehensive error handling and logging
  • Modular design for easy extension

πŸ“‹ Requirements

🎯 Perfect For

  • IT teams managing incidents and service requests
  • Help desk agents tracking assigned tickets
  • Service managers monitoring team workload
  • End users checking their request status
  • Organizations using both Nextcloud and iTop ITSM

πŸš€ Installation

  1. Download and extract the app to your Nextcloud apps directory
  2. Enable the app: sudo -u www-data php occ app:enable integration_itop
  3. Configure admin settings: Settings β†’ Administration β†’ iTop Integration
  4. Users configure personal tokens: Settings β†’ Personal β†’ iTop Integration

πŸ“„ Documentation

Complete installation and configuration guide available in the README.md.

πŸ“ License

This project is licensed under the AGPL-3.0 License.


Developed for seamless ITSM integration β€’ Made with ❀️ for the Nextcloud community