Alguém aqui está usando sua instância do Discourse como seu site inteiro?

Para simplificar nossa pilha de tecnologia, estou pensando se não deveríamos hospedar um site e um fórum separadamente, mas sim reconfigurar o Discourse para ser ao mesmo tempo nosso site e nosso fórum.

Vejo que é assim que o Pavilion, de @angus, usa o Discourse.

No entanto, nossas necessidades de site são mais complicadas! Este é nosso site atual.

Estaria curioso em saber se existem outros sites baseados apenas no Discourse que eu possa explorar. Ou se vocês têm alguma ideia de como isso poderia ser feito.

5 curtidas

Bem, é possível usar publicar páginas para o seu conteúdo que não envolve postagens.

Em seguida, use um plugin de sub-menu no cabeçalho para criar um menu superior com submenus ou outro plugin para ter apenas um menu sem submenus.

Tudo depende das suas necessidades.

4 curtidas

Sim! Acho que isso é um ótimo começo.

Um dos nossos requisitos seria poder incorporar coisas como nosso formulário de inscrição na newsletter e nosso formulário de doações.

4 curtidas

Também não sei exatamente o quão poderoso é o estilo personalizado para publicação de páginas. Estou me perguntando se existem exemplos por aí de páginas com um estilo muito mais elaborado, incluindo blocos de conteúdo com fundos diferentes.

2 curtidas

A questão resume-se a três pontos:

  • a quantidade de “conteúdo publicado” (a) versus comunidade (b)
  • a proporção de visitas a (a) versus (b)
  • o seu orçamento

Você pode atender milhões de visualizações de página a partir de um VPS de $5 rodando WordPress com a configuração adequada de cache e CDN. A instância equivalente do Discourse seria muito, muito mais cara.

Se a maioria do tráfego e da atividade ocorrer dentro do Discourse e não houver risco de picos de tráfego nas páginas estáticas, então hospedá-lo tudo dentro do Discourse pode fazer sentido. Em outros casos, um CMS adequado ainda é o rei.

11 curtidas

Hmm, talvez você queira resolver seu https e certificado.

4 curtidas

15 posts foram movidos para um novo tópico: Certificado SSL não está funcionando no site principal do Discourse

O Discourse é um back-end em Rails e extensível, então você pode fazer tudo o que uma aplicação Rails consegue fazer, eu achei. Mas você está procurando uma solução mágica?

1 curtida

Embora isso certamente possa ser feito e possa fazer sentido para sua organização, nós, do Discourse, usamos softwares diferentes para nosso site principal.

Nosso site principal é HTML estático gerado por https://jekyllrb.com/ e nosso blog é uma simples instância do WordPress.

Isso realmente depende de como a engenharia da sua organização está estruturada e de quais necessidades e prioridades você tem.

7 curtidas

Obrigado por isso, Rafael.

Estou ansioso para me livrar do WordPress. Eu estava pensando em optar por uma solução apenas com o Discourse, mas agora estou considerando usar o Jekyll para o conteúdo estático/informativo que atualmente está em www.literatecomputing.com e migrar apenas as partes relacionadas à geração de receita para o Discourse, juntamente com o plugin em desenvolvimento discourse-subscriptions. Estou trabalhando arduamente em um plugin para o Discourse que funcionará como uma interface frontal para minhas ferramentas de instalação, atualização e outras manutenções.

7 curtidas

Como sugestão de leitura, aqui estão dois sites feitos inteiramente com o Discourse (o primeiro usa o plugin Docuss, agora descontinuado, e o segundo usa o plugin DiscPage):

http://www.docuss.org/
https://en.castafiore.org/

7 curtidas

Obrigado por essa estrutura para tomar a decisão!

Tenho que ser honesto e dizer que não tenho certeza do que isso significa, então vou passar a palavra para nossa equipe de tecnologia. :smile:

@pfaffman Você poderia dizer mais sobre isso? Quais são os pontos problemáticos que você enfrenta? Ainda estou considerando CMSs e o WordPress está entre as opções.

Eu ficaria muito interessado em manter contato sobre isso!

3 curtidas

Sim, isso é exatamente o que eu precisava. Obrigado!

5 curtidas

Para ser justo, aprendi php antes mesmo de ser chamado assim, e não acompanhei a evolução para a linguagem moderna que ele se tornou, e minhas necessidades são muito específicas (preciso processar pagamentos e automatizar a criação de um droplet na Digital Ocean com a instalação do Discourse).

Mas nas últimas vezes em que aceitei US$ 500–1000 para fazer algum ajuste no Discourse/WordPress que eu tinha certeza que seria rápido e fácil, me arrependi. Na mais recente, gastei bastante tempo e devolvi o dinheiro de alguém. Claro, se eles estivessem pedindo coisas simples, provavelmente não teriam me contratado. Também tenho outro cliente com um site WordPress cheio de plugins desatualizados e impossíveis de atualizar. É um caos total; em algum momento foi hackeado e agora tem vários links de conteúdo adulto. Algo fácil de evitar.

Por outro lado, tenho usado o Gravity Forms em vez do WooCommerce há cerca de um ano e tenho ficado bastante satisfeito ao usá-lo para receber pagamentos, tanto para transações únicas quanto para assinaturas (embora não integrado ao Discourse). (Mas não consigo fazê-lo disparar a instalação do Discourse exatamente no momento que quero!)

Se você estiver fazendo coisas “padrão” e se mantiver em plugins bem suportados, provavelmente não se arrependerá (mas eu usaria o discourse-subscriptions para gerenciar, bem, as assinaturas do Discourse). Um quarto dos sites na internet usa WordPress, e há um bom motivo para isso.

7 curtidas

Atualização: Parece que vamos optar por dois sistemas separados para nosso site versus nosso Discourse. O fator principal foi que as pessoas que precisam atualizar o conteúdo do nosso site são em sua maioria não técnicas, então elas realmente se beneficiam de usar um sistema de gerenciamento de conteúdo super fácil de usar. Usamos o Weebly para que as pessoas tenham uma maneira fácil de atualizar o conteúdo, mas ainda melhor, pagamos por uma plataforma que gerencia nossa plataforma de doações e nosso sistema de gerenciamento de contatos, que vem com uma equipe técnica dedicada à qual podemos simplesmente enviar e-mails para fazer alterações mais robustas, como no tema do site, organização, incorporações, etc. Eles cuidarão do site do Weebly, mas não do Discourse.

Agora que decidimos por dois sites diferentes, precisamos descobrir como torná-los coerentes. Vou fazer um agradecimento aqui a @angus, cuja empresa apoia a Comunidade PianoGroove e tem a integração mais linda que já vi (e já vi muitas!)

Site do PianoGroove

Captura de tela do site da Comunidade PianoGroove

@angus, agradeço sinceramente pelo trabalho incrível que você faz para seus clientes e por sua generosidade em tornar os plug-ins e temas que você cria de código aberto. Temos um longo caminho a percorrer para que nosso site e o Discourse funcionem para nós, mas vez após vez descubro que o trabalho que o Pavilion faz é exatamente o que nossa organização comunitária de base, de código aberto, precisa.

16 curtidas

Obrigado @debryc :slight_smile:

Gostaria de acrescentar que são todos os membros do Pavilion, e não apenas eu, que mantemos nosso trabalho. Nossa cooperativa é um esforço coletivo.

Também gostaria de mencionar que acabamos de abrir o código-fonte do nosso Plugin Landing Pages, que permite páginas totalmente independentes, apoiadas por uma instância do Discourse; outra forma de atender à necessidade discutida neste tópico. Esse plugin separa o front-end das páginas do cliente do Discourse (ou seja, não carrega o aplicativo do Discourse), enquanto ainda permite uma integração fácil por meio de um back-end comum (ou seja, o servidor Discourse).

Já estamos iniciando o processo de uso desse plugin com alguns de nossos clientes para atender a necessidades semelhantes às discutidas aqui. Também estamos considerando desenvolver pacotes de código aberto generalizados e fáceis de usar, baseados em casos de uso comuns para um CMS associado a uma comunidade, utilizáveis com esse plugin.

Aqui está a lista atual de casos de uso que temos em mente para receber esse tratamento:

  • Blog (estou trabalhando atualmente neste). Escreva o conteúdo no Discourse e apresente-o em uma página de blog totalmente independente, que você pode personalizar como um blog real (ou seja, como WordPress ou Ghost).

  • Páginas de produto, serviço ou recurso (como as nossas). Exiba produtos, serviços ou recursos que podem incluir conteúdo ou dados (categorias, tags, tópicos, usuários etc.) da sua instância do Discourse.

  • Páginas de “Equipe” (como as nossas). Uma página para sua equipe, usando a associação (e dados de usuário) de um grupo de usuários do Discourse.

  • Páginas de eventos, tanto para listar quanto para exibir dados de eventos da sua instância do Discourse em uma página de destino de evento estilizada. “Dados de eventos” aqui podem ser uma combinação de dados do Plugin Calendário do Discourse, categorias, tópicos, usuários (por exemplo, confirmações de presença) e locais (usando nosso Plugin de Locais).

Estamos interessados em outros casos de uso generalizáveis que as pessoas acham que se beneficiariam desse tratamento. Gostaria de observar agora que existem alguns casos de uso que já consideramos e que são menos propensos a receber esse tratamento nesta fase:

  • Loja. Embora possa haver páginas que integrem elementos de uma loja, lojas online exigem uma ampla gama de funcionalidades que sempre exigirão uma solução dedicada, como WooCommerce ou Shopify.

  • Base de Conhecimento. Essa necessidade já é bem atendida por soluções como o Plugin Knowledge Explorer. Uma página de destino pode exibir um subconjunto de uma base de conhecimento, mas replicar inteiramente a funcionalidade de algo como o Plugin Knowledge Explorer (ou apenas listas de tópicos do Discourse) seria contraproducente.

Também estamos interessados em trabalhar com qualquer pessoa que deseje desenvolver essas páginas, seja como um projeto de desenvolvimento em si mesmo (por exemplo, para melhorar suas habilidades), para sua comunidade ou até mesmo para vender. Estamos planejando lançar nossos próprios pacotes de código aberto gratuitos para cada caso de uso no médio prazo (4 a 6 meses).

O plugin Landing Pages e as próprias páginas do Pavilion serão sempre 100% de código aberto e gratuitas. No entanto, esta é uma estrutura generalizável que qualquer pessoa com conhecimento de HTML e CSS pode usar para desenvolver um “pacote de páginas”, se desejar. Em breve, adicionarei um “guia para desenvolvedores” aos documentos de conhecimento para esse plugin.

O plugin Landing Pages já suporta o hospedagem de páginas em repositórios privados da mesma forma que o sistema de temas do Discourse (de fato, por trás das cenas, ele é baseado e estende o sistema de temas do Discourse). Isso significa que já é possível vender o acesso a um pacote de páginas de destino, se desejar. Isso pode tornar interessante para outros desenvolvedores construir tais pacotes.

Essa abordagem não atenderá a todas as necessidades de gerenciamento de conteúdo associadas a um fórum, mas pode atender bem a um subconjunto, particularmente aquelas que vemos regularmente em comunidades menores e independentes, pois eliminaria a necessidade de instâncias separadas e, criticamente, a necessidade de compartilhar dados entre essas instâncias por meio de protocolos de autenticação (ou seja, compartilhar dados de usuário ao fazer login), webhooks ou outros métodos de compartilhamento de dados.

Isso pode reduzir custos e administração, especialmente para comunidades menores que desejam gerenciar conteúdo relativamente contido ou direcionado, ou páginas estáticas, juntamente com seu fórum. Nunca será uma substituição direta para o WordPress ou outros sistemas de CMS, no entanto, esperamos que possa tornar certos casos de uso significativamente mais fáceis.

19 curtidas

Sim! E obrigado!

Páginas que permitem scripts

Sou parte de uma comunidade baseada no Discourse há apenas 2,5 meses. O que tenho encontrado é a necessidade de certas ferramentas que exigem a inclusão de um script.

Exemplo de calendário: existem ferramentas de calendário ou eventos que eu poderia incorporar em uma página. No entanto, é necessário um script na tag E ele precisa ser acionado para a página.

SAS mais geral: muitas vezes, um iframe NÃO é o ideal. Não quero que meus membros tenham que ir a outro site para se inscrever, por exemplo, mas meu serviço de inscrição ConvertBox precisa de um script na tag e de um

.

Ao buscar aprimorar as ofertas para minha comunidade, uma coisa fica bastante clara: até que eu “resolva” a capacidade de adicionar incorporações baseadas em scripts de forma mais fácil, sinto que estou limitado ao que o OneBox suporta ou ao uso de iframes. Eu até poderia sonhar em aposentar meu site WordPress se houvesse funcionalidades aprimoradas nas Páginas que oferecessem controle de inclusão e acionamento como esse.

Eu não conseguiria codificar isso, mas consigo me ver ajudando financeiramente a apoiar esse tipo de desenvolvimento para que a comunidade possa se beneficiar. Obrigado!

3 curtidas

Os embeds são realmente possíveis tanto na interface do Discourse (por exemplo, acima de uma lista de tópicos) usando um tema, quanto no Plugin Landing Pages. Para este último, criei um exemplo usando esta pequena versão do Dinosaur Game. Você pode jogar aqui: Pavilion (apenas desktop).

2021-03-04 18.54.09

Nenhuma codificação foi necessária para este. Tudo o que fiz foi fazer upload desses ativos para nosso CDN (arrastar e soltar a pasta em um ‘space’ do DigitalOcean), criar uma página com o caminho “dinosaur” e copiar/colar este HTML (ambos via a interface administrativa).

HTML
<div class="landing page dinosaur">
  <div class="container">
    <h1>Dinosaur Game!</h1>
    <canvas id="game" height="200" width="800"></canvas>
    <p class="controls">pressione a barra de espaço para começar</p>
    
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/helpers.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/game-object.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/cactus.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/dinosaur.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/background.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/score.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/game.js"></script>
    <script>
    	new Game({
    		el: document.getElementById("game")
    	});
    	window.onkeydown = function(e) {
            return e.keyCode !== 32;
        };
    </script>
  </div>
</div>

O Plugin Landing Pages implementa as configurações de CSP e CORS do Discourse, que já configurei para lidar com scripts do nosso CDN (através das configurações do site relevantes).

Na próxima semana, postarei um tópico completo da base de conhecimento “Como hospedar e incorporar ativos” para esse plugin, cobrindo esse caso de uso.

8 curtidas

Obrigado, isso é útil como ponto de partida.

Não consegui encontrar como fazer isso em um tema, inserindo um , por exemplo, que seja carregado com cada tópico alterado ou acima de uma lista de tópicos. Devo personalizar o tema e colocá-lo após o cabeçalho?

2 curtidas