quinta-feira, 13 de dezembro de 2018

Salesforce - Apex - Callout - Simple Pattern - Rest


Oi Pessoal,

Tudo bem ? Espero que sim, eu aqui de novo postando mais uma ajuda sobre como realizar o desenvolvimento na plataforma Salesforce, agora a minha parte em questão. Se deve na criação de chamada a WebService em formato REST, as chamadas "Callouts".

Havia encontrado uma lista de problemas em diversos projetos, redundância, forte acoplamento, sem padrão, não reaproveitamento, praticidade, entre outros que estavam desagradando cada vez mais em criar uma simples chamada Callout, e se tornando um caos para podermos realizar uma modificação.

Eu comecei a estudar um modo de criar uma chamada e fosse o mais simples possível, fosse prática e limpa ao mesmo tempo. Para qualquer pessoa pudesse ler e entender o que estava acontecendo e quais eram os padrões de construção da chamada.

Acabei criando esse simples Pattern que se encontra hoje no Github, a questão não é ser inovador ou ser robusto, apenas ser simples e prático, como deveria realmente ser essas chamadas externas, por enquanto esta me ajudando a limpar muito código confuso que estava em diversos projetos.

Espero que gostem, caso tenham ideias de modificação, só mandarem um pull request, que faço uma análise e aprovo sem problemas.

https://github.com/brunoslribeiro/sfdc-callout-pattern

Um forte abraço, pessoal.

quarta-feira, 11 de julho de 2018

Warstock CSV - Salesforce - Heroku


Oi Pessoal,

Mais uma vez venho aqui trazer mais uma solução para os meus problemas ou talvez de vocês haha, mas uma das minhas soluções tabajara corporation, criei um prov-c utilizando JavaScript trabalhando com csv's como base, eu tive que realizar um carregamento bem grande de uma aplicação legado para o Salesforce, eu estava cansado de fazer via Excel pois iria demorar muito tempo, por isso pensei nesta ideia de meio que automatizar com csv's.

Link abaixo:
https://warstockcsv.herokuapp.com/procv

quarta-feira, 15 de novembro de 2017

Salesforce - Angular - Gulp - Pequeno exemplo para Aprendizado




Fala ai galera,

Tudo bem com vocês ? Espero que sim.

Eu sei que estou um pouco longe daqui porém estou trabalhando e estudando muito até para acompanhar o mercado com as novas tecnologias, e como mudei de emprego estou com mais desafios e metas a serem cumpridas e também novos projetos a serem concluídos como sempre né a vida de desenvolvedor sempre sendo barra pesada meu amigo. kkkk

Bem mais vamos o que interessa né:

Hoje queria compartilhar um pouco de conhecimento com um pequeno exemplo de uma aplicação utilizando o AngularJS mais o automatizador de tarefas Gulp, com um CRUD  no Salesforce, como ainda não estava muito bem familiarizado com a ferramenta criei essa pequena estrutura para aprendizado como me ajudo um pouco espero que possa ajudar algum de vocês.

Eu coloquei uma passo a passo no readme no repositório para ajudar.

Me despeço humildemente, desejo uma vida longa e próspera.

E bom estudos. :)

Link do repositório:
https://bitbucket.org/devbrunoribeiro/angularsalesforce

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

terça-feira, 3 de janeiro de 2017

Feliz 2017




Oi Pessoal,

Sei que tó sumido, desejo a vocês um ótimo 2017 espero que todos as suas metas se realizem e espero que Deus chova um monte de bençãos nas suas vidas, e lembre-se vá com fé, que a luta é nossa e o amanhã ainda é o presente que se faz hoje.

Um forte Abraço, Bruno.

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.

quinta-feira, 26 de fevereiro de 2015

Dia a Dia

Boa tarde,

Pessoal vocês devem ver que o meu blog tá parado é que realmente estou sem tempo para verificar novidades e nem Amv-s o que eu gosto muito de fazer e trazer os melhores.

Vou ver se do uma limpeza nesse blog retirar alguns posts antigos, adicionar coisas novas que condizem com o meu dia, dia de hoje e o que eu aprendo de desenvolvimento de sistemas, estou pensando em postar alguns vídeos com tutoriais em .Net e Jquery e aplicações Mobile utilizando o Cordova.

Olha pessoal estou sempre no Twitter agora, até mesmo por causa do meu trabalho, então se quiserem falar comigo podem falar de lá.

Bem sem mais delongas rs

Um abraço do seu amigo Bruno. :)

Salesforce - Apex - Callout - Simple Pattern - Rest

Oi Pessoal, Tudo bem ? Espero que sim, eu aqui de novo postando mais uma ajuda sobre como realizar o desenvolvimento na plataforma Sale...