|
| 1 | +# Implementazione Sistema Help con GitHub Pages |
| 2 | + |
| 3 | +## Panoramica |
| 4 | + |
| 5 | +Questo documento descrive l'implementazione del sistema di help integrato nel plugin WFS Catasto Download Particelle BBox, che utilizza GitHub Pages per fornire una documentazione online accessibile tramite un bottone nell'interfaccia utente. |
| 6 | + |
| 7 | +## Architettura |
| 8 | + |
| 9 | +### 1. GitHub Pages |
| 10 | +- **URL**: https://pigreco.github.io/wfs_catasto_download_particelle_bbox/ |
| 11 | +- **File**: `index.html` (nel root del repository) |
| 12 | +- **Stile**: CSS integrato, design responsive |
| 13 | +- **Contenuto**: Guida completa con navigazione interna |
| 14 | + |
| 15 | +### 2. Interfaccia Plugin |
| 16 | +- **Posizione**: Finestra di dialogo principale (`SceltaModalitaDialog` in `wfs_catasto_download_particelle_bbox_d.py`) |
| 17 | +- **Bottone**: "❓ Aiuto" (colore verde, posizionato a sinistra) |
| 18 | +- **Comportamento**: Apre il browser di sistema all'URL di help |
| 19 | + |
| 20 | +### 3. Gestione Errori |
| 21 | +- Fallback: Se il browser non si apre automaticamente, viene mostrato un dialog con l'URL da copiare manualmente |
| 22 | + |
| 23 | +## File Modificati |
| 24 | + |
| 25 | +### `wfs_catasto_download_particelle_bbox_d.py` |
| 26 | +```python |
| 27 | +# Aggiunto import |
| 28 | +import webbrowser |
| 29 | + |
| 30 | +# Aggiunto QMessageBox agli imports QtWidgets |
| 31 | + |
| 32 | +# Modificato layout bottoni (linea ~285) |
| 33 | +bottom_layout = QHBoxLayout() |
| 34 | +btn_aiuto = QPushButton("❓ Aiuto") |
| 35 | +# ... stile e configurazione |
| 36 | + |
| 37 | +# Aggiunto metodo (linea ~410) |
| 38 | +def _on_aiuto(self): |
| 39 | + help_url = "https://pigreco.github.io/wfs_catasto_download_particelle_bbox/" |
| 40 | + try: |
| 41 | + webbrowser.open(help_url) |
| 42 | + except Exception as e: |
| 43 | + QMessageBox.information(self, "Aiuto Plugin", f"Visita: {help_url}") |
| 44 | +``` |
| 45 | + |
| 46 | +### `index.html` (nuovo file) |
| 47 | +- Documentazione HTML completa |
| 48 | +- CSS integrato per design professionale |
| 49 | +- Navigazione con ancore per sezioni |
| 50 | +- Content responsive per mobile |
| 51 | +- Stile coerente con i colori del plugin |
| 52 | + |
| 53 | +## Configurazione GitHub Pages |
| 54 | + |
| 55 | +1. **Repository Settings** → **Pages** |
| 56 | +2. **Source**: Deploy from a branch |
| 57 | +3. **Branch**: master / main |
| 58 | +4. **Folder**: / (root) |
| 59 | + |
| 60 | +Il file `index.html` viene servito automaticamente come homepage. |
| 61 | + |
| 62 | +## Contenuti Documentazione |
| 63 | + |
| 64 | +### Sezioni Principali |
| 65 | +- 🔧 **Installazione**: Procedure dettagliate per OS |
| 66 | +- 🎯 **Modalità d'uso**: Guida per ogni modalità (BBox, Poligono, Asse, Punti) |
| 67 | +- ⚙️ **Configurazioni**: Funzionalità avanzate e personalizzazioni |
| 68 | +- 🚨 **Troubleshooting**: Risoluzione problemi comuni |
| 69 | +- 📋 **Changelog**: Cronologia versioni |
| 70 | + |
| 71 | +### Design Pattern |
| 72 | +- **Colori**: Palette coerente con l'interfaccia plugin |
| 73 | +- **Icone**: Emoji per migliorare la leggibilità |
| 74 | +- **Layout**: Grid responsive, sidebar navigation |
| 75 | +- **Tipografia**: Gerarchia chiara, codice evidenziato |
| 76 | + |
| 77 | +## Best Practices Implementate |
| 78 | + |
| 79 | +### Accessibilità |
| 80 | +- Contrasti colori conformi WCAG |
| 81 | +- Navigazione keyboard-friendly |
| 82 | +- Testo scalabile e leggibile |
| 83 | + |
| 84 | +### Performance |
| 85 | +- CSS inline per ridurre richieste HTTP |
| 86 | +- Immagini ottimizzate (quando necessario) |
| 87 | +- HTML semantico per SEO |
| 88 | + |
| 89 | +### Manutenibilità |
| 90 | +- CSS con variabili custom properties |
| 91 | +- Struttura HTML modulare |
| 92 | +- Commenti nel codice |
| 93 | + |
| 94 | +## Aggiornamenti Futuri |
| 95 | + |
| 96 | +Per aggiornare la documentazione: |
| 97 | +1. Modifica `index.html` nel repository |
| 98 | +2. Commit e push su master/main |
| 99 | +3. GitHub Pages si aggiorna automaticamente |
| 100 | +4. L'URL rimane invariato per il plugin |
| 101 | + |
| 102 | +## Testing |
| 103 | + |
| 104 | +### Verifiche Necessarie |
| 105 | +- [ ] Bottone "❓ Aiuto" visibile nell'interfaccia |
| 106 | +- [ ] Click apre correttamente il browser |
| 107 | +- [ ] URL raggiungibile e contenuto visualizzato |
| 108 | +- [ ] Fallback funziona se browser non si apre |
| 109 | +- [ ] Design responsive su diversi dispositivi |
| 110 | +- [ ] Navigazione interna funzionante |
| 111 | + |
| 112 | +### Compatibilità |
| 113 | +- ✅ QGIS 3.x (Qt5) |
| 114 | +- ✅ QGIS 4.x (Qt6) |
| 115 | +- ✅ Windows, Linux, macOS |
| 116 | +- ✅ Browser moderni (Chrome, Firefox, Safari, Edge) |
| 117 | + |
| 118 | +## Considerazioni Release |
| 119 | + |
| 120 | +Quando si crea una nuova release: |
| 121 | +1. La documentazione rimane aggiornata automaticamente |
| 122 | +2. Non serve rigenerare l'HTML per ogni versione plugin |
| 123 | +3. L'URL help è fisso e non cambia tra versioni |
| 124 | +4. Considerare di aggiornare il changelog in `index.html` |
| 125 | + |
| 126 | +--- |
| 127 | + |
| 128 | +*Implementazione completata - Sistema help pronto per produzione* |
0 commit comments