Skip to content

jeffersonalexsilva/Openredu

 
 

Repository files navigation

OpenRedu Core

Este repositório contem o core do OpenRedu. O openredu-core é a parte central da plataforma social educacional OpenRedu. Também existem alguns subsistemas/serviços que estão em servidores/projetos/repositórios diferentes. A saber:

Setup

Setup Ubuntu Setup Windows/Mac OS/Ubuntu (Deprecated)

Dependências

Para fazer o OpenRedu funcionar em ambiente de desenvolvimento você precisará instalar as seguintes dependências:

  • MySQL 5.1
  • MongoDB 2.0.6
  • Solr 1.4.0

Coding style

O estilo e padrões de código utilizados estão disponíveis neste guia. Leia com atenção antes de submeter patches.

Contribuições

Pull requests

Os passos para contribuir com a evolução do código, seja para resolução de issue ou criação de features são os seguintes:

  1. Criar um branch novo
  2. Realizar mudanças ou adicionar a feature
  3. Commitar mudanças e enviá-las para o remoto
  4. Realizar pull request e atribuir a um revisor
  5. Caso existam revisões: realizar novos commits no mesmo branch criado e enviar para o remoto

Um exemplo de resolução de issue seguiria o seguinte fluxo:

Assumindo que o issue tenha o ID 1300.

$ redu (master) > git pull origin master
$ redu (master) > git checkout -b issue-1300
$ redu (issue-1300) > git commit -a -m "Minhas modificações"
$ redu (issue-1300) > git push origin issue-1300

Para mais informações sobre como fazer o pull request, consulte este post.

Reportando issues da API

O primeiro passo é decidir em qual repositório criar o issue:

Para problemas na API REST, É importante expressar os problemas em termos de HTTP e não da linguagem utilizada. Por exemplo, ao invés de dizer que o método getUsers() está lançando null pointer, tentem explicar que uma requisição do tipo GET para /api/spaces/1/users está retornando o código 500. Fica mais fácil de investigar dessa forma.

DelayedJob

O DelayedJob é utilizado como infraestrutura para processamento de tarefas em background.


#### Responsabilidades de cada worker do Delayed Job

- `delayed_job.0` (general): Execução de tarefas gerais como criação de associações entre usuários e postagens no mural (não há necessidade de serem executadas imediatamente).
- `delayed_job.1` (email): Envio de emails.
- `delayed_job.2` (vis): Envio de dados para Vis (requisições HTTP).
- `delayed_job.3` (hierarchy-associations): Criação de associações da hierarquia que precisam ser feitas o quanto antes.

### Serviço de entrega de e-mails

Para utilizar entrega em segundo plano, é necessário chamar o método do ActionMailer da seguinte forma: ``object.delay(:queue => 'email').method``. Onde ``method`` é tipo de notificação que deve ser gerada. Por exemplo, para enviar o e-mail de convite, a chamada seria a seguinte:

```ruby
UserNotifier.delay(:queue => 'email').external_user_course_invitation(user_course_invitation, course)

É importante notar que e-mails devem ser enfileirados na fila email para evitar que o envio dos mesmos afetem a vazão do processamento de outros Jobs. Para cada e-mail será enfileirado um Job do DelayedJob que lidará com a renderização da View e entrega para a Amazon SES.

Para mais informações de uso: bundle exec ar_sendmail_rails3 -h

Licença Utilizada

O pacote global de software Redu tem direitos reservados para vários autores registrado junto ao INPI. Ele é um Software Livre e de Código Aberto e tudo isso é fornecido sob os termos da licença GNU General Public License versão 2 publicada pela Free Software Foundation.

Redu e a documentação do Redu são distribuídos na esperança de que eles vão ser útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Consulte a Licença Pública Geral GNU aqui para mais detalhes.

About

Rede Social Educacional

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 50.5%
  • CSS 21.9%
  • HTML 18.9%
  • JavaScript 8.3%
  • Other 0.4%