# Pergunta

por favor, quais linguagens de programação fazem o produto work canvas funcionar

##### Post Metadata
- Posted at: há cerca de 6 anos
- Net upvotes: 1


## Comments
### Comment 1

Integrar código ao núcleo do Canvas não é trivial. Talvez sua alteração seja melhor implementada como um serviço separado usando a API ou LTI. Temos um padrão de qualidade elevado na Instructure e, se você não estiver familiarizado com Ruby e Rails, pode ser difícil que seu código seja aceito. Estamos felizes em dar sugestões sobre como melhorar commits, mas não vamos ensinar a escrever código Ruby quando você enviar um pull request.

Todo commit para o Canvas é revisado por pelo menos um engenheiro da Instructure. Cada linha é lida e o revisor é responsável por verificar o commit e testá-lo em seu ambiente local. Assim, as mensagens de commit precisam fornecer informações suficientes para que o engenheiro saiba o que foi alterado e o que deve ser testado.

A seguinte lista de verificação é trabalhada para cada commit:

Verificar e testar o conjunto de alterações.  
Garantir que a mensagem de commit tenha um plano de teste.  
Garantir que os testes e o plano de teste cubram todos os casos necessários.  
Garantir que o código siga as convenções de codificação da linguagem.  
Garantir que o código seja bem projetado e arquitetado.  
Garantir que todas as strings/datas/horas/números voltados para o usuário sejam internacionalizados.  
Outros fatores que devem ser considerados:

Deve permanecer performático sob carga pesada.  
Deve funcionar em um ambiente multi-tenant. Mais sobre isso em um minuto, mas basicamente os aprimoramentos devem ser construídos usando a arquitetura de Plugin do Canvas.  
Deve ser acessível a leitores de tela e outros dispositivos de tecnologia assistiva.  
Deve seguir nosso estilo de codificação.  
Lugares para Começar  
Se você é novo no desenvolvimento do Canvas, há guias neste wiki para configurar seu ambiente de desenvolvimento (incluindo a execução de especificações). Certifique-se de nos fornecer um acordo de contribuição de código assinado, depois comece com algo pequeno. Conheça o processo de commit com algo pequeno, como uma correção de bug ou um ajuste de UI. Se não tiver certeza de onde começar, poste uma mensagem na lista de discussão.

Depois de se familiarizar, você pode começar a trabalhar em projetos maiores. Para qualquer coisa além de uma correção de bug, provavelmente faz sentido coordenar através da lista de discussão, já que é possível que outra pessoa esteja trabalhando na mesma coisa.

Pull Requests  
Gostamos de pull requests do GitHub. Se você relatar um problema, adoraríamos ver um pull request anexado. Apenas tenha em mente que, devido aos padrões de desenvolvimento mencionados acima, seu commit provavelmente será modificado pelo menos uma vez antes de ser aceito. Às vezes, faremos a alteração nós mesmos, mas muitas vezes apenas informaremos o que precisa acontecer e ajudaremos você a corrigir.

Aprimoramentos e Extensões  
Como o Canvas Cloud funciona como um ambiente multi-tenant, quaisquer alterações na base de código afetarão todas as instituições de uma vez. Se você deseja adicionar grandes funcionalidades ao Canvas, precisará ter isso em mente, já que provavelmente apenas algumas instituições desejarão essa funcionalidade adicionada.

Para ajudar com isso, incorporamos a noção de Plugins no Canvas. Plugins podem ser registrados em tempo de execução, mas só aparecem na interface para contas raiz habilitadas. Existem alguns lugares no código que já foram instrumentados para plugins (como conferências web e colaborações), mas se você deseja estender a funcionalidade em outro lugar, o primeiro passo será transformar essa parte do código em plugin, e então construir um plugin para sua implementação específica.

A maneira mais fácil de conhecer os Plugins do Canvas é lib/canvas/plugin.rb e lib/canvas/plugins/default_plugins.

##### Comment Metadata
- Posted at: há cerca de 6 anos
- Author title: Canvas Administrator and Department Chair Biology 




## Related Product
[Canvas LMS](https://www.g2.com/pt/products/canvas-lms/reviews)

## Related Category
[Sistema de Gestão de Aprendizagem (LMS)](https://www.g2.com/pt/categories/learning-management-system-lms)

## Related discussions
- [Quão bem o Trello se adapta a uma equipe maior?](https://www.g2.com/pt/discussions/1-how-well-does-trello-scale-into-a-larger-team)
  - Posted at: há quase 13 anos
  - Comments: 6
- [Can we please add a new section](https://www.g2.com/pt/discussions/2-can-we-please-add-a-new-section)
  - Posted at: há quase 13 anos
  - Comments: 0
- [Benefícios quantificáveis da implementação do seu CRM](https://www.g2.com/pt/discussions/quantifiable-benefits-from-implementing-your-crm)
  - Posted at: há quase 13 anos
  - Comments: 4


