History: 일일 보고서
Source of version: 5 (current)
Copy to clipboard
! 일일 보고서 일일 보고서는 ((Tiki4)) 에서 소개된 새로운 기능이고 , ((Tiki8)) 과 ((Tiki9)) 에서 한 개의 정기적 이메일로 주시하는 사이트 상의 변화에 관하여 정보를 알리는 형태로 향상되었습니다. 일반 알림의 축약된 버전이며 일반 알림을 교체합니다. !! 기능 활성화하기 사용자주시와 일일보고서가 활성화 되어야 합니다. 내티키 메뉴 또한 활성화하는 것을 추천합니다. ((Tiki6)) 에서는, 예를 들자면, 다음의 장소에서 활성화 할 수 있습니다: *Admin Home -> Features -> Show My tiki: check *Admin Home -> Features -> User Watches: check *Admin Home -> Features -> Daily Reports: check ((Tiki8)) 이래로, 최소한, 3개 기능 전부가 "관리자 홈 → 커뮤니티" 및 기타 장소에서 발견될 수 있으며, ''Show My tiki'' 만이 "관리자 홈 → 커뮤니티" 에서만 발견됩니다 만약 사용자 주시와 일일 보고서가 활성화 되어있다면, 각각의 사용자는 보고서의 활성화하거나 일반 알림을 계속해서 사용하는 것을 결정할 수 있습니다. !! 사용법 보고서를 사용하려면 티키 사이트에서 주 응용프로그램 메뉴 내부의 내 주시목록으로 가시고 (__MyTiki > My Watches__ - __tiki-user_watches.php__) 필요에 의하여 선호설정을 조절하십시오. {CENTER()}{img fileId="262" alt="" rel="box[g]" class=reflect }{CENTER} !! cron job 을 준비하십시오 다음 단계는 cron job 을 준비하는 것입니다. * ((Tiki6)) 이전의 경우: ** tiki-user_reports_send.php 를 열고 15번 째 줄의 $tikiUrl 을 귀하의 티키가 설치된 곳으로 링크하십시오. ++ ((Tiki6)) 이래로 이 단계는 더 이상 필요하지 않게 됩니다. * ((Tiki9)) 이후의 경우: ** 외부 서버에서 cron job 을 호출 할 수 있으며, 방법은 ((token)) 을 사용하여 to allow the cron job 이 원격으로 실행되는 것을 허용하게 하는 것입니다. ** 항상, 또 하나의 방법은 티키가 호스팅되는 동일한 서버에서 토큰을 사용하지 않고 지역적으로 cron job을 실행하는 것입니다. 이와같이 cronjob 을 활성화할 수 있습니다. 다음은 매일 오전 3시에 스크립트를 호출하는 cronjob 의 예제입니다: {CODE()}00 3 * * * php /var/www/tiki-user_reports_send.php{CODE} 혹은 {CODE(colors="bash")}cd /var/www; php tiki-user_reports_send.php{CODE} __/var/www__ 를 귀하의 __/루트에서/티키가/설치된/경로__ 로 교체하십시오 위의 예제는 모든 서버 설정에서 동작하지 않을 수도 있습니다. 오류 메시지 혹은 의심스러운 경고가 없다는 것을 확인하기 위하여 서버의 콘솔에서 먼저 명령어를 테스트하는 것을 권장합니다. 만약 이와 같은 방식으로 실행할 수 없다면, cron 이 웹서버를 통해 호출 될 수 있습니다. {CODE()}00 3 * * * wget -O /tmp/out http://localhost/tiki-user_reports_send.php{CODE} 혹은 아래와 유사한 방식으로 {CODE()}00 3 * * * /usr/local/bin/wget -O - -q -t 1 http://localhost/tiki-user_reports_send.php{CODE} 혹은 다른 명령어 __curl__ 및 관련된 명령어에 기반한 몇몇 명령어와 함께 (예를 들면"mutt". 이는 별도로 설치되어야 합니다) 이메일 계정으로 cron job 의 출력물을 전송합니다. 아례의 예제를 살펴보십시오. 그리고 ((Tik9)) 이후로, 외부 서버에서 실행되도록 cron 스크립트를 허용하기 위하여 호출을 위하여 url 에서 ((token)) 을 사용하여 할 수 있습니다. 토큰 사용과 이메일의 출력물을 매일 5시, 11시, 17시, 23시에 보내는 예제는 다음과 같습니다: {CODE()} 0 5,11,17,23 * * * curl 'http://externaldomain.org/tiki-user_reports_send.php?TOKEN=98762542c722d08b14bb54b029389612' 2> /tmp/output.txt | mutt -s "[FOO]tiki-user_reports_send.php?TOKEN=... error output" foo@bar.org < /tmp/output.txt {CODE} 팁: 가상 서버에서 __wget__ 이 작동하려면, __xterm__ 패키지가 설치되어있는 지를 확인하십시오. !! 내부적으로 어떻게 작동하는가 __lib/reportslib.php__ 보고서에 대하여 주 클래스와 모든 중요한 코드를 포함함. __tiki-user_reports.php__ 이 파일은 보고서를 활성화 혹은 비활성화하기 위한 용도 및 보고 선호설정을 설정하기 위한 용도로 사용됩니다. tiki-user_watches.php 에서 POST 요청을 캐치합니다. __tiki-user_reports_send.php__ 이 파일은 보고서 이메일을 초기화하는 파일입니다. 이는 서버가 호출할 수 있으며 서버에 의하여서만 호출이 가능합니다. ((Tiki6)) 이전 버전에서 보고서를 사용하고 싶으시다면, 이 파일을 열어서 15번째 줄의 $tikiUrl 을 귀하의 티키위키가 설치된 것으로 설정하십시오. 마지막 단계는 이 파일을 호출하는 크론잡(cronjob)을 활성화하는 것입니다. 사용자에게 이메일을 보내게 될 작업들이 발생하게 되면, 이 작업들은 mysql 테이블 __tiki_user_reports_cache__ 에 기록을 남기게 되며, cron job 이 실행될 때, 이 테이블의 기록들이 이메일에 의하여 사용자에게 보내지게되는 보고서를 피드하기 위해 사용될 것입니다. !! Html 보고서의 예제: {img src="tiki-download_file.php?fileId=137&preview" alt="reports_example.png (120.26 Kb)"} !! 기본으로 일일 보고서를 받을 사용자의 그룹을 변경하기 티키6.5, 7.3 및 8.0 전까지는 티키 관리자가 새 사용자가 기본으로 알림 이메일의 일일 축약버전을 받도록 지정할 수 없었습니다 그러므로, 아주 오래 전부터, 본 소프트웨어의 이전 버전을 사용하며 수백만의 사용자를 이미 잠정적으로 보유하고 있을, 수 많은 활성화된 티키 사이트들이 모든 사용자가 즉각 발송되는 이메일 대신 일일 요약본을 받기를 원한다는 것을 수동적으로 지정하기 전에는 이러한 성능 향상으로부터 이득을 얻을 수 없었습니다. 그러나, 임의의 사용자가 어떤 컨텐츠를 추가할 때바다 매번 즉각적인 이메일을 수백만의 사용자가 받으면 티키 내부에 성능에 대한 한계가 있습니다. 예를 들면, 이는 공유 호스팅 상에서 티키가 새로운 댓글 혹은 트래커 항목을 발송한 후 다시 준비가 될 때 몇 초가 걸리던 것이, 그 동일한 작업 (본 예제에서는 새 댓글을 올리거나 트래커 항목을 추가하는 것) 과 관련된 모든 이메일을 발송한 후 다시 티키가 준비되기까지 45초가 지날 수 있다는 것을 의미합니다. 그러므로, 관리자가 한 번에 사용자 그룹을 즉시 이메일을 받아보는 것으로부터 cron job에 기반하여 매일 그룹화 된 것을 받아보는 것으로 변경하기를 원하는 것은 드문 일은 아닐 것입니다. 이는 티키를 모든 신규 작업과 관련하여 너무 많은 이메일일 보내는 것으로부터 해방하여 최종 사용자 입장에 더 빠른 성능으로 복귀시키는 것입니다. 이 변경내역은 데이터베이스 상에서 SQL 질의로 직접적으로 적용될 수 있습니다 (phpmyadmin 혹은 다른 방식을 통하여). 귀하의 사용자 그룹이 "__foo_group__" 라면, 귀하의 mysql db 내부에 직접적으로 수행할 SQL 질의는 다음과 같습니다: {CODE(caption="mysql 데이터베이스 상에 직접적으로 수행될 sql 코드" wrap="1" colors="sql" ln="" rtl="")}INSERT INTO `tiki_user_reports` (`user`, `interval`, `view`, `type`, `time_to_send`, `always_email`, `last_report`) (SELECT uu.`login`, 'daily', 'detailed', 'html', '0000-00-00 00:00:00', 1, NOW() FROM `users_users` uu, `users_usergroups` uug WHERE uug.`groupName` = 'foo_group' AND uu.`userId` = uug.`userId` AND uu.`login` NOT IN (SELECT user FROM tiki_user_reports));{CODE} -=관련=- ((User Watches|사용자 주시)) ((Action log|작업 로그)) -=이 페이지에 대한 별칭=-↵ (alias(사용자 주시에 대한 일일 보고서)) | (alias(일일보고서)) | (alias(주기적보고서)) | (alias(주기적 보고서)) | (alias(일일 요약)) | (alias(일일보고)) | (alias(일일 보고))