코드 프로젝트에 사용되는 토론 게시판 ASP 스크립트. 이는 Code Project 커뮤니티를 위한 오픈 소스 프로젝트입니다.
이는 코드 프로젝트의 원래 개념에 영감을 준 첫 번째 "프로젝트"입니다. 우리는 개발자를 돕기 위해 이러한 스크립트를 제공했으며, 여러분과 같은 개발자가 테스트, 버그 보고서 제출, 개선 제안 및 확장 제출을 통해 우리를 도와주기를 바랍니다.
귀하의 사이트에서 이러한 스크립트를 사용하도록 초대하지만 왼쪽 상단에 "powered by CodeProject" 로고를 유지하시기 바랍니다. 아울러 고객 여러분의 너그러운 양해와 양해 부탁드리겠습니다. 이러한 스크립트는 의심할 바 없이 많이 변경될 것이므로 정기적으로 다시 확인하여 최신 개발 내용을 확인하거나 뉴스레터를 구독하여 업데이트 알림을 받는 것이 좋습니다.
2000년 7월 5일 현재 우리는 메시지를 순서대로 구성하는 주요 작업을 처리하는 ActiveX 컨트롤에 소스 코드를 제공하고 있습니다. 우리는 코드에 많은 주석을 달고 코드 작동 방식에 대해 단계별로 제공하고 싶었지만 시간이 없었고 있는 그대로 게시하는 것이 전혀 게시하지 않는 것보다 낫다고 결정했습니다. 버그를 발견하거나 개선사항이 있으면 보내주세요.
주의
ActiveX 버전의 코드에서는 ActiveX 컨트롤을 사용하여 포럼의 모든 메시지를 로드한 다음 올바르게 정렬함으로써 이러한 순서를 달성했습니다. 이는 포럼이 성장하기 시작하면 분명히 성과가 저하되는 결과를 낳습니다. 순수 ASP 버전 후속 버전에는 각 메시지에 대한 "SortOrder" 필드가 포함되어 있습니다. 즉, 메시지는 DB 쿼리 시간에 정렬되며 페이징/필터링을 포함하여 레코드 세트 크기와 로드를 대폭 줄일 수 있습니다. 이 코드의 ActiveX 버전을 사용하는 것은 권장되지 않습니다 .
2001년 8월 26일 - Philip Andrew가 포럼의 PHP 버전을 제공했습니다.
CodeProject에서 사용된 토론 게시판은 Uwe Keim이 작성했으며 ActiveX 컨트롤(Visual C++를 사용하여 작성)과 ASP 스크립트 세트로 구성됩니다. ActiveX 컨트롤은 포럼 메시지 데이터베이스에 대한 낮은 수준의 액세스를 제공하고 매개변수가 한 페이지에서 다른 페이지로 전달되는 방식을 쉽게 해주는 기능을 제공합니다. ActiveX 컨트롤은 현재 DLL 형식으로만 릴리스됩니다. 부분적으로는 아직 작성을 완료하지 않았고 부분적으로는 문서화를 거의 시작하지 않았기 때문입니다. :)
새로운 소식 : ASP 전용 보드의 새 버전이 Uwe에 의해 작성되었으므로 더 이상 ActiveX 컨트롤을 조작할 필요가 없습니다. 보드는 구현이 최소화되어 있지만 토론 게시판 세트를 시작하고 실행하는 데 필요한 모든 것을 제공합니다. 현재로서는 액세스 전용이지만 SQLServer로 이동하는 것은 독자의 몫으로 남겨진 간단한 연습입니다. 파일은 이 페이지 상단의 다운로드 섹션을 참조하세요.
그래서 - 스크립트에. 이제부터의 모든 논의는 ActiveX 버전에만 집중됩니다. 비ActiveX 버전은 디렉토리 구조와 파일 중첩이 약간 다르지만 충분히 유사합니다.
이는 다음과 같은 여러 범주로 나뉩니다.
다음도 있습니다:
IIS4 이상과 함께 NT4 Server 이상을 실행하거나 PWS와 함께 Win9X를 실행하고 있다고 가정합니다. 포럼은 Access 데이터베이스에 저장되며 Jet 엔진을 사용하여 액세스합니다.
좋아요, 파일이 있으므로 이 기사의 나머지 부분을 읽는 대신 게임을 시작하고 싶습니다. 나는 당신을 비난하지 않습니다. 그런 다음 수행할 작업은 다음과 같습니다.
/CodeProject/forum/bin
디렉터리에 ActiveX 컨트롤을 등록합니다./CodeProject/common/config.asp
편집하십시오./CodeProject/forum/includes/config.asp
편집하세요./CodeProject/forum/data/forum.mdb
파일에 대한 읽기 및 쓰기 권한이 있는지 확인하세요./CodeProject/common/email.inc
적절하게 편집합니다. 이제 브라우저에서 /CodeProject/forum/index.asp
가리키기만 하면 됩니다.
스크립트는 실제로 작업을 수행하기 위해 작업자 스크립트( /forum/app
디렉토리에 있음)를 사용하는 기본 사용자 인터페이스 스크립트(루트 디렉토리에 있음) 세트로 구성됩니다. 그러면 브라우저가 사용자 인터페이스 스크립트로 다시 리디렉션됩니다.
시스템의 핵심은 /forum/includes/forum.inc
에 있습니다. 이 파일에는 포럼 클래스의 정의가 포함되어 있으며 기본 포럼 ActiveX 컨트롤에 대한 래퍼입니다. 이 클래스는 포럼과 관련된 모든 기능을 포함하는 주요 커뮤니케이션 지점입니다. 포럼 ActiveX 컨트롤과 직접적으로 통신할 수는 없지만 항상 이 클래스를 통해 간접적으로 통신합니다.
클래스에는 작업을 수행하는 메서드뿐만 아니라 다양한 애플리케이션 스크립트에 대한 URL을 반환하는 기능도 포함되어 있습니다. 이렇게 하면 /forum/includes/config.asp
파일에서 다양한 스크립트의 이름을 설정할 수 있으므로 디렉터리 구조를 매우 간단하게 변경할 수 있습니다.
각 메시지에는 작성자가 메시지를 수정하거나 삭제할 수 있도록 해당 메시지 작성자가 설정한 비밀번호가 있습니다. 뿐만 아니라 전역 비밀번호를 사용하여 메시지를 수정하거나 삭제할 수도 있습니다. 이는 /forum/includes/config.asp
에 정의되어 있으며 현재 보고 있는 URL 끝에 " &ad=
"를 추가하여 사용됩니다.
예를 들어, ID 1로 포럼의 색인을 보고 있고 URL이 http://www.myserver.com/codeproject/forum/index.asp?forumid=1
인 경우 관리 모드로 이동하려면 간단히 수정하세요. URL:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
여기서 "12345"는 비밀번호입니다( /forum/includes/config.asp
에 ADMIN_PW
로 정의됨). 그러면 포럼을 관리할 수 있는 옵션이 제공됩니다(포럼 이름과 설명, 새 메시지가 전송될 때 이메일로 보낼 이메일 주소 설정). 답변 메시지가 게시됩니다).
포럼 자체를 추가하거나 삭제하려면 데이터베이스를 물리적으로 수정해야 합니다. 이것은 우리가 아직 하지 않은 일 중 하나일 뿐입니다...
관리 모드에서는 메시지를 수정하거나 삭제할 수 있는 옵션도 제공됩니다. 또한 관리 모드에 들어가면 포럼 스크립트를 진행하는 동안 계속 관리 모드를 유지하게 됩니다. 관리 모드에서 나오려면 " &ad=
"를 제거하기만 하면 됩니다.
최신 버전의 스크립트에는 향상된 사용자 인터페이스와 첫 번째 버전의 몇 가지 문제를 해결하도록 설계된 일부 내부 변경 사항이 있습니다. 견과류 껍질에서 :
너무 많습니다. 이것은 단지 포럼의 개요일 뿐이며 각 파일의 기능이나 스크립트 확장 계획에 대해서는 설명하지 않습니다. 우리는 이러한 스크립트를 개선하기 위해 지속적으로 노력할 것이며 기본 CodeProject 포럼에 대한 모든 확장 및 수정 사항이 다운로드 가능한 파일에 포함될 것입니다.
이 작업이 진행 중이라고 생각하세요!