[size=12pt]Colabore com este tópico. Não sou dono da verdade universal e há pessoas precisando da sua ajuda como eu precisei.
Aproveite e também envie o que deve ser corrigido.[/size]
[size=12pt]Este tópico é fruto da experiência de alguns usuários do Scriptcase.
Portanto pode ou não servir para você. Use por sua própria conta e risco[/size].
1) Escolha clientes que possam remunerar bem o seu software.
Parece óbvio. Mas os novatos esquecem que os custos de desenvolvedores em ferramentas são altos.
Lembre-se: Você não é Madre Teresa! Precisa pagar seus custos pessoais e de sua empresa.
Não existe isto de fazer preço baixo no início. Se começou com valor baixo seu cliente irá querer sempre um valor baixo.
E se quer realmente ganhar dinheiro com Scriptcase desenvolva para quem tem dinheiro.
Somente pode remunerar bem quem tem dinheiro para isto!
2) Sempre guarde dinheiro para renovar seu upgrade no Scriptcase e outras ferramentas.
Correção de bugs em versões (releases) antigas somente sai nas novas versões (releases).
E isto não é uma prática somente da Netmake.
3) Toda ferramenta de desenvolvimento, compiladores, banco de dados e etc tem bugs.
Acostume-se a consultar fóruns, sistema de bug tracker, google, changelog e etc.
lembre-se que as vezes não é o Scriptcase que tem bug, pode se o php, bando de dados…
Observação: No caso do Scriptcase além de relatar no fórum envie para bugs@netmake.com.br
A reposta pode demorar um pouco mas vem.
4) Não confie em receitas de bolo na internet.
Reinventar a roda é difícil. Por isto sempre a copiamos na medida do possível.
Somente cuidado! tem muita roda quadrada por ai!
As receitas de bolo podem ser específicas e nem sempre funcionar a contento.
Logo, teste bem o código que você achou na internet antes de colocar em produção.
Observação: sempre que copiar um código não esqueça de dar os créditos nos seus fontes.
5) Faça perguntas inteligentes no Fórum se você quer respostas inteligentes.
Um bom começo de como se portar ao fazer uma pergunta pode se achada aqui:
http://www.scriptcase.com.br/forum/index.php/topic,10329.0.html
6) O Scriptcase não é inteligência artificial e não resolve 100% dos casos. Se você não estudou já era.
Não adianta sentar na frente do micro é dizer: Ei Scriptcase! Faça este projeto para mim!
E nem pense que irá usar o Scriptcase sem necessidade de digitar uma linha de código.
Ele ajuda e muito no desenvolvimento.
Mas, chega determinados instantes que você terá que saber no mínimo o que todo programador web tem que saber:
Banco de dados (DDL, DML, DCL, TCL,…), PHP, CSS, HTML, Javascript e por vezes até outras linguagens de programação.
7) Escolha corretamente onde hospedar o Scriptcase e/ou seus projetos em produção.
a) Use uma hospedagem compartilhada especializada em Scriptcase.
- Se tiver poucos usuários (clientes) e baixo acesso concorrente.
- Estiver aprendendo a usar a ferramenta.
- Sua empresa está começando agora.
Vantagens de hospedagem compartilhada especializada em Scritpcase:
. Sai mais barato que um servidor dedicado
. Você terá certeza que seus projetos irão funcionar em produção
. A exportação em pdf irá funcionar.
. O php.ini já é compatível com o Scritpcase.
. A quantidade de clientes de hospedagem por servidor é controlada.
. É feito um tuning no servidor sempre que necessário.
. O servidor já é próprio para um consumo maior de recursos.
. O suporte sabe o que você está falando quando surge uma dificuldade com sua aplicação Scriptcase.
. O servidor sempre disponibiliza o software necessário para rodar a última versão do Scriptcase
. Apesar de não se responsabilizar pelo backup e perda de dados. Ele é feito.
Desvantagens de hospedagem compartilhada comum:
. Não há certeza que seus projetos irão funcionar 100%.
. Mesmo que seus projetos funcionem 100% no decorrer do tempo isto pode mudar.
. Não há garantias que a exportação pdf funcione.
. O php.ini pode ser incompatível com algumas funções do Scriptcase.
. Não há controle da quantidade de clientes de hospedagem. Enquanto o servidor aguentar clientes são adicionados.
. Não é feito tuning no servidor. Eles pedem gentilmente que sua hospedagem seja cancelada por consumo excessivo de recurso.
. O suporte desconhece o Scriptcase e nem sempre entenderá o que você quer dizer.
. PHP, SGDB´s e etc em versões desatualizadas.
b) Use um servidor dedicado para o Scriptcase.
- Se tiver muitos usuários (clientes) e alto acesso concorrente.
- Sua empresa é média ou grande.
- Tem disponibilidade financeira para um servidor dedicado.
- É experiente em adiminstrar servidores ou tem quem administre por você.
Vantagens de um servidor dedicado.
. Escalabilidade e desempenho somente para você.
. Acesso as todas as configurações do servidor e seus serviços.
. Pode instalar o sofware que quiser.
. Você monta o servidor (hardware e software) do seu jeito.
. Pode adicionar ou remove recursos (hardware e software).
Desvantagens de um servidor dedicado.
. O suporte para o servidor é você, a não ser que pague por este serviço.
. O custo é mais elevado. Custo inicial médio de R$ 350,00 mensais por um hardware decepcionante (somente no Brasil).
. Hardware bom costuma custar de R$ 800,00 mensais para cima (no Brasil).
. O backup é por sua conta e risco.
. Servidores fora do Brasil tem que se tomar cuidado com a latência. Acima de 330ms esqueça.
E sim eu já vi latências maiores que 400ms. Timeout, timeout, timeout e timeout.
8 ) Procure contratar “Servidores Reais” (máquina física) .
Servidores montados em máquina virtuais tem desempenho no mínimo 10% menor que uma máquina real com a mesma quantidade de carga.
Mas, como é escolha pessoal não irei comentar aqui vantagens e desvantagens.
9) Trabalhe com UTF8 no Scriptcase, SGDB, PHP e etc.
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
Porque usar utf8 -> https://www.w3.org/International/questions/qa-choosing-encodings.pt-br
10) Crie um banco de dados “esqueleto” que possa ser adaptado rapidamente as necessidade de seus futuros clientes.
Isto poupará tempo e terá um banco já testado quanto a confiabilidade e performance.
Uma grande empresa brasileira faz isto. Somente não vou dizer qual explicitamente. Dá para saber pela quantidade de letras -> *****
11) Teste todos seus selects com explain e depois escolha os índices adequadamente.
Uma coisa é percorrer 5.098.456.456 linhas para achar o resultado.
Outra é percorrer 23 linhas com a ajuda de índices para o mesmo resultado.
12) Monitore a performance e consumo do seu banco de dados sempre e faça os ajustes necessários.
Tem cliente que não reclama de lentidão, apenas muda de software.
13) Crie o menos possível de passos necessários para chegar ao resultado esperado.
Já vi softwares passando por 5 app´s (janelas) para obter um relatório.
Eu sou preguiçoso, imagine seu cliente? o que nos leva ao ítem 14.
14) Use KISS -> https://pt.wikipedia.org/wiki/Keep_It_Simple
Soluções complexas = bugs complexos + manutenção complexa.
O Scriptcase é bom em gerar aplicações simples (sem sua ajuda) e por vezes complexas (com sua ajuda).
Prefira as simples.
15) Scriptcase executa num ambiente web. Não queira fazer milagres para que seu projeto fique igual a seu software desktop.
Mesmo que use RIA -> https://pt.wikipedia.org/wiki/Internet_rica
Seu projeto não ficará e nem rodará igual a um desktop.
Desktop e web são conceitos diferentes.
16) Scriptcase não imprime diretamente em impressora de rede (remotas) como um software desktop faz.
Isto é uma limitação do PHP e não do Scriptcase.
Use impressoras mapeadas no servidor para que o PHP (Scriptcase) consiga imprimir “localmente” naquela impressora de rede.
Ou use software de terceiros para fazer esta integração.
17) Aplicações Scriptcase corrompem.
Tenha certeza que não é um erro de sintaxe e que seu maravilhoso código esteja correto antes de fazer o procedimento abaixo:
PS: Eu não me responsabilizo por este procedimento. Execute por sua própria conta e risco.
Aconselho a contactar o suporte da Netmake.
Mas para os teimosos lá vai.
a) Limpe o cache do navegador. Tente rodar.
Funcionou?
Sim. Volte a programar.
Não. Próximo passo.
b) Crie outra app com o mesmo código. Tente rodar.
Funcionou?
Sim. Volte a programar apagando a app corrompida e criando outra.
Não. Reveja seu código ou próximo passo.
c) Faça backup da pasta scriptcase.
Apague o conteúdo das pastas: tmp e app/nomedoseuprojetocomappdefeituosa dentro da pasta scriptcase.
Gere todas as aplicações novamente.
Funcionou?
Sim. Volte a programar. Era “cache” do tmp e app
Não. Próximo passo.
d) Deu muito azar sua app corrompeu totalmente, pegou um bug do scritpcase ou a instalação do scriptcase corrompeu.
Retorne seu backup ou mantenha ele num lugar seguro e então:
. Tente uma atualização manual depois de fazer backup da pasta scriptcase e do banco de dados do scriptcase.
. Ou reporte ao bugs@netmake.com.br e espere solução.
. Ou apague e reze para que desta vez funcione criando a app do zero de novo.
. Recomendado: contacte o suporte da Netmake.
18) Somente Jesus salva o resto de nos mortais fazem backup.
Faça backup diários da pasta do scritpcase e do banco de dados do scriptcase.
Para tornar o backup do scritpcase seguro faça estas 3 coisas no mesmo dia:
Use a rotina de backup do scriptcase.
Use exportar projeto. Sei que toma tempo. Mas já notamos que é mais seguro que a própria rotina de backup do Scriptcase.
Use copiar toda a pasta do scritpcase e seu banco de dados.
Achou difícil fazer isto? Liga não… Depois é fácil chorar no Fórum sobre como recuperar e ouvir um: Não tem jeito!
19) Scriptcase IDE e produção lento ou travando podem ser:
- Banco de dados do Scriptcase fragmentado,
- antivírus,
- firewall,
- servidor com sobrecarga necessitando de tuning (reconfigurar serviços para a carga exigida)
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
Procedimentos -> http://www.scriptcase.com.br/forum/index.php/topic,5689.0.html
20) Scriptcase é um Framework e ao mesmo tempo a IDE Scriptcase roda sobre este Framework que usa PHP, CSS, AJAX etc.
Logo, bugs em PHP, CSS, AJAX etc afetam o Scriptcase.
O pessoal esquece que o Scritpcase é uma mix de tecnologias WEB e todas estão sujeitas a bugs.
http://www.scriptcase.com.br/forum/index.php/topic,5981.msg27152.html#msg27152
21) Algumas macros são funções já existentes no PHP que foram encapsulada em um objeto com nome iniciado “sc_”.
Para ter certeza que o erro é na macro faça em php puro a mesma função.
Exemplo: (macro) sc_send_mail -> (php puro) http://php.net/manual/pt_BR/function.mail.php
22) Há coisas que por enquanto é melhor usar o software original por conta das funções “capadas” disponíveis no Scriptcase.
Exemplo: Um dos top 10 (http://www.scriptcase.com.br/forum/index.php?action=stats) do fórum: http://www.scriptcase.com.br/forum/index.php/topic,8031.0.html
APP calendário. Não sei porque ela ainda é “capada”.
Fazer a integração manual trás mais benefícios https://fullcalendar.io/
Embora saiba que a Netmake está sempre melhorando suas apps.
23) Use RTFM e STFW no dia a dia. Irá se tornar um excelente profissional.
E quando for ao fórum fazer aquela pergunta fascinante e urgente.
Demonstre que já RTFM e STFW. Assim mais pessoa irão se interessar em lhe responder.
RTFM -> Read The Fucking Manual -> https://pt.wikipedia.org/wiki/RTFM -> Ler a poxxa do manual
STFW -> Search The Fucking Web -> Procurar na poxxa da web
24) Saiba que tipo usar para valores monetários e campos que requerem precisão.
Ou vai sofrer quando quiser saber onde aqueles centavos foram parar.
http://www.scriptcase.com.br/forum/index.php/topic,4114.msg16344.html#msg16344
25) Escolha o SGDB correto para você e seu cliente:
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
http://www.scriptcase.com.br/forum/index.php/topic,12440.msg70569.html#msg70569
26) Não use provedores gratuitos para enviar e-mail.
Usar provedores gratuitos (gmail, yahoo, bol e etc) para enviar e-mail é uma bomba relógio nas suas mãos.
http://www.scriptcase.com.br/forum/index.php/topic,5861.msg27172.html#msg27172
http://www.scriptcase.com.br/forum/index.php/topic,13695.msg71454.html#msg71454
http://www.scriptcase.com.br/forum/index.php/topic,13695.msg72086.html#msg72086
27) Regra de negócios. Banco de dados ou Scriptcase?
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
http://www.scriptcase.com.br/forum/index.php/topic,13026.msg67768.html#msg67768
28) Para recuperar imagem armazenada no banco de dados via Scriptcase numa blank
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
http://www.scriptcase.com.br/forum/index.php/topic,10114.msg50222.html#msg50222
29) Guardar imagem no disco ou banco de dados?
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
http://www.scriptcase.com.br/forum/index.php/topic,13261.msg68996.html#msg68996
30) Diferença entre onApplicationInit, onScriptInit e onLoad
Sugestão de leitura. Colabore com a sua dica de leitura para eu colocar no post!
http://www.scriptcase.com.br/forum/index.php/topic,6034.0.html
31) The requested urls length exceeds the capacity limit for this server.
Isto indica que houve o uso de GET para envio de informações que ultrapassaram a capacidade em bytes suportada.
veja:
http://marceloweb.info/principais-diferencas-entre-os-metodos-http-get-e-post/
Cito:
“Tamanho – Como a requisição GET é feita via URL, obviamente há uma limitação no tamanho da mensagem enviada. A string não pode conter mais que 255 caracteres(embora exista diferenças entre navegadores, mas em geral o limite é 255). Já na requisição POST não há limitações de comprimento da mensagem, já que a mesma é enviada no corpo da requisição HTTP.”
Alguns servidores tem a configuração padrão aumentada para suportar mais dados via GET.
Mas mesmo assim os navegadores tem seu limite para envio de url´s:
http://www.pinceladasdaweb.com.br/blog/2008/04/01/curiosidade-qual-o-tamanho-maximo-das-urls/
Não adianta o servidor aumentar a capacidade para aceitar a url e o navegador não aceitar.
Logo, use POST se os dados forem grandes demais para GET.
32) Posso usar NuSOAP com Scriptcase?
Somente se quiser ter dor de cabeça
Veja: http://www.scriptcase.com.br/forum/index.php/topic,14168.msg74153.html#msg74153
33) Qual versão do php usar?
Com Zend guard loader
scriptcase 5 -> php 5.2
scritpcase 6 -> php 5.3
scriptase <= 7.0.013 -> php 5.3
scriptcase >= 7.0.014 -> php 5.4
scriptcase 8.0.xxx -> php 5.4
scriptcase 8.1.xxx -> php 5.4 ou php 5.6
Com Source guardian
Scritpcase 9.0.xxx -> php 7.0 para IDE e php 5.6/php 7.0 para produção
Scritpcase 9.1.xxx -> php 7.0 para IDE e php 5.6/php 7.0 para produção
Scritpcase 9.2.xxx -> php 7.0 para IDE e php 5.6/php 7.0 para produção
Scritpcase 9.3.xxx -> php 7.0 para IDE e php 5.6/php 7.0 para produção
34) Como forçar o uso de HTTPS pela minha aplicação no Scriptcase?
Coloque nos eventos que ocorrem antes da página ser carregada.
http://www.scriptcase.com.br/forum/index.php/topic,3970.msg15389.html#msg15389
Observação: Se estiver usando ISS no lugar o Apache ou Nginx poderá usar a macro sc_site_ssl com redir
http://www.scriptcase.com.br/aprendizagem/documentacao/pt_br/v9/manual/14-macros/01-visao-geral/#sc_site_ssl
35) Porque as máscaras que funcionam na Grid não funcionam no form?
http://www.scriptcase.com.br/forum/index.php/topic,3834.msg14828.html#msg14828
36) Porque a grid não aceita várias máscaras de telefone?
http://www.scriptcase.com.br/forum/index.php/topic,5496.msg35625.html#msg35625
37) Qual melhor sistema operacional pra instalar aplicativos gerados com Scriptcase?
http://www.scriptcase.com.br/forum/index.php/topic,5896.msg26690.html#msg26690
38) Cálculo errado nos arredondamentos? (campo float)
http://www.scriptcase.com.br/forum/index.php/topic,5853.msg26405.html#msg26405
39) Quais são as diretivas importantes no php.ini para rodar o Scriptcase
max_execution_time = 3600
max_input_time= 3600
max_input_vars = 6000
memory_limit= 1024M
post_max_size = 512M
upload_max_filesize = 512M
max_file_uploads = 50
date.timezone = America/Sao_paulo
Observações:
São as configurações mínimas que acho decente para começar a trabalhar bem.
troque o America/Sao_paulo pela sua região.
Também é importante ter o Zend guard loader ou o Source guardian conforme sua versão do Scritpcase IDE
Os tempos de 3600s são importantes para relatórios grandes ou uploads feitos por clientes com internet lenta.
O uso de memória e tamanho de arquivos no upload devem ser ajustados de acordo com seu hardware e gosto.
Não vou explicar aqui o que cada um faz. Tem no manual do PHP
Mas leia pois se o consumo de memória permitido for além do que há no hardware = Servidor travado.
40) Ver memória aplicada, pico de memória e tempo de carregamento da página no Scriptcase
http://www.scriptcase.com.br/forum/index.php/topic,6327.msg29548.html#msg29548
41) Erros ao gerar PDF! Possíveis soluções error 500 e permission denied
a) Certifique-se que a pasta _lib/prod/third/wkhtmltopdf/ e subpastas tenham permissão de execução.
b) https://suporte.scriptcase.com.br/pt-br/article/442-consertando-permissoes-do-scriptcase-no-seu-host
42) Trabalhar com horário GMT no servidor e clientes com seu horário local
http://www.scriptcase.com.br/forum/index.php/topic,8081.0.html
43) Quanto cobrar?
Este é uma pergunta séria.
Aconselho ver com seu contador o valor da hora de acordo com sua empresa ou necessidade.
Mas para os indecisos que não sabem por onde começar deixo uma sugestão:
a) http://www.minhahora.entreoutros.com/
Esta ferramenta irá te ajudar a ver com outros olhos o cálculo da hora trabalhada.
Se deve usar o valor sugerido por ela? Ai parte de você. Eu uso meu próprio cálculo. Pois ela é bem simples.
Uma leitura sobre o assunto https://engenhariasoftware.wordpress.com/2008/05/28/programadores-sabem-estimar/
44) Aplicações e SGDB no mesmo Servidor
http://www.scriptcase.com.br/forum/index.php/topic,8313.msg40526.html#msg40526
45) Segurança contra invasões e outras ameaças
http://www.scriptcase.com.br/forum/index.php/topic,10137.msg50437.html#msg50437
Se viu erros ou tem sugestões para colocar aqui. Colabore que coloco aqui com os devidos créditos.
Estas dicas foram licenciadas com uma Licença:
Creative Commons Atribuição-NãoComercial 4.0 Internacional
https://creativecommons.org/licenses/by-nc/4.0/deed.pt_BR
PS: Sei que é rídiculo colocar a CC (Creative commons) aqui, mas se algum dia isto fizer parte de algo quero que reconheçam o tempo gasto dos usuários que enviaram as dicas com estudos e pesquisas. Isto não quer dizer que o conteúdo acima é livre de erros.