O conjunto de caracteres local é o conjunto de caracteres que pode ser digitado ou exibido no shell de linha de comandos do sistema operacional cliente. No sistema UNIX, o conjunto de caracteres local é controlado pela variável de ambiente LANG. No Windows, é controlado por configurações em Opções Regionais e de Idiomas.
Nas versões do Rational ClearQuest anteriores à 7.0, as operações de gravação não eram permitidas a menos que o conjunto de caracteres local correspondesse à página de códigos de dados do ClearQuest. Se as configurações não correspondessem, somente operações de leitura eram permitidas. O modo de leitura foi necessário porque os aplicativos ClearQuest utilizaram o conjunto de caracteres local do cliente ou do servidor da Web para gravar dados no banco de dados em vez da página de códigos de dados do ClearQuest no conjunto de bancos de dados.
A partir da versão 7.0, o software Rational ClearQuest processa dados em Unicode, e seus aplicativos utilizam a página de códigos de dados do ClearQuest para gravar em seus bancos de dados. Esses aplicativos podem se conectar ao banco de dados ClearQuest no modo de leitura/gravação mesmo quando o conjunto de caracteres local não corresponder à página de códigos de dados do ClearQuest.
O conjunto de caracteres do banco de dados do fornecedor para o Oracle é referido como conjunto de caracteres ou charset; para o IBM DB2 como página de códigos ou conjunto de códigos e para o SQL Server como página de códigos ou ordenação.
A partir da versão 7.1.1 do Rational ClearQuest, é possível selecionar uma página de códigos de dados UTF-8 ClearQuest para os conjuntos de bancos de dados Oracle e DB2. Uma página de códigos de dados UTF-8 permite o armazenamento de caracteres multilinguais no banco de dados do usuário. Ao selecionar o UTF-8 como a página de códigos de dados, você trabalhará em uma implementação de conjunto de caracteres local combinado, a menos que a página de códigos local do sistema operacional também seja UTF-8. Esse último não é uma opção nos sistemas Windows.
Scripts e ganchos gravados para uma implementação de conjunto de caracteres local misto ou um ambiente de banco de dados multilingual UTF-8 devem tratar dos dados de caracteres do ClearQuest que podem não ser incluídos no conjunto de caracteres local. Esses scripts e ganchos devem ser codificados para suportar Unicode para tirar vantagem desta capacidade nestes ambientes.
O Designer inclui uma nova configuração: Identificador Unicode. Os ganchos gravados para a versão 7.0 podem especificar se os caracteres de cadeias retornadas das chamadas API do ClearQuest precisam estar somente no conjunto de caracteres local (RETURN_STRING_LOCAL) ou se podem ser qualquer caractere Unicode (RETURN_STRING_UNICODE). Além disso, há novas funções API disponíveis para controlar o modo de cadeia de retorno. No modo RETURN_STRING_LOCAL, uma chamada API retorna uma exceção se a cadeia de retorno incluir caracteres que não possam ser representados no conjunto de caracteres local. No modo RETURN_STRING_UNICODE, uma chamada API retorna todos os caracteres sem erros.
Para garantir que ganchos e scripts manipulem todos os dados em uma implementação de conjunto de caracteres local combinado ou UTF-8, é necessário configurar o modo para RETURN_STRING_UNICODE e manipular corretamente os caracteres Unicode que podem ser retornados. Configurar o modo da cadeia de retorno como RETURN_STRING_UNICODE não é suficiente; você deve verificar se seu código pode manipular corretamente os caracteres Unicode. As diretrizes listadas abaixo são úteis, mas basicamente, é necessário utilizar as técnicas de programação Unicode apropriadas para a linguagem de script.
Se estiver fazendo upgrade para a versão 7.0, estas alterações não possuem nenhum impacto em um esquema existente de todos os conjuntos de caracteres locais no ambiente corresponderem com a página de códigos de dados do ClearQuest, como era comum em versões anteriores. O modo padrão é RETURN_STRING_LOCAL, o que permite que ganchos e scripts continuem a funcionar.
Se estiver implementando a versão 7.0 em um ambiente no qual conjuntos de caracteres locais não correspondem com a página de códigos de dados do ClearQuest, você deve assegurar que seus scripts possam processar dados de caracteres Unicode para o software ClearQuest, configure o modo de retorno para scripts como RETURN_STRING_UNICODE e faça upgrade dos pacotes para a versão 7.0. Para obter uma lista de pacotes do ClearQuest que oferecem suporte a Unicode, consulte Tabela 1. Os scripts que não manipulam Unicode podem ser executados, mas um erro será retornado se o sistema tentar retornar para o script qualquer dado de caractere que não esteja incluído no conjunto de caracteres local. Esses scripts continuarão a funcionar contanto que os dados que eles processam fiquem restritos ao conjunto de caracteres local do cliente ou do servidor da Web.
Pacote | Modo de Cadeia de Retorno |
---|---|
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 |
O software ClearQuest manipula todos os dados como caracteres Unicode. No entanto, talvez os ganchos do esquema (Perl e Visual Basic) e outras integrações ou aplicativos API do ClearQuest não estejam codificadas para processar caracteres Unicode. Na versão 7.0, um modo de cadeia de retorno está disponível para manipular este problema. O código do gancho pode ser configurado para Identificador Unicode no editor de script do Designer para indicar que o script é executado no modo de cadeia de retorno RETURN_STRING_UNICODE. (Para isso, selecione a caixa de opções Identificador Unicode). Os scripts podem chamar o métodoSetPerlReturnStringMode ou SetBasicReturnStringMode para configurar o modo de cadeia de retorno para RETURN_STRING_UNICODE.
O modo de cadeia de retorno restringe (RETURN_STRING_LOCAL) ou permite representação completa de caracteres (RETURN_STRING_UNICODE) quando as cadeias são retornadas pela API do ClearQuest para Perl ou COM.
Considera-se uma boa prática gravar os ganchos e scripts que podem processar caracteres Unicode. RETURN_STRING_LOCAL é fornecido como o modo de cadeia de retorno padrão para que ganchos e scripts existentes para versões anteriores do software ClearQuest possam executar sem alterações. Com o tempo, você deve modificar os ganchos e scripts existentes para funcionarem no modo RETURN_STRING_UNICODE, mesmo que no momento não haja a necessidade de Unicode.
Por padrão, uma exceção é emitida na etapa 2 quando o script API do ClearQuest retorna com uma cadeia que inclui caracteres de fora do conjunto de caracteres local. A exceção impede a distorção dos dados. Depois de revisar e confirmar que o código pode processar caracteres Unicode, é possível configurar o modo de cadeia de retorno RETURN_STRING_UNICODE ao utilizar a API do ClearQuest ou no editor de script do Designer. Fazendo esta alteração, na etapa 2 a API do ClearQuest para Perl retorna a cadeia de valor do campo como UTF8 (UNICODE) se a cadeia contiver dados do conjunto de caracteres não locais, e a API do ClearQuest para VBScript, Visual Basic ou COM retorna caracteres Unicode não restritos. Os caracteres que não puderem ser representados no conjunto de caracteres local, poderão ser retornados ao gancho ou script para serem processados como caracteres Unicode.
No modo RETURN_STRING_LOCAL, é possível executar operações como execução de consultas e os conjuntos de resultados das consultas podem incluir caracteres Unicode. Uma exceção é gerada somente se os dados forem extraídos desse conjunto de resultados por um método da API do Rational ClearQuest e os caracteres retornados da chamada da API não estiverem no conjunto de caracteres local. Por exemplo, uma integração ou aplicativo externo pode operar em um controle de mudanças se os dados que são transmitidos de volta para a integração contiverem somente caracteres do conjunto de caracteres local. O código de integração deve manipular a exceção que é emitida por um método API do Rational ClearQuest quando os caracteres retornados não estiverem no conjunto de caracteres local. Se a API de integração for configurada como RETURN_STRING_UNICODE, a exceção não será emitida, mas o aplicativo precisará manipular corretamente qualquer caractere Unicode que for retornado. Em ambos os modos RETURN_STRING_LOCAL e RETURN_STRING_UNICODE, as exceções também são retornadas para a integração de chamadas ou aplicativo se o aplicativo gravar os caracteres que não podem ser representados na página de códigos de dados do ClearQuest.
Para obter mais informações, consulte Configurando o modo de cadeia de retorno para ganchos e scripts na ajuda de Referência de API do IBM Rational ClearQuest.
Alguns pacotes ou esquemas não foram desenvolvidos para manipular Unicode e dados do conjunto de caracteres que não sejam locais. O suporte que cada script em cada pacote oferece, é indicado no editor de script do Designer (a caixa de opções Identificador Unicode está selecionada). Os esquemas DefectTracking e Common oferecem suporte a Unicode. No entanto, qualquer esquema que inclua um pacote que não dê suporte a caracteres Unicode, não pode ser utilizado em uma implementação de conjuntos de caracteres mistos. Consulte o Tabela 1.
É possível editar ou incluir ganchos que acessam os campos de pacote e esses ganchos são considerados como parte do pacote. Esses ganchos herdam o suporte padrão Unicode do pacote, mas o Designer não exibe essa configuração correta para o gancho.
Se os conjuntos de caracteres locais de todos os clientes conectados em um conjunto ou clã de bancos de dados ou corresponderem com a página de códigos de dados, você não precisa considerar estas questões. Para obter mais informações sobre representações de caractere e configurações de página de códigos, consulte a ajuda on-line Administrando o Rational ClearQuest.