[RESOLVIDO] - Manutenção de aplicações publicadas

Prezados,

É uma honra enviar esta mensagem para vocês. Vejo que muitos são pessoas engajadas e dedicadas para auxiliar os colegas que estão iniciando como é o meu caso.

Estou prestes a publicar a minha primeira aplicação SC. Aí vem algumas dúvidas que acredito que a maioria de vocês já tenha passado e talvez tenha algum tópico aqui no fórum que eu não localizei.

Entendo que o meu caso seja parecido com muitos desenvolvedores iniciantes.

  1. Estou com o meu servidor SC na hoo.st
  2. Desenvolvi tudo lá bonitinho e publiquei no modo típico
  3. Enviei o ZIP para uma área do servidor do meu cliente, descompactei a pasta, criei o banco de dados de teste e o usuário com permissões
  4. Acessei o index.php, gerei a conexão e o sistema funcionou! Consegui fazer a “instalação”.

Tive um pequeno problema com o charset � nos caracteres acentuados que vou verificar o que pode ser.

Agora vem as perguntas:

  1. Como fica a estrutura de diretórios nas atualizações de aplicações? Devo sobrescrever sempre? Gerar um novo ZIP e sobrescrever? Gerar só das aplicações alteradas?
  2. Como ficam as pastas de upload de arquivos que eu havia configurado? Se o cliente já postou arquivos como fica?
  3. Quando tiver alterações no banco de dados como a criação de novos campos, tabelas, etc… Devo fazer manualmente nos dois banco de dados, neste caso o MySQL?
  4. Tem algum conflito com o dicionário de dados? Que estou levando pau para entender a lógica dele ainda. Não me parece muito funcional a interface.

Enfim, o objetivo deste tópico é solicitar dicas dos colegas sobre como manter as aplicações publicadas sendo que o SC trabalha com a geração de arquivos e temos o banco de dados também para fazer a alterações.

Desde já agradeço.

Qual o teu nível de conhecimento em PHP, MySql, e servidor Linux ? Estes três componentes exigem um mínimo de conhecimento para um bom entendimento das dicas que com certeza são oferecidas neste forum. Não estou referindo-me a um alto nível. Tenho um conhecimento de iniciante a intermediário, mas com a ajuda do Jailton, Haroldo, William e outros feras (visita as postagens deles), consegui coisas maravilhosas.

  1. Como fica a estrutura de diretórios nas atualizações de aplicações? Devo sobrescrever sempre? Gerar um novo ZIP e sobrescrever? Gerar só das aplicações alteradas?

Para atualizacoes utiliza publicacao avancada

  1. Como ficam as pastas de upload de arquivos que eu havia configurado? Se o cliente já postou arquivos como fica?

As pastas ficam como foram configuradas originalmente

  1. Quando tiver alterações no banco de dados como a criação de novos campos, tabelas, etc… Devo fazer manualmente nos dois banco de dados, neste caso o MySQL?

Deve atualizar manualmente o banco no servidor de producao. Existem ferramentas para sincronismo automatico mas acho arriscado

  1. Tem algum conflito com o dicionário de dados? Que estou levando pau para entender a lógica dele ainda. Não me parece muito funcional a interface.

Eh pouco funcional do Dicicionario de Dados do SC, mas ele eh incorporado na aplicacao, sendo assim ira junto a apublicacao

Dica: para atualizar seus projetos.

O Cliente pediu alguma alteração de campo?

Faça um backup da base do cliente e restaure em um servidor de produção separado, a cada alteração da tabela, etc, salve o META-DADOS em um arquivo texto, exemplo:
ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

** Sincronize seus formulários no SC com a base de produção alterada, e o dicionário de dados se tiver usando o mesmo, recomendo usar ele só para sistemas multi-idiomas,
esse dicionário de campos para ser mais funcional teria que guardar as propriedades dos campos e label também para não precisarmos a cada formulário que vamos usar,
reconfigurar isso na mão toda vez, isso já foi sugerido mas até agora nada.

Depois que finalizar, faça a publicação avançada e descompacte exatamente em cima das pastas na produção ‘a hospedagem’ já vai herdar automaticamente as permissões: chmod 755, etc.

Depois entre no gerenciador de banco de dados da produção e execute os META-DADOS que você guardou no arquivo texto, todos de uma vez na sequência:
ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

** Entre no sistema na produção e teste, se tudo esta ok, descarte o arquivo TEXTO de META-DADOS, já atualizamos não precisa mais dele.

E assim, sempre refazendo este ciclo em todas a suas atualizações.

E lembre-se sempre antes de começar a fazer uma alteração em seus projetos faça um backup da pasta do scriptcase ‘devel’ em caso de algum erro você pode retornar ela manualmente.

E uma coisa interessante em sistemas WEB muitas alterações que não causem IMPACTO em campos relacionados, podem ser feitas a ‘QUENTE’ na hora com os clientes usando o
sistema, não igual sistemas desktop que todo mundo tinha que fechar o sistema e você passava o arquivo do VB6 em todos o PC, ai alguém durante a atualização da base entrava no
banco corrompia tudo e você tinha que ficar mais 40 minutos fazendo tudo do zero. kkkkkk

Nem me fale Jailton!

Obrigado pessoal, foram muito importantes estas dicas.