Domanda

Ai vecchi tempi, l’aiuto non era banale ma possibile:genera un file .rtf originale con tag speciali, eseguilo tramite un compilatore e ottieni un file WinHelp (.hlp) che funziona davvero molto bene.

Quindi, Microsoft ha deciso che WinHelp non era più alla moda e alla moda e è passato a CHM, fino al punto in cui ha effettivamente eliminato WinHelp da Vista.

Ora, CHM può essere carino, ma tutti coloro che hanno provato ad aprire un file .chm sulla rete conosceranno la simpatica schermata "La navigazione alla pagina Web è stata annullata" causata da restrizioni di sicurezza.

Sebbene esistano modi per far funzionare CHM fuori dalla rete, questa non è certo una buona scelta, perché quando un utente preme il pulsante Aiuto vuole aiuto e non deve effettuare alcune impostazioni bizzarre.

Linea di fondo:Trovo CHM assolutamente inutilizzabile.Ma visto che anche WinHelp non è più un'opzione, mi chiedo quali siano le alternative, soprattutto quando si tratta di integrarsi con la mia applicazione (ad es.per WinHelp e CHM sono presenti funzioni che consentono di passare direttamente ad un argomento)?

Il PDF ha lo svantaggio di richiedere Adobe Reader (o uno di quelli più leggeri che non molte persone utilizzano).Potrei conviverci visto che al giorno d'oggi è una specie di standard, ma puoi dirlo in modo affidabile per passare a una determinata pagina/ancoraggio?

I file HTML sembrano essere la scelta migliore, poi devi solo gestire diversi browser (CSS e cose del genere).

Modificare: Sto cercando di creare i miei file della Guida.Dato che sono un fan della filosofia "Nessuna configurazione, basta estrarre ed eseguire", ho avuto questo problema molte volte in passato perché molti dei miei utenti lo eseguivano fuori dalla rete, il che causa esattamente questo problema.

Quindi sto cercando un modo più robusto e a prova di futuro per fornire aiuto ai miei utenti senza dover codificare un sistema di guida diverso per ogni applicazione che realizzo.

CHM è un formato davvero carino, ma i problemi di sicurezza lo rendono inutilizzabile, poiché un sistema di aiuto dovrebbe fornire aiuto all'utente, non generare ulteriori problemi.

È stato utile?

Soluzione

L'HTML sarebbe la scelta migliore successiva, SOLO SE li servissi da un server web pubblico.Se provassi a raggrupparlo con la tua app, tutti i file (e le immagini (e i fogli di stile (e ...))) farebbero sembrare CHM un dono degli dei.

Detto questo, quando sono effettivamente inclusi nel pacchetto di installazione (invece di essere serviti in rete), ho trovato che i file CHM funzionavano bene.

OTOH, un'altra trappola sui file CHM:Anche se provi ad aprire un file CHM su a Locale disk, potresti imbatterti nel blocco di sicurezza se lo hai inizialmente scaricato da qualche parte, perché il file potrebbe essere contrassegnato come "proveniente da una fonte esterna" quando è stato ottenuto.

Altri suggerimenti

Non mi piace l'opzione html e in realtà sono passato dal semplice HTML al CHM comprimendoli e indicizzandoli.Usali anche su una manciata di clienti non Windows.Ha semplicemente risolto i piccoli problemi costanti provocati dalle persone che lo mettevano in rete (profondità di nidificazione limitata, strani effetti di blocco), antivirus che moriva nelle directory con 30000 file html e tempo di decompressione di 20 minuti durante l'installazione su un sistema più vecchio, zone di sicurezza del browser e caratteristiche, calcoli errati dello spazio necessario nel programma di installazione, ecc.

E poi non includo nemmeno le persone che iniziano a "correggerli", prodotti di terze parti con tentativi di "integrazione" errati, ecc., reclami sulla lentezza (avvio del browser)

Avevamo tutti aspettato anni che i problemi sparissero con il miglioramento dei sistemi operativi e dell'hardware, ma i problemi continuavano a ripresentarsi in un numero sorprendente di varietà e basta era abbastanza.Abbiamo trovato chmlib e abbiamo deciso che avremmo potuto usare per sempre qualcosa basato su questo come escape con un semplice lettore esterno, se il sistema operativo fornito avesse smesso di funzionare e fosse cambiato.

Nel frattempo abbiamo anche un proprio compilatore, quindi siamo liberi da MS e a prova di futuro.Ciò non significa che non cambieremo mai (le soluzioni con server web locali sembrano oggi le preferite), ma almeno abbiamo una scelta.

Il nostro software è distribuito localmente ai clienti e servito da una condivisione di rete.Abbiamo optato per generare sia un file CHM che una serie di file HTML da servire dalla rete.Gli utenti che avviano il programma localmente utilizzano il file CHM e gli utenti che ricevono il proprio programma da una condivisione di rete devono utilizzare i file HTML.

Noi usiamo Aiuto e manuale e può quindi produrre facilmente entrambi i tipi di output dallo stesso progetto sorgente.I file HTML contengono anche funzionalità di ricerca e non richiedono un server Web, quindi sebbene non sia una soluzione ottimale, funziona bene.

Finora tutti i tipi di file singoli per Windows sembrano danneggiati in un modo o nell'altro:

  • WinHelp: obsoleto
  • HtmlHelp (CHM) - obsoleto su Vista, non funziona dalla condivisione di rete, a parte il fatto che funziona davvero bene
  • Microsoft Help 2 (HXS): sembra funzionare fino al punto in cui non funziona più, indici danneggiati o simili, viene utilizzato da Visual Studio 2005 e versioni successive, come esempio

Se non desideri utilizzare un programma di installazione e non desideri che l'utente esegua passaggi aggiuntivi per consentire i file CHM sulla rete, perché non ricorrere a WinHelp?Vista non include WinHlp32.exe immediatamente, ma lo è liberamente disponibile come download sia per Vista che per Server 2008.

Dipende da come è importata la documentazione online nel tuo prodotto, una buona infrastruttura di documentazione può essere complessa da realizzare ma, una volta realizzata, ripaga.Ecco come lo facciamo -

  • Fonte dell'aiuto DITA XML compilante, archiviato in SCC (ClearCase).
  • Aiuto nella modifica XMetal
  • Compilazione della guida, personalizzata Aprire il kit degli strumenti DITA, con preelaborazione Perl/Java personalizzata
  • Aiuta a fornire riferimenti incrociati alle risorse delle applicazioni in fase di compilazione, file .RC ecc
  • Risultati finali di aiuto da un'unica fonte, PDF, CHM, Aiuto Eclissi, HTML.
  • Il repository con un'unica fonte produce assistenza per più prodotti 10+ con migliaia di argomenti condivisi.

Da quello che descrivi, guarderei la Guida di Eclipse, non è semplice da integrare nelle applicazioni .NET o MFC, in pratica devi eseguire la mappatura della guida per risolvere la richiesta in un URL, quindi attivare l'URL nel wrapper della Guida di Eclipse o in un browser.

La domanda è come generare i propri file di aiuto o qual è il miglior formato di file di aiuto?

Personalmente trovo che il CHM sia eccellente.Una delle prime cose che faccio quando configuro una macchina è scaricare il Manuale PHP in formato CHM (http://www.php.net/download-docs.php) e aggiungi un tasto di scelta rapida Redattore Cremisi.Quindi, quando premo F1, carica il CHM ed esegue una ricerca per la parola su cui si trova il cursore (ottimo per un rapido riferimento alle funzioni).

Se stai eseguendo "basta estrarre ed eseguire", ti imbatterai in problemi di sicurezza.Ciò è particolarmente vero se gli utenti utilizzano Vista (o versioni successive).c'è un motivo per cui volevi evitare di impacchettare le tue applicazioni all'interno di un programma di installazione?L'utilizzo di un programma di installazione allevierebbe il problema della "fonte esterna".Sarai in grado di utilizzare i file .chm senza problemi.

Noi usiamo InstallAware per creare i nostri pacchetti di installazione.Non è economico, ma è molto buono.Se il costo è la tua preoccupazione, WIX è open source e piuttosto robusto.WIX ha una curva di apprendimento, ma è facile lavorarci.

Il PDF ha lo svantaggio di richiedere Adobe Reader

Io uso Lettore Foxit su Windows a casa e al lavoro.Molto più piccolo e molto veloce da aprire.Molto utile quando ti stai chiedendo cos'è esattamente a80000326.pdf e perché sta intasando la cartella dei documenti.

Penso che la soluzione che alla fine utilizzeremo per la nostra applicazione sarà quella di ospitare noi stessi i file della guida.Questo ci dà accesso immediato ai file e la possibilità di mantenerli aggiornati.

Ciò che intendo è caricare il contenuto in un'enorme serie di file XML, ciascuno contenente la guida per un elemento specifico.Questo XML conterrebbe collegamenti ad altri file XML.Utilizzeremmo XSLT per visualizzare i contenuti secondo necessità.

A seconda della licenza, potremmo creare un file XSLT specifico per il cliente per adattare l'aspetto alle sue esigenze.Potrebbe essere necessario essere in grado di mostrare la guida solo per versioni particolari del nostro prodotto e ciò può essere fatto filtrando i contenuti nell'XSLT.

Utilizzo un pacchetto commerciale chiamato AuthorIT che può generare numerosi formati diversi, come chm, html, pdf, word, windows help, xml, xhtml e alcuni altri di cui non ho mai sentito parlare (dita ti dice qualcosa?).È un sistema di gestione dei contenuti orientato alle esigenze degli autori di documentazione tecnica.Il vantaggio è che puoi utilizzare e riutilizzare lo stesso contenuto per creare una serie di guide e quindi generarle in formati diversi.

Quindi la conclusione relativa alla questione della scelta di chm o html o qualsiasi altra cosa è che se lo stai utilizzando non sei bloccato in un determinato formato, ma puoi fornirne diversi tra cui l'utente può scegliere, e puoi anche aggiungere più formati mentre procedi, senza costi aggiuntivi.

Se hai solo una guida da creare non ne varrà la pena, ma se hai una serie di documenti da gestire allora è la migliore per quanto ne so.Anche il loro supporto è molto utile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top