Mostrando postagens com marcador tutorial. Mostrar todas as postagens
Mostrando postagens com marcador tutorial. Mostrar todas as postagens

segunda-feira, 24 de abril de 2017

Salesforce - Abrindo a Mente - CRM - Desenvolvimento

Oi pessoal, como vocês estão ? Espero que todos estejam bem.
Estou trilhando mais um caminho na minha jornada de desenvolvedor agora em uma plataforma multitenancy Force.com e desenvolvendo na linguagem Apex.

Estou desenvolvendo algumas customizações no Salesforce para uso de soluções para a consultoria em que eu trabalho para alguns projetos e quais são as características principais desta poderosa ferramenta.

Para ajudar vocês nesta jornada, estarei disponibilizando alguns links e discriminando algumas referências para facilitar um pouco mais na sua caminhada.
Todo o administrador deve ser um pouco desenvolvedor, e todo desenvolvedor deve ser um pouco administrador. 

O que eu quero dizer com a frase a cima, e que muita das soluções não precisam ser necessariamente customizadas em nível de interface, o Salesforce possui muitos recursos que abrangem que o próprio administrador do sistema possa criar essas mesmas customizações não dependendo somente de desenvolvimento. Então fica essa dica antes de começar a desenvolver estude bem a ideia de como fazer, esgote todas as possibilidades de criar via administração qualquer solução.
Existe algo pronto que eu não preciso fazer gostei da ideia.
Existe várias soluções que estão na App Exchange do Salesforce prontinhas, que você não precisa escrever nenhuma linha de código, mas utilize com sabedoria.
Um bom administrador ou desenvolvedor deve conhecer os limites da ferramenta em que está customizando.
Isto é algo que você tem que levar para sempre e que é importantíssimo quando desenvolver qualquer tipo de customização dentro do Salesforce, ele possui alguns limites pois ele trabalha em uma plataforma multitenancy onde existe vários gerenciamentos de recursos, se  isso não for pensado previamente poderá haver vários problemas de performance e até exceções que vão dar muita dor de cabeça.
Teste, reteste e pense sempre em sua cobertura de teste quando desenvolver.
Quando você está desenvolvendo suas Triggers, Classes e métodos Apex entre outros pense sempre em refatorar, porque estou dizendo isso ? Isso é algo que vai te ajudar no momento de migrar as customizações na Org's de desenvolvimento para produção, e lembre-se que a cobertura de código deverá ser 75% para poder realizar o Deploy de qualquer customização que for transferida através de Change Set's.
Para poder testar preciso ter algo para poder testar, crie Mocks. 
No momento do desenvolvimento de qualquer teste vocês precisarão dos cenários de testes, antes de começarem a desenvolver peçam antecipadamente o que aplicação deve realmente fazer. Pense em vários cenários que possam seguir vários fluxos que ativem as exceções, validações. Não existe essa de um cenário só, o certo deverá ser vários que atendam os principais fluxos, isso  é importantíssimo será o medidor de qualidade do código.
Um bom padrão de nomenclatura, é uma garantia de sucesso para administrador e o desenvolvedor.
Quando a equipe desenvolvimento estiver desenvolvendo mesmo com a correria, dedique um tempo na nomenclatura de todos os objetos que deverão ser criados e de todas as classes, isso ajudará muito na organização, pelo menos nem que seja meia hora. Vocês vão perceber o ganho quando tiver umas 200 Classes. 😆
O administrador e desenvolvedor tem que achar as soluções juntos. 
Isso é primordial estou falando em um Pair Programming, isso faz parte também da primeira citação onde os dois devem ter quase o mesmo conhecimento, digo a vocês que vai ser muito difícil desenvolver sem o administrador da ferramenta, que cria os campos e outros processos de fluxo de trabalho e de negócio não estar do seu lado, você pode bater em um Process Builder ou Workflow do Salesforce quando executar sua trigger ou um método, sem saber. Então nada de ficarem separados um deve esta do lado do outro, ou perto ou se comunicarem todos os dias tirando todas as dúvidas.
Utilizar um Padrão vai definir o sucesso na manutenção e no desenvolvimento.
Então é bom se preparar para desenvolver em um determinado padrão de arquitetura, e nível de programação e a nível de documentação, saiba utilizar com sabedoria, lembre-se de cada objeto e classe e suas responsabilidades. Existem vários padrões de arquitetura, mas na minha opinião o que se encaixa melhor na maioria das customizações é o de Service Layer.

Espero que tenham gostado dessas dicas, no início me serviriam de grande ajuda.

Um Abraço.

Referências:

https://trailhead.salesforce.com/
https://developer.salesforce.com/blogs/
https://www.youtube.com/watch?v=n9amswhOxJw&list=PLRXcsQvlIqgipsM0VADllCPdT75L4iDLI
https://developer.salesforce.com/page/Apex_Enterprise_Patterns_-_Separation_of_Concerns

segunda-feira, 4 de abril de 2016

SugarCRM - Abrindo a Mente - CRM - Sugar 7 - Desenvolvimento



Galera, estou a muito tempo sem aparecer aqui no meu blog mas acho que o meu amigo Rafael, me deu uma ótima ideia de postar aqui os meus tutoriais sobre a ferramenta SugarCRM, que é uma das melhores ferramentas do Mercado, e várias empresas estão pedindo cada vez mais suporte a ela.

Descrição da ferramenta abaixo:
https://www.sugarcrm.com/products/overview

Bem, a 1 ano eu vivi uma certa dificuldade de encontrar alguns tópicos em Português para o desenvolvimento baseado no Sugar então eu e meus colegas sentíamos muita dificuldade para localizar conteúdo, como eu estava um pouco mais a frente, peguei todas as dificuldades no inicio e fui montando um passo a passo de como desenvolver em cima dele.

Aqui abaixo está uma lista de sites que explicam sobre como desenvolver no ambiente Sugar:

Sugar Developer Guide - Este site funciona como se fosse o manual da ferramenta, tem uma gama de customizações que podem ser feitas, tipos de classes que podem ser herdades o método de desenvolvimento e a Arquitetura do Sistema.
http://support.sugarcrm.com/Documentation/Sugar_Developer/

Universidade Sugar  - Bem este site é baseado no aprendizado tem o conteúdo que você pode começar a brincar e desenvolver o nosso mentor nessa jornada é o Angel Maganã um dos especialistas da Sugar que nos mostra o quão poderosa é essa ferramenta e quão longe podemos chegar com ela.
https://university.sugarcrm.com/category/developer-users---self-paced

SugarCRM Comunity - Aqui é o fórum de discussão deles a onde nós podemos debater e procurar melhorar a ferramenta e buscar novas soluções juntos com os especialistas da Sugar, é um ótimo ambiente para se começar, aquilo que você pensa assim "poxa será que é realmente possível ?" a galera respondi sem problema, mas primeiro de uma pesquisada né. ^^
https://community.sugarcrm.com/welcome

Sugar Developer - Aqui é a nossa casa sempre quando você quer saber alguma uma novidade sobre o mundo do desenvolvimento do Sugar, aqui é uma lugar onde você estará entre amigos. :)
 http://developer.sugarcrm.com/

Angel Maganã - Galera, esse cara me ajudo muito no início considero como um amigo Angel tem várias exemplos de customizações foi uma das minhas linhas de partida e já disse pare ele me considerar um dos seus padawan rs.
http://cheleguanaco.blogspot.com.br/ - Blog
https://gist.github.com/elchele - GitHub
https://twitter.com/cheleguanaco - Twitter

Minhas apostilas - Com o passar do tempo acabei fazendo algumas apostilas em caso vocês precisem ou tenha dificuldades no início podem me perguntar que eu vou tentar passar o que já sei não adianta eu ficar guardando conhecimento estamos no tempo de compartilhar nossas ideias e abrir nossas mentes, porém nenhum dos documentos estão no padrão certinho como fui fazendo e desenvolvendo ao mesmo tempo foi complicado, mas espero que ajudem vocês.

Lista abaixo:

Desenvolvedor SugarCRM - Parte 1 - Validação - Versão 7

Desenvolvedor SugarCRM - Parte 2 - Criação do Pacote - Versão 7

Desenvolvedor SugarCRM - Parte 3 - Consumindo REST Api no Sugar - Versão 7

Desenvolvedor SugarCRM - Parte 4 - Consumindo REST da SugarCRM - Oauth - Versão 7

Desenvolvedor SugarCRM - Parte 5 - Criando um REST Point - Customizado - Versão 7

Desenvolvedor SugarCRM - Parte 6 - Criando um Drawer - Customizado - Versão 7

Desenvolvedor SugarCRM - Parte 7 - Criando um SubPainel - Customizado - 6.5

Bruno Ribeiro.

Salesforce - Aside IO - IDE

Hi all, Good morning, this morning I thought of doing something really cool to help you with Salesforce development. There is an IDE...