L'insieme di caratteri locali è il gruppo di caratteri che può essere immesso o visualizzato nella shell della riga comandi del sistema operativo client. Sul sistema UNIX, l'insieme di caratteri locali è controllato dalla variabile di ambiente LANG. In Windows, è controllato dalle impostazioni in Opzioni di lingua e di regione.
Nelle versioni di Rational ClearQuest precedenti alla 7.0, le operazioni di scrittura non sono consentite a meno che l'insieme di caratteri locali non corrisponda alla codepage dei dati ClearQuest. Se le impostazioni non corrispondono, sono consentite solo le operazioni di sola lettura. La modalità di sola lettura era necessaria poiché le applicazioni ClearQuest utilizzavano l'insieme di caratteri locali del client o del server Web per scrivere i dati sul database, invece della codepage dei dati ClearQuest per la serie di database.
A partire dalla versione 7.0, il software Rational ClearQuest elabora i dati in Unicode e le applicazioni utilizzano la codepage dei dati ClearQuest per scrivere sui database. Queste applicazioni possono collegarsi al database ClearQuest in modalità di lettura/scrittura anche quando l'insieme di caratteri locali non corrisponde alla codepage dei dati ClearQuest.
L'insieme dei caratteri del database del fornitore per Oracle è definito come insieme di caratteri o charset; per IBM DB2 come codepage o codeset e per SQL Server come codepage o raccolta.
A partire da Rational ClearQuest versione 7.1.1, è possibile selezionare una codepage di dati UTF-8 di ClearQuest per serie di database Oracle e DB2. Una codepage di dati UTF-8 consente la memorizzazione di caratteri in più lingue nel database utente. Quando si seleziona UTF-8 come codepage di dati, si sta utilizzando una distribuzione dell'insieme di caratteri locali misti a meno che anche la codepage locale del sistema operativo non sia UTF-8. Quest'ultima non è un'opzione sui sistemi Windows.
Script e hook scritti per una distribuzione di serie di caratteri locali misti o un ambiente database multilingua UTF-8 devono gestire i dati carattere ClearQuest che potrebbero non essere inclusi nella serie di caratteri locale. Per poter utilizzare questa funzionalità in tali ambienti è necessario che questi script ed hook siano codificati per supportare Unicode.
Designer include una nuova impostazione: Unicode Aware. Gli hook scritti per la versione 7.0 possono specificare se i caratteri di stringa restituiti dai richiami API di ClearQuest devono trovarsi solo nell'insieme di caratteri locali (RETURN_STRING_LOCAL) o possono essere caratteri Unicode (RETURN_STRING_UNICODE). Inoltre, le nuove funzioni API sono disponibili per controllare la modalità della stringa di restituzione. In modalità RETURN_STRING_LOCAL, un richiamo API restituisce un'eccezione se la stringa di restituzione include caratteri che non possono essere rappresentati nell'insieme di caratteri locali. In RETURN_STRING_UNICODE, un richiamo API restituisce tutti i caratteri senza errori.
Per verificare che gli hook e gli script gestiscano tutti i dati in una distribuzione UTF-8 o dell'insieme di caratteri locali misti, è necessario impostare la modalità su RETURN_STRING_UNICODE e gestire correttamente i caratteri Unicode che potrebbero essere restituiti. Non è sufficiente impostare la modalità di stringa di restituzione su RETURN_STRING_UNICODE; è necessario verificare che il codice possa gestire i caratteri Unicode in modo corretto. Le istruzioni elencate di seguito sono utili ed è necessario utilizzare le tecniche di programmazione Unicode appropriate per il linguaggio di script.
Se si sta eseguendo l'aggiornamento alla versione 7.0, queste modifiche non influiscono su uno schema esistente se tutti gli insiemi di caratteri locali nell'ambiente corrispondono alla codepage dei dati ClearQuest, come avveniva solitamente nelle versioni precedenti. La modalità predefinita è RETURN_STRING_LOCAL, che consente agli hook e agli script di continuare a funzionare.
Se viene distribuita la versione 7.0 in un ambiente in cui gli insiemi di caratteri locali non corrispondono alla codepage dei dati di ClearQuest, è necessario verificare che gli script possano elaborare i dati di carattere Unicode per il software ClearQuest, impostare la modalità di restituzione per gli script su RETURN_STRING_UNICODE ed aggiornare i package alla versione 7.0. Per un elenco dei package ClearQuest che supportano Unicode, consultare Tabella 1. Gli script che non gestiscono Unicode possono essere eseguiti, ma viene restituito un errore se il sistema tenta di restituire allo script dei dati di carattere che non sono inclusi nell'insieme di caratteri locali. Questi script continuano ad operare fino a quando i dati elaborati sono limitati all'insieme di caratteri locali del client o del server Web.
Package | Modalità stringa di restituzione |
---|---|
AMWorkActivitySchedule | RETURN_STRING_UNICODE |
ATStateTypes | RETURN_STRING_UNICODE |
Attachments | RETURN_STRING_UNICODE |
AuditTrail | RETURN_STRING_UNICODE |
BTStateTypes | RETURN_STRING_UNICODE |
BuildTracking | RETURN_STRING_UNICODE |
CQTM | RETURN_STRING_UNICODE |
Customer | RETURN_STRING_UNICODE |
DeploymentTracking | RETURN_STRING_UNICODE |
DTStateTypes | RETURN_STRING_UNICODE |
RETURN_STRING_UNICODE | |
EnhancementRequest | RETURN_STRING_UNICODE |
eSignature | RETURN_STRING_UNICODE |
History | RETURN_STRING_UNICODE |
Notes | RETURN_STRING_UNICODE |
Project | RETURN_STRING_UNICODE |
Resolution | RETURN_STRING_UNICODE |
TPM | RETURN_STRING_UNICODE |
Il software ClearQuest gestisce tutti i dati come caratteri Unicode. Tuttavia, gli hook di schema (Perl e Visual Basic) e le altre applicazioni API di ClearQuest o integrazioni non possono essere codificate per elaborare i caratteri Unicode. Nella versione 7.0, una modalità della stringa di restituzione è disponibile per gestire questo problema. Il codice hook può essere impostato su Unicode Aware nell'editor di script Designer per indicare che lo script viene seguito in una modalità della stringa di restituzione RETURN_STRING_UNICODE. Per eseguire tale operazione, selezionare la casella di spunta Unicode Aware. Gli script possono richiamare il metodo SetPerlReturnStringMode o SetBasicReturnStringMode per impostare la modalità della stringa di restituzione su RETURN_STRING_UNICODE.
La modalità della stringa di restituzione limita (RETURN_STRING_LOCAL) o consente l'intera rappresentazione di caratteri (RETURN_STRING_UNICODE) quando le stringhe sono restituite dall'API di ClearQuest per Perl o COM.
È preferibile scrivere gli hook e gli script che possono elaborare i caratteri Unicode. RETURN_STRING_LOCAL viene fornito come modalità della stringa di restituzione predefinita in modo tale che gli hook e gli script esistenti per le versioni precedenti del software ClearQuest possano essere eseguiti senza modifiche. Nel tempo, è opportuno modificare gli hook e gli script esistenti da utilizzare in modalità RETURN_STRING_UNICODE, anche se attualmente non è necessario Unicode.
Per impostazione predefinita, un'eccezione viene rilevata nel passo 2 quando lo script API ClearQuest viene restituito con una stringa che include i caratteri all'esterno dell'insieme di caratteri locali. L'eccezione evita la corruzione dei dati. Una volta verificato e confermato che il codice può elaborare caratteri Unicode, è possibile impostare la modalità della stringa di restituzione RETURN_STRING_UNICODE utilizzando l'API di ClearQuest o nell'editor di script di Designer. Apportando questa modifica, nella fase 2 l'API di ClearQuest per Perl restituisce la stringa del valore del campo come UTF8 (UNICODE) se la stringa contiene dati dell'insieme di caratteri non locali e l'API di ClearQuest per VBScript, Visual Basic o COM restituisce caratteri Unicode illimitati. I caratteri che non possono essere rappresentati nell'insieme di caratteri locali possono essere restituiti all'hook o allo script per l'elaborazione come caratteri Unicode.
Nella modalità RETURN_STRING_LOCAL, le operazioni quali l'esecuzione di query possono essere eseguite e la serie dei risultati della query può includere i caratteri Unicode. Un'eccezione viene creata solo se i dati sono estratti dalla serie di risultati da un metodo dell'API di Rational ClearQuest e i caratteri restituiti dal richiamo API non si trovano nell'insieme di caratteri locali. Ad esempio, un'integrazione o un'applicazione esterna può operare su una richiesta di modifica se i dati trasferiti all'integrazione contengono solo i caratteri dell'insieme di caratteri locali. Il codice di integrazione deve gestire l'eccezione rilevata da un metodo dell'API di Rational ClearQuest quando i caratteri restituiti non si trovano nell'insieme di caratteri locali. Se un'API di integrazione viene configurata come RETURN_STRING_UNICODE, l'eccezione non viene rilevata e l'applicazione deve gestire correttamente qualsiasi carattere Unicode restituito. In entrambe le modalità RETURN_STRING_LOCAL e RETURN_STRING_UNICODE, le eccezioni sono restituite all'integrazione di richiamo o all'applicazione se l'applicazione scrive i caratteri che non possono essere rappresentati nella codepage dei dati ClearQuest.
Per ulteriori informazioni, consultare Impostazione della modalità della stringa di ritorno per gli hook e gli script nella guida Riferimento API IBM Rational ClearQuest.
Alcuni package o schemi non sono stati progettati per gestire i dati dell'insieme di caratteri non locali e Unicode. Il supporto che ogni script di ciascun package offre è indicato nell'editor di script di Designer (la casella di spunta Unicode Aware è selezionata). Gli schemi DefectTracking e Common supportano Unicode. Tuttavia, qualsiasi schema che include un package che non supporta i caratteri Unicode non può essere utilizzato in una distribuzione dell'insieme di caratteri misti. Consultare Tabella 1.
È possibile modificare o aggiungere gli hook che accedono ai campi del package e questi hook sono considerati parte del package. Questi hook ereditano il supporto Unicode predefinito dal package, ma Designer non visualizza questa impostazione corretta per l'hook.
Se gli insiemi di caratteri locali di tutti i client connessi ad una serie di database o ad un gruppo corrispondono alla codepage dei dati, non è necessario considerare queste problematiche. Per ulteriori informazioni sulle rappresentazioni dei caratteri e sulle impostazioni di codepage, consultare la guida online per la Gestione di Rational ClearQuest.