Os scripts ASP do quadro de discussão conforme usados no The Code Project. Este é um projeto de código aberto para a comunidade Code Project.
Este é o primeiro dos “projetos” que inspiraram o conceito original do Code Project. Fornecemos esses scripts para ajudar os desenvolvedores e esperamos que desenvolvedores como você nos ajudem em troca, testando, enviando relatórios de bugs, sugerindo melhorias e enviando extensões.
Convidamos você a usar esses scripts em seus próprios sites, mas pedimos que mantenha o logotipo “powered by CodeProject” no canto superior esquerdo. Pedimos também, antecipadamente, sua paciência e compreensão. Esses scripts sem dúvida mudarão muito , por isso sugerimos que você volte regularmente para ver os desenvolvimentos mais recentes ou assine a Newsletter para receber notificações de atualizações.
A partir de 5 de julho de 2000, forneceremos o código-fonte ao controle ActiveX que realiza o trabalho principal de organizar as mensagens em uma aparência de ordem. Adoraríamos ter comentado bastante o código e até mesmo fornecido um passo a passo sobre como o código funciona, mas simplesmente não tivemos tempo e decidimos que postar como está é melhor do que não postar nada. Se você encontrar bugs ou fizer melhorias, envie-os.
Cuidado
A versão ActiveX do código usa um controle ActiveX para conseguir essa ordem, carregando todas as mensagens em um fórum e ordenando-as corretamente. Obviamente, isso resulta em um desempenho ruim quando o fórum começa a crescer. A versão ASP pura As versões subsequentes incluem um campo "SortOrder" para cada mensagem, o que significa que as mensagens são classificadas no momento da consulta ao banco de dados e a paginação/filtragem pode ser incluída para reduzir drasticamente o tamanho e a carga do conjunto de registros. Não é recomendado usar a versão ActiveX deste código .
26 de agosto de 2001 - Philip Andrew forneceu uma versão PHP dos fóruns.
O quadro de discussão usado no CodeProject foi escrito por Uwe Keim e compreende um controle ActiveX (escrito em Visual C++) e um conjunto de scripts ASP. O controle ActiveX fornece acesso de baixo nível ao banco de dados de mensagens do fórum e fornece funcionalidade para facilitar a maneira como os parâmetros são passados de uma página para outra. O controle ActiveX é lançado em formato DLL apenas no momento, em parte porque ainda não terminamos de escrevê-lo e em parte porque mal começamos a documentá-lo :)
Novo : Uma nova versão das placas foi escrita por Uwe e é somente ASP, portanto, não é mais necessário mexer com controles ActiveX. A implementação dos fóruns é mínima, mas fornecerão tudo o que você precisa para colocar um conjunto de fóruns de discussão em funcionamento. Eles são somente Access no momento, mas mudar para o SQLServer é um exercício simples deixado para o leitor. Veja a seção de download no topo desta página para os arquivos.
Então - vamos aos scripts. Todas as discussões daqui em diante se concentrarão apenas na versão ActiveX. A versão não-activeX é suficientemente semelhante, embora as estruturas de diretório e o aninhamento de arquivos sejam um pouco diferentes.
Eles são divididos em várias categorias:
Há também:
Presume-se que você esteja executando o NT4 Server ou superior com IIS4 ou superior, ou Win9X com PWS. O fórum é armazenado em um banco de dados Access e utiliza o Jet Engine para acesso.
OK, então você tem os arquivos e deseja começar a jogar em vez de ler o restante deste artigo. Eu não culpo você. Aqui está o que você faz então:
/CodeProject/forum/bin
/CodeProject/common/config.asp
para se adequar ao seu site./CodeProject/forum/includes/config.asp
para se adequar aos seus fóruns de discussão./CodeProject/forum/data/forum.mdb
./CodeProject/common/email.inc
conforme desejar. Agora basta apontar seu navegador para /CodeProject/forum/index.asp
e você estará pronto
Os scripts são compostos de um conjunto de scripts principais da interface do usuário (no diretório raiz) que fazem uso de scripts de trabalho (no diretório /forum/app
) para realmente fazer o trabalho. Estes, por sua vez, redirecionam o navegador de volta para os scripts da interface do usuário.
A essência do sistema está em /forum/includes/forum.inc
. Este arquivo contém a definição da classe do fórum e é um wrapper para o controle ActiveX do fórum principal. Esta classe é o principal ponto de comunicação que contém todas as funcionalidades relacionadas ao fórum. Você nunca se comunica diretamente com o controle ActiveX do fórum, mas sempre indiretamente através desta classe.
A classe não contém apenas métodos que realizam o trabalho, mas também funções para retornar URLs para os vários scripts do aplicativo. Ao fazer isso, podemos definir os nomes dos vários scripts no arquivo /forum/includes/config.asp
, o que torna extremamente simples alterar a estrutura de diretórios.
Cada mensagem possui uma senha definida pelo autor da mensagem que permite ao autor modificar ou excluir uma mensagem. Além disso, você pode modificar ou excluir mensagens usando a senha global. Isso é definido em /forum/includes/config.asp
e é usado simplesmente anexando um " &ad=
" no final de qualquer URL que você esteja visualizando no momento.
Por exemplo, se você estiver visualizando o índice do fórum com ID 1 e seu URL for http://www.myserver.com/codeproject/forum/index.asp?forumid=1
, para entrar no modo admin, basta modificar o URL para:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
onde "12345" é a senha (definida em /forum/includes/config.asp
como ADMIN_PW
. Isso lhe dá opções para administrar o fórum (definir o nome e a descrição do fórum, bem como o endereço de e-mail a ser enviado quando novas mensagens ou mensagens de resposta são postadas).
Para adicionar ou excluir fóruns você precisa modificar fisicamente o banco de dados. Esta é apenas uma daquelas coisas que ainda não fizemos...
No modo administrador você também tem a opção de modificar ou excluir mensagens. Além disso, uma vez no modo de administrador, você continuará no modo de administrador à medida que avança pelos scripts do fórum. Simplesmente remova " &ad=
" para sair do modo de administrador.
A versão mais recente dos scripts possui uma interface de usuário aprimorada, além de algumas alterações internas projetadas para corrigir alguns problemas da primeira versão. Em uma casca de noz:
Demais. Isto é apenas um esboço dos fóruns e nem descreve o que cada arquivo faz, nem como planejamos expandir os scripts. Estaremos constantemente trabalhando na melhoria desses scripts e todas as extensões e modificações feitas nos principais fóruns do CodeProject serão incluídas nesses arquivos para download.
Considere isso um trabalho em andamento!