guia_de_migracao.txt
20.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
GUIA DE UPDATES e UPGRADES
-------------------------------------------------------------------------------------------------
Para a versão 7.0
Inclusão da variável $ogrOutput em ms_configura.php, que indica se o OGR esta corretamente instalado, permitindo o seu uso nos servicos OGC de exportacao de dados
Inclusão da variável $logTransacoes em ms_configura.php para ativar/desativar o log de transações com o banco de dados de administração
Os programas javascript do core do i3Geo agora ficam na pasta i3geo/js
O aplicativo datadownload foi removido
As funcionalidades de download foram concentrados no aplicativo de acesso aos webservices OGC
A string de conexão com o sistema de metadados estatísticos deve ser definida em ms_configura.php e não mais no banco de dados de administração
-------------------------------------------------------------------------------------------------
Para a versão 6.0
- para permitir o retorno da requisição WMS getfeatureinfo em JSON, foi incluído no mapfile base utilizado para
gerar os serviços OGC a linha "wms_feature_info_mime_type" "application/json" em WEB->METADATA
Caso você utilize um mapfile específico da sua instalação, veja o arquivo original existente em i3geo/aplicmap
para fazer as adaptações.
- style.overflow passou a ser definido automaticamente como "hidden" para previnir problemas com as janelas de informação.
Essa definição ocorre apenas quando o elemento body do HTML contiver o id definido como "i3geo" e quando seu estilo
"overflow" não estiver previamente definido.
- Remoção da biblioteca baloon-tooltips em prol das rotinas específicas de cada API para construção de janelas
de informação
- Inclusão da variável $i3geo_proxy_server no ms_configura.php para uso em algumas operações baseadas no acesso
a outros servidores via Curl e OGC
- Inclusão da variável $statusFerramentas no ms_configura para controlar o status de ferramentas que
dependem de configuração específica do servidor
- Foram incluídos subitens no menu suspenso para acomodar o grande número de opções. Os códigos locais que
manipulam o menu suspenso devem ser revisados para verificar o funcionamento nessa nova condição.
- Nova variável em ms_configura chamada $customDir que indica a pasta com as customizações dos mapas
- nas interfaces que utilizam a API do google maps agora é necessário carregar a biblioteca geometry com o seguinte código:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=drawing,geometry"></script>
- os links para a árvore hiperbólica foram removidos.
- a biblioteca pacotes/wicket/wicket.js agora é carregada com i3geo.js
- a biblioteca Richdraw foi removida em favor das bibliotecas de desenho nativas de cada API utilizada nos mapas
- o código dos editores vetoriais para as interfaces Openlayers e Googlemaps foram movidos para a pasta i3geo/classesjs
- a ordem dos botões na barra de botões foi alterada para mostrar primeiro o botão da barra de edição
- as funções de desenho de elementos gráficos utilizados pela interface GoogleEarth foram movidos de classesjs/classe_interface.js
para classe_desenho.js
- por default a árvore de temas agora é mostrada com checkbox ao invés de botão do tipo radio
- a árvore de temas agora pode ser utilizada para ligar/desligar camadas já existentes no mapa
- alteração na estrutura do objeto que contém as informações sobre as camadas existentes no mapa. Esse objeto foi reduzido em
tamanho passando a usar uma lista de chaves e um array com os valores. Esse objeto é estruturado no servidor por classe_temas.php
- remoção do arquivo css/botoes.css em favor de css/botoes2.css
- as opções da guia móvel foram alteradas. Podem ser necessários ajustes nos estilos inline das interfaces em uso
para posicionar corretamente os elementos dentro das guias
-------------------------------------------------------------------------------------------------
Para a versão 5.0
- O usuário agora pode ver a pasta i3geo/aplicmap/dados e navegar pelos arquivos para adicionar camadas ao mapa
Se você não quiser permitir isso, inclua na interface do seu mapa a variável javascript
i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir = false;
- Novas variáveis no i3geo/ms_configura.php:
$saikuUrl e $saikuConfigDataSource para controle da integração com o SAIKU
$ogcwsmap permite definir qual arquivo map será utilizado pelo gerador de serviços OGC
-------------------------------------------------------------------------------------------------
Para a versão 4.7
- para testar via javascript se a versão é a 4.7, utilize:
if(i3GEO.eventos.cliquePerm){
//seu codigo vai aqui
}
- Criada a pasta init que contém uma nova página de inicialização
- O banco de dados de administração foi alterado. Deve ser executado o programa de upgrade do banco, existente em i3geo/admin.
- Para permitir o upgrade é necessário ter um usuário master cadastrado em i3geo/ms_configura.php
- A interface Flamingo foi removida definitivamente
- A interface "padrao" (geral) foi removida definitivamente
- O gadget "quadro" foi removido
- A opção de ativação/desativação do entorno foi removida
- Remoção da pasta i3geo/classesjs/zerocal
- Remoção da pasta i3geo/mobile
- Remoção da pasta i3geo/pacotes/yui270
- Remoção dos arquivos de exemplo de i3geo/ferramentas
- Remoção das pastas depreciadas de i3geo/ferramentas
- Remoção da pasta i3geo/pacotes/rlib
- Remoção da pasta i3geo/pacotes/jsts
- Remoção da pasta i3geo/pacotes/jsobjects
- Remoção dos arquivos js da raiz de i3geo/ferramentas
- Os arquivos javascript das ferramentas foram renomeados, removendo-se a extensão .php
- As tabelas do sistema de administração agora já podem ser armazenadas em um esquema diferente do public
- O arquivo mashups/openlayers.js.php foi substituido por mashups/openlayers.js
- O mapa com os estados do Brasil foi comentado nos mapfiles de inicialização. Para reativá-lo, deve-se remover os comentários do layer brasil existentes nos arquivos .map existentes em i3Geo/aplicmap
- O layer com os limites estaduais não são mais carregados automaticamente, o layer estadosl está agora nos mapfiles de inicialização, porém, comentado para não ser ativado automaticamente
- Os layers com a ZEE e base raster do MMA foram removidos dos mapfiles de inicialização
- ms_configura.php
- Nova variável de configuração para indicar o local das bibliotecas adicionais do software R: R_libpath
- Funções removidas de classesphp/funcoes_gerais.php e inseridas nos respectivos programas que as chamam:
classesRasterI
fusaoGrafico
executaR
criaImagemR
pegaValores
pegaValoresM
agrupaValores
reSLD
criaDirMapa
permissoesarquivo
-------------------------------------------------------------------------------------------------
Para a versão 4.6
Simbologia
Verifique o uso de símbolos lineares.
Utilize WIDTH no lugar de SIZE
No símbolo chamado "linhas", utilize um símbolo simples, exemplo:
STYLE
WIDTH 3
COLOR 255 0 0
END
Layout
Para utilizar o padrão CSS3 foi incluído nas páginas o doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Se vc usa customizações, verifique se o seu HTML é compatível com CSS3.
Um dos principais problemas é a necessidade de uso de "px" sempre que forem utilizados os estilos top, left, width e height
-------------------------------------------------------------------------------------------------
Para a versão 4.5 + SP11
Mudanças que foram feitas para uso da versão 6 do Mapserver:
Os mapfiles de inicialização geral1.map, geral1debian.map e geral1windows.map, existentes em i3geo/aplicmap,
foram mantidos para efeitos de compatibilidade. Os novos mapfiles de inicialização agora são:
geral1v5.map
geral1v6.map
geral1debianv5.map
geral1debianv6.map
geral1windowsv5.map
gral1windowsv6.map
"vX" indica a versão do Mapserver
Caso o i3Geo seja inicializado com um mapfile diferente dos que são padrão, existentes em i3geo/aplicmap, é
necessário alterar esse mapfile para compatibilizá-lo com a versão 6 do Mapserver.
Utilize o arquivo i3geo/aplicmap/geral1.map ou geral1windows.map para copiar
os elementos iniciais (de MAP até o primeiro LAYER) para o mapfile de inicialização desejado.
Arquivos de definição de símbolos:
i3geo/symbols/simbolos.sym não deve mais ser usado, continua a existir apenas para compatibilidade
novos símbolos devem ser inseridos em i3geo/symbols/simbolosv5.sym ou em i3geo/symbols/simbolosv6.sym,
conforme a versão do Mapserver em uso
Nos mapfiles existentes em i3geo/temas, deve-se substituir a linha
SYMBOLSET ../symbols/simbolos.sym
por
SYMBOLSET ../symbols/simbolosv6.sym
ou
SYMBOLSET ../symbols/simbolosv5.sym
conforme a versão do Mapserver em uso
Sem essa mudança, o i3Geo continuará a funcionar, mas se forem criados novos símbolos em um arquivo
simbolosv5.sym ou simbolosv6.sym, deve-se fazer o mesmo em simbolos.sym
Para a versão 4.5 + SP8
As interfaces Openlayers e Googlemaps por default passaram a utilizar as guias na forma "retrátil"
As interfaces com a guia lateral anterior foram renomeadas para i3geo/interface/openlayers1.htm e googlemaps1.phtml
Para a versão 4.5
Os arquivos com as interfaces HTML dos diferentes mapas do i3Geo foram movidos do diretório
i3geo/aplicmap para o diretório i3geo/interface. Caso existam links apontando diretamente para
esses arquivos, vc pode simplesmente copiar os arquivos existentes na nova pasta (i3geo/interface)
para a antiga (i3geo/aplicmap).
As variáveis de configuração $temasdir e $temasaplic foram removidas. Se vc desenvolveu programas em PHP,
no lugar dessas variáveis utilize $locaplic e o local fixo dos arquivos, por exemplo $locaplic."/temas"
e $locaplic."/aplicmap"
A opção de administração com base em arquivos XML em disco foi removida. Agora, deve-se sempre utilizar o banco de dados
de admnistração.
O banco de dados de administração sofreu alterações. Veja em "Outras opções", no sistema de admnistração.
O arquivo admin.db (banco de dados de admnistração default) foi movido de i3geo/menutemas para i3geo/admin
O "alias" para a interface "zerocal" foi removido, utilize em seu lugar:
http://localhost/i3geo/ms_criamapa.php?interface=zerocal.htm ou
http://localhost/i3geo/interface/zerocal.htm
A pasta "images" foi removida e as imagens movidas para a pasta "imagens\depreciado"
Opção de comentários em temas
Foram acrescentadas novas variáveis em ms_configura.php. Veja esse arquivo para editar as variáveis e registrar
as APIs das redes sociais como Twitter e Facebook
Por default, todos os temas agora podem receber comentários. Para bloquear comentários em temas específicos,
utilize o editor de mapfiles do sistema de admnistração para bloquear essa opção em cada tema
Os comentários são armazenados em uma tabela no banco de dados de administração. Essa tabela precisa ser criada no banco.
Para criar a tabela veja o item "Outras opções" em http://localhost/i3geo/admin
Contagem do número de acessos de cada tema
Foi criada uma nova tabela no sistema de administração para guardar o número de vezes que um tema é acessado. Antes
a contagem era mantida na tabela i3geoadmin_temas, cuja coluna nacessos foi depreciada. Essa nova tabela guarda também o dia do acesso.
Para criar a tabela veja o item "Outras opções" em http://localhost/i3geo/admin
O nome dos arquivos js e ccs compactados foram renomeados, incluindo o valor da versão no final. Isso foi feito para se
evitar problemas de cache de versões antigas. Os arquivos renomeados foram:
classesjs/i3geo_tudo_compacto45.js
css/i3geo_ferramentas45.css
Testado o uso de zlib.output_compression = On no php.ini
Variáveis ou funções removidas
i3GEO.interface (utilize i3GEO.Interface, com "I" maiúsculo)
g_postpx
g_tipotop
g_tipoleft
A inicialização da interface Google Earth (interface/googleearth.phtml) foi incluida na tag "body":
<body id="i3geo" onload='i3GEO.inicia();'>
e-mail institucional (incluido no arquivo de correções SP7)
em ms_configura.php pode ser definido um e-mail padrão que é utilizado nas interfaces dos mapas
Para que o e-mail definido seja mostrado, é necessário adicionar um elemento HTML com id=emailInstituicao no mapa
-------------------------------------------------------------------------------------------------
Para a versão 4.4
Verifique se o PHP está configurado (php.ini) para permitir a passagem de parâmetros por referência
(dependendo da versão do PHP, esse parâmetro é definido como "Off" por default):
allow_call_time_pass_reference = On
Foi acrescentado um novo LAYER em i3geo/aplicmp/geral1.map e geral1windows.map com dados do Open Street Map. Caso vc não
queira que essa camada nova apareça, basta removê-las desses arquivos.
Foi incluida a remoção de cookies no ms_criamapa.php, que inicializa o i3geo ($_COOKIE = array();). Se vc precisa definir cookies,
considere a necessidade de comentar a linha de código do ms_criamapa.php.
Por default, o i3Geo passou a usar a interface openlayers.htm. Se vc quiser modificar isso, altere o ms_configura.php.
-------------------------------------------------------------------------------------------------
Para a versão 4.3
O banco de dados de administração sofreu as seguintes alterações (vc deve incluir as novas colunas
para que o i3Geo funcione corretamente:
- acréscimo das colunas en,es,it nas tabelas (tipo texto)
i3geoadmin_menus
i3geoadmin_temas
i3geoadmin_grupos
i3geoadmin_subgrupos
- acréscimo da coluna kmz_tema em i3geoadmin_temas (tipo texto)
Foi incluida uma nova opção que permite ao usuário alterar o SQL que faz o acesso aos dados em
um LAYER (elemento DATA do mapfile). Mostrar ou não essa opção é controlado por um metadata
em cada LAYER. Por default, o i3Geo entende que esse metadata é marcado como SIM. Se vc não quer
que o usuário possa acessar essa funcionalidade, utilize o sistema de administração para editar
esse metadata de cada LAYER presente em um mapfile ou então, inclua o metadata "editorsql" "nao".
-------------------------------------------------------------------------------------------------
Para a versão 4.1
Sistema de administração
A administração do i3geo pode ser feita através de um sistema de formulários web desde que vc opte por isso.
Se vc quiser continuar usando os arquivos XML existentes em i3geo/menutemas, não tem problema, mas nesse
caso o sistema de administração não lhe será útil.
A opção pelo uso do sistema de administração é default na versão 4.1. Se vc não quiser usá-la, deverá
editar o arquivo i3geo/ms_configura.php e colocar os nomes dos arquivos XML nas opções desejadas. Esse
arquivo está documentado, basta ler para entender o que deve ser feito.
O sistema de administração é acessível no endereço i3geo/admin (http://localhost/i3geo/admin). Apenas editores
cadastrados podem usar esse sistema. O cadastramento é feito por número IP (veja i3geo/ms_configura.php).
Por default, "localhost" é um editor cadastrado.
Os arquivos mapfiles existentes em i3geo/temas continuam sendo necessários e vc pode editá-los manualmente
ou por meio do sistema de administração.
Os arquivos XML que vc já possuí em i3geo/menutemas devem ser importados para o sistema de administração.
Utilize as opções existentes em i3geo/admin para fazer isso.
O banco de dados default do i3geo é em SQLITE e fica em i3geo/menutemas/admin.db.
Vc deve apagar esse arquivo e criar outro antes de importar seus arquivos XML. No sistema de administração
existe uma opção para criar o banco, o que deve ser feito depois que vc apagar o arquivo que vai com o i3geo.
Se vc não quiser usar o SQLITE vc deve criar um arquivo de conexão com seu banco de dados e registrar o endereço
desse arquivo em uma variável no i3geo/ms_configura.php. Um exemplo de arquivo de configuração para POSTGRE
pode ser visto em i3geo/admin/php/conexaomm.php. Ao usar a opção de criação do banco existente no sistema
de administração, as tabelas serão criadas no banco de dados indicado.
PHP
O sistema de administração do i3geo é baseado na biblioteca PHP chamada "PDO". Nas versões mais recentes do
PHP e no MS4W essa biblioteca já vem habilitada. Se no seu PHP não existir o PDO vc deverá instalá-lo.
YAHOO
A bibblioteca do YAHOO (YUI) foi atualizada. A versão antiga continua em i3geo/pacotes. Se vc desenvolveu
programas baseados na versão antiga, é bom verificar se tudo funcionará corretamente pois o arquivo
i3geo/classesjs/i3geo.js agora utiliza essa nova versão da YUI.
JSOBJECTS
Essa biblioteca não será mais utilizada pelo i3geo, sendo substituída pelo YUI. Se vc utilizava as funcionalidades
dessa biblioteca, embutida no i3geo.js, deverá verificar seu código ou então embutir novamente essa
biblioteca no i3geo.js. Para isso vc deve alterar o programa i3geo/classesjs/compactajs.php e executá-lo
para gerar os arquivos compactados do i3geo.
Classes JS e namespaces
O modelo de desenvolvimento dos programas javascript estão sendo migrados aos poucos para estruturas
baseadas em classes. Isso facilitará a compreensão dos códigos e sua documentação, facilitando a vida
dos desenvolvedores e permitindo uma melhor evolução dos códigos.
As classes desenvolvidas ficarão em arquivos únicos de cada classe e devem usar o namespace i3GEO. Essa
regra evitará conflitos entre bibliotecas javascript adicionadas ao i3geo.
Exemplo, para remover a acentuação de uma palavra vc pode usar a classe i3GEO.util:
var palavraAcentuada = "coração";
var palavraSemAcento = i3GEO.util.removeAcentos(palavraAcentuada);
Googlemaps
A chave de registro da API do Google agora deve ser incluída no arquivo i3geo/ms_configura.php na
variável $googleApiKey.
Isso foi necessário porque a API do Google será utilizada em outras ferramentas do i3geo.
A ferramenta googlemaps agora é chamada com ferramentas/googlemaps/index.php
Idiomas
A lista de palavras e suas traduções foram retiradas do arquivo i3geo/classesjs/configura.js e incluidas no
novo arquivo i3geo/classesjs/dicionario.js
Foi criada uma classe específica para manipular a internacionalização. Veja a documentação em
http://localhost/i3geo/documentacao/files/classesjs/classe_idioma-js.html
Árvore de temas
A árvore de temas, que aparece na guia "Mapa", agora é montada com a biblioteca YUI. Foi criada uma classe
javascript específica para manipular essa árvore. Veja a documentação em
http://localhost/i3geo/documentacao/files/classesjs/classe_arvoredecamadas-js.html
Os aplicativos que usam árvores também utilizam agora essa classe, como o i3geo/datadownload.htm
Árvore de camadas
A árvore de camadas, que aparece na guia "+ temas", agora é montada com a biblioteca YUI. Foi criada uma classe
javascript específica para manipular essa árvore. Veja a documentação em
http://localhost/i3geo/documentacao/files/classesjs/classe_arvoredetemas-js.html
Utilitários
Foi criada uma classe específica com funções de uso geral. Veja em:
http://localhost/i3geo/documentacao/files/classesjs/classe_util-js.html
Cálculos
Os cálculos agora estão na classe i3GEO.calculo, por exemplo, para converter coordenadas de dd para dms, utilize:
i3GEO.calculo.dd2dms(dd)
objmapa
A forma de inicialização do i3geo do lado do navegador (javascript) agora é controlado pela classe i3GEO.
O "objmapa" não é mais utilizado.
Os parâmetros do mapa, como extensão geográfica, tamanho do pixel, etc, são agora acessados por meio
de i3GEO.parametros, por exemplo, para obter a extensão geográfica do mapa atual, utilize:
alert(i3GEO.parametros.mapexten)
A lista completa de i3GEO.parametros pode ser vista em i3geo/classesjs/classe_i3geo.js
Variáveis de configuração
Muitas das novas classes possuem seus próprios métodos de configuração. Porém os parâmetros principais
de configuração do mapa ficam agora na classe i3GEO.configura
Por exemplo, para obter o diretório onde o i3geo está instalado, antes utilizava-se g_locaplic, agora utiliza-se
i3GEO.configura.locaplic
Chamada aos programas PHP
Todas as chamadas a programas PHP via AJAX foram concentradas na classe classe_php.js.