Ajuda com criação de extensão com sistema de votação

Suporte as extensões phpBB 3.1 e 3.2
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca amarelo. Imagem
caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 20 Fev 2018, 03:26

Olá, pessoal.

Há algumas semanas conversei com algumas pessoas que programam nessa plataforma a respeito do desenvolvimento de uma extensão que permita a votação de textos em meu fórum.

Possuo um projeto chamado Redação Nota 1000 que visa ensinar, debater e corrigir textos de forma gratuita para pessoas que não possuem oportunidade de frequentar cursinhos preparatórios para o ENEM.

Como a demanda por correção é muito alta e o número de voluntários é quase nulo (hoje possui apenas eu), resolvi desenvolver essa ferramenta que possibilitará a correção dos textos pelos próprios usuários do fórum de forma colaborativa, o que desafogaria a demanda exclusiva de correção por parte dos corretores.

A questão é que comprei um template da siteplast e o Dave, desenvolvedor do tema, não tem disponibilidade para criar extensões exclusivas para assinantes pois está ocupado desenvolvendo mais extensões para o público em geral.

Como não sei programar em phpbb, estou buscando ajuda profissional e colaborativa para conseguir colocar essa ferramenta em funcionamento ainda esse ano para os estudantes que prestarão exame no final do ano.

No momento, eu preciso de ajuda com as seguintes questões: preciso que essa ferramenta apareça em apenas fóruns pré-selecionados e também que haja uma conexão com o banco de dados para computar as notas.

A estrutura de votação já está pronta, restando apenas a programação para criar a opção no painel administrador de habilitar ou não a ferramenta de votação em determinado fórum e, também, a conexão com o banco de dados para computar as notas.

Segue o print da ferramenta:
TEMA A Legislação do Aborto no Brasil - Redação Nota 1000 - Correção Online e Gratuita ENEM e Concursos.png
Aproveito para pedir que caso alguém tenha o contato com algum programador que domine a plataforma phpbb e faça orçamento, que me envie.

Desde já, agradeço!
Editado pela última vez por caiocald em 02 Mar 2018, 06:01, em um total de 1 vez.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 20 Fev 2018, 17:05

Att #1:

Estou lendo o guia para criação de extensões na Área 51 e baixei a Ekeleton Extension.

A primeira dúvida que tenho é sobre como posso injetar o conteúdo na página.
Atualmente fiz a injeção manual por meio de include, porém, agora que estou transformando em extensão, creio que deverá ser feita por EVENT. mas não tenho noção de como fazer.

No aguardo.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 20 Fev 2018, 17:31

@_Vinny_

Dando continuidade a nossa conversa no facebook. Existe mais materiais sobre essa parte de eventos?

henrique.seven2011
Moderador
Moderador
Mensagens: 786
Registrado em: 23 Mar 2012, 13:50
Nome Real: Saulo Henrique

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por henrique.seven2011 » 20 Fev 2018, 19:11

Não flood o tópico, edite o post anterior.

Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5792
Registrado em: 03 Set 2009, 21:59
Nome Real: Marcus Vinicius
Localização: Macapá, AP - Brasil
Contact:

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por _Vinny_ » 20 Fev 2018, 22:49

Você tem alguma noção de PHP e banco de dados?

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 21 Fev 2018, 00:51

_Vinny_ escreveu:
20 Fev 2018, 22:49
Você tem alguma noção de PHP e banco de dados?
Tenho sim, Vinny.
O meu maior problema está na criação da extensão.

Acabei de avançar mais uma etapa no processo:

Depois de ler o tutorial de como criar uma extensão na Área 51 e consultar a lista de eventos do phpbb, finalmente fiz a minha primeira modificação exclusivamente por extensão.

Para os que tiverem buscando informações de como desenvolver uma extensão para phpbb que estiverem lendo, esse post será uma referência para você onde tudo o que eu aprender será postado aqui em forma de atualizações.

#ATT 2
Vamos lá,
Mesmo depois de ler infinitas vezes sobre como injetar um template via extensão, ainda não obtive sucesso, visto que o local onde eu quero injetar a minha ferramenta (na página view_forum) não possui a âncora de evento necessária para ela ficar no lugar certo e, pelo o que eu entendi no tutorial da área 51, eu terei que criar um outro tipo que ainda não entendi.

Resolvi pular essa etapa por enquanto e passei para a modificação no painel administrador. Pois, como será uma ferramenta exclusiva para determinados fóruns, preciso que ela seja mostrada somente em tópicos autorizados, visto que fóruns como lixeira, dúvidas e outros não são necessários possuírem sisstemas de votação (???????).

Depois de ler bastante, consegui injetar o html do campo de escolha para ativação da ferramenta na aba de criação/edição do fórum como segue em anexo:
Editar fórum.png
Após a consulta na Event list no site informado acima, constatei que a âncora para alocar as opções de ativação da minha ferramenta nos fórums era: acp_forums_main_settings_append (Add settings to forums at end of main settings section)

Utilizando os arquivos pré-fabricados da extensão Eskeleton bastou a criação de um arquivo html com o mesmo nome colocando-o na pasta da minha extensão dentro da pasta 'adm'
Ficando assim:
adm>style>event>acp_forums_main_settings_append.html

após isso, e, tendo a extensão ativada, o painel administrador já mostrará a modificação na aba de criação de tópicos.

Bem, por enquanto foi o que eu consegui restando somente a parte de migração com o banco de dados que estudarei agora.

Espero que este tópico ajude bastante pessoas!

Obrigado!

Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5792
Registrado em: 03 Set 2009, 21:59
Nome Real: Marcus Vinicius
Localização: Macapá, AP - Brasil
Contact:

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por _Vinny_ » 21 Fev 2018, 01:04

Você conseguiu criar o ativador por fórum, mas cada forum agora vai precisar de uma nova entrada no banco de dados referente a essa configuração. Isso você inseri via migração, a migração será executada ao instalar a extensão e atraves dela que se adiciona novas coisas ao banco de dados (tabelas, colunas, configurações, outros dados). Neste caso deverá ser adicionada uma nova coluna na tabela phpbb_forums que irá receber o valor da configuração. Geralmente o valor é true ou false, ou então 0 ou 1.

Após isso você vai precisar de um evento(veja na lista) que irá receber esse novo dado dentro de viewtopic.php onde será verificado se a opção é habilitada ou desabilita e assim exibir ou não as notas. Se não me engano, no proprio Skeleton deve ter isso.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 21 Fev 2018, 01:22

_Vinny_ escreveu:
21 Fev 2018, 01:04
Você conseguiu criar o ativador por fórum, mas cada forum agora vai precisar de uma nova entrada no banco de dados referente a essa configuração. Isso você inseri via migração, a migração será executada ao instalar a extensão e atraves dela que se adiciona novas coisas ao banco de dados (tabelas, colunas, configurações, outros dados). Neste caso deverá ser adicionada uma nova coluna na tabela phpbb_forums que irá receber o valor da configuração. Geralmente o valor é true ou false, ou então 0 ou 1.

Após isso você vai precisar de um evento(veja na lista) que irá receber esse novo dado dentro de viewtopic.php onde será verificado se a opção é habilitada ou desabilita e assim exibir ou não as notas. Se não me engano, no proprio Skeleton deve ter isso.
Exatamente, Vinny!
Esse será o meu próximo passo. Mas, antes, eu preciso conseguir injetar a estrutura html na view_forum. Porém, como não tem âncora no ponto exato que eu quero, estou estudando outra forma de conseguir essa injeção 100% por extensão.
No último caso, terei que criar manualmente essa âncora no tema para, assim, a extensão funcionar no local exato onde quero. O problema será: a extensão funcionará somente para esse tema pré modificado.

Sigo tentando, Vinny. Obrigado, você ta me ajudando muito!

Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5792
Registrado em: 03 Set 2009, 21:59
Nome Real: Marcus Vinicius
Localização: Macapá, AP - Brasil
Contact:

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por _Vinny_ » 21 Fev 2018, 04:04

Em que parte do view_forum ficaria essa estrutura???

Você pode adicionar um evento de template manualmente no arquivo e onde será exibido a estrutura da extensão caso esse evento realmente não exista. Deve ser adicionado no tema ou nos temas que você usa no fórum. Em todo caso, você sempre pode solicitar novos eventos ao repositorio do phpBB, porém eles só serão lançados na próxima versão, caso aceitos.

Seria bom se você compartilhasse o codigo via github, assim mais pessoas poderiam contribuir diretamente com a extensão, exceto claro que este seja um projeto privado seu.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 21 Fev 2018, 04:21

_Vinny_ escreveu:
21 Fev 2018, 04:04
Em que parte do view_forum ficaria essa estrutura???

Você pode adicionar um evento de template manualmente no arquivo e onde será exibido a estrutura da extensão caso esse evento realmente não exista. Deve ser adicionado no tema ou nos temas que você usa no fórum. Em todo caso, você sempre pode solicitar novos eventos ao repositorio do phpBB, porém eles só serão lançados na próxima versão, caso aceitos.

Seria bom se você compartilhasse o codigo via github, assim mais pessoas poderiam contribuir diretamente com a extensão, exceto claro que este seja um projeto privado seu.
Corrigindo**** Viewtopic_body.html

Ficaria localizado no final da primeira postagem (e somente na primeira) de cada tópico (antes da resposta rápida)

Eu até poderia compartilhar o código, porém tenho receio de que outros sites concorrentes copiem. Depois que eu criei o projeto surgiram vários outros com o mesmo objetivo, porém sem a mesma prestação efetiva de serviço.
Ficaria mais fácil para você com a extensão compartilhada?

Minha cabeça já está doendo muito, não consigo entender mais nada do tutorial da 51, acho que vou descansar um pouco.

Responder