Some notes about the review tool ================================ [Some of this might not be up to date] Got list of documents going to In Last Call or Last Call Requested, or for documents not going to Last Call, then when they enter Next IESG Telechat. Need to get deadline information from somewhere. For each documents, the secretary assings (automatically?) person to review it. The email will be sent to the person (with personal template). Do we need to copy the request to the secdir list? Each reviewer can go to web page and NAK the request, if they do not have time, In that case secretary will assing next person (or if automatically then it be assigned to next one automatically). Person can flag himself of not being available, in case of vacations etc. Person can also flag himself of having spare time, i.e. can take more documents if needed. Reviewer needs to go to the web page (or reply to email) to ACK to the reviewing. If this will happen in timeout (72 hours?) then next reviewer will be assigned (email to old and new). When review is done reviewer puts comments on the web page, and they are automatically sent to the secdir list (3 sections, for AD, last call comments, minor edit nits). Anybody from group can do this too. id_list: shiraz:/home/ietf/dump, in csv format. Database format: Config: name Config parameter name value Config paramenter value Members: login Primary key, login name name Full name of the member email Email address of the member permissions Permissions available (0 - available, != 0 time when available again) donotassign pattern which not to assign for this person autopolicy Auto allocation policy comment Comments lastreview Time when last review was done Log login Login name who the change applies time Time when change was done who Login name who made the change text Text describing what was changed Documents docname Name of the doc version Version number of the draft status Overall status (new, in progress, done) iesgstatus Status of the document in the IESG telechat Time of the telechat deadline Time before we need to do finish lcend Time when last call ends (or ended) areadir Area director deststatus Destination status pages Number of pages in document title Title of the document abstract Abstract of the document wg Working group for the document authors Document authors Reviews reviewid Auto increment counter id. docname name of the document version Version number of the document docstatus (assigned, accepted, rejected, done, noresponse) reviewer Name of the reviewer timeout Time when we next need thing is going to happen adcomments Comments to AD lccomments Last call comments nits Nits reviewurl URL of the review summary Summary text doclog docname time who text CREATE TABLE config ( name VARCHAR( 32 ) NOT NULL , value TEXT, PRIMARY KEY ( name ) ) ENGINE = MyISAM ; CREATE TABLE members ( login VARCHAR(32) NOT NULL, name TEXT NOT NULL, email VARCHAR(64) NOT NULL, permissions TEXT NOT NULL DEFAULT "", available INT NOT NULL DEFAULT 0, donotassign VARCHAR(128) NOT NULL DEFAULT "/", autopolicy VARCHAR(128) NOT NULL DEFAULT "", comment TEXT NOT NULL DEFAULT "", lastreview INT NOT NULL DEFAULT 0, UNIQUE ( login ), INDEX ( lastreview ) ) ENGINE = MyISAM ; CREATE TABLE log ( login VARCHAR( 32 ) NOT NULL , time INT NOT NULL , who VARCHAR( 32 ) NOT NULL , text TEXT NOT NULL , INDEX ( login ), INDEX ( time ) ) ENGINE = MyISAM ; CREATE TABLE documents ( docname VARCHAR( 128 ) NOT NULL, version VARCHAR( 2 ) NOT NULL, status VARCHAR( 16 ) NOT NULL, iesgstatus VARCHAR( 64 ) NOT NULL, telechat INT NOT NULL DEFAULT 0, deadline INT, lcend INT, areadir TEXT NOT NULL DEFAULT "", deststatus TEXT NOT NULL DEFAULT "", pages INT, title TEXT NOT NULL DEFAULT "", abstract TEXT NOT NULL DEFAULT "", wg VARCHAR( 64 ) NULL DEFAULT "", authors TEXT NOT NULL DEFAULT "", PRIMARY KEY ( docname ) , INDEX ( deadline ), INDEX ( status ) ) ENGINE = MyISAM ; CREATE TABLE reviews ( reviewid INT NOT NULL AUTO_INCREMENT, docname VARCHAR( 128 ) NOT NULL , version VARCHAR( 2 ) NOT NULL, docstatus VARCHAR( 16 ) NOT NULL , reviewer VARCHAR( 32 ) NOT NULL DEFAULT "", timeout INT NOT NULL DEFAULT 0, adcomments TEXT NOT NULL DEFAULT "", lccomments TEXT NOT NULL DEFAULT "", nits TEXT NOT NULL DEFAULT "", reviewurl TEXT NOT NULL DEFAULT "", summary TEXT NOT NULL DEFAULT "", PRIMARY KEY ( reviewid ), INDEX ( docname ) , INDEX ( docstatus ), INDEX ( reviewer ), INDEX ( timeout ) ) ENGINE = MyISAM ; CREATE TABLE doclog ( docname VARCHAR( 128 ) NOT NULL , time INT NOT NULL , who VARCHAR( 32 ) NOT NULL , text TEXT NOT NULL , INDEX ( docname ), INDEX ( time ) ) ENGINE = MyISAM ; ---------------------------------------------------------------------- mysql installed. /etc/rc.d/mysqld forceinitdb /etc/rc.d/mysqld forcestart /usr/pkg/bin/mysqladmin -u root password 'XXX2' /usr/pkg/bin/mysqladmin --password=XXX2 -u root -h `hostname` password 'XXX2' /usr/pkg/bin/mysql_secure_installation # no change root password # remove anonymous users # disallow root logins remotely # remove test database # reload tables ---------------------------------------------------------------------- phpmyadmin: copy etc/phpmyadmin/config.inc.php from share/example/phpmyadmin/config.inc.php $cfg['Servers'][$i]['connect_type'] = 'socket'; $cfg['Servers'][$i]['password'] = 'XXX2'; ---------------------------------------------------------------------- Apache + php + perl: httpd.conf: LoadModule perl_module lib/httpd/mod_perl.so ScriptAlias /perl/ "/usr/pkg/share/httpd/perl/" PerlModule Apache::Registry SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI # PerlSendHeader On AllowOverride AuthConfig With apache2: LoadModule perl_module lib/httpd/mod_perl.so ScriptAlias /perl/ "/usr/pkg/share/httpd/perl/" PerlModule ModPerl::Registry SetHandler perl-script PerlHandler ModPerl::Registry Options +ExecCGI # PerlSendHeader On AllowOverride AuthConfig LoadModule php5_module lib/httpd/mod_php5.so AddType application/x-httpd-php .php Include /usr/pkg/share/examples/phpmyadmin/apache.conf share/examples/phpmyadmin/apache.conf: Allow from any -> Allow from localhost ---------------------------------------------------------------------- Copy .htaccess to /usr/pkg/share/httpd/perl/auth/.htaccess: AuthType Basic AuthName "Tools" AuthUserFile /usr/pkg/etc/httpd/passwd Require valid-user ---------------------------------------------------------------------- mysqladmin -p create secdir-review mysqlaccess --superuser=root --spassword=XXX2 www secdir-review mysqlaccess --superuser=root --spassword=XXX2 review secdir-review mysqlaccess --superuser=root --spassword=XXX2 kivinen secdir-review set ssh tunnel: xi -L 2080:127.0.0.1:2080 haste.acr.fi go to http://localhost:2080/phpmyadmin/index.php Privileges -> Add a new User -> Username: Use text field : www Host: local: localhost Password: Use text field : XXX Go. => GRANT USAGE ON * . * TO 'www-data'@'localhost' IDENTIFIED BY '****************' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ; select www@localhost, select table specific privileges, secdir-review, add select, insert, update, delete permissions. mysql --user=www --password=XXX secdir-review GRANT SELECT , INSERT , UPDATE , DELETE ON `secdir-review` . * TO 'www'@'localhost'; mysql -p \u secdir-review ... INSERT INTO `config` ( `name` , `value` ) VALUES ( 'name', 'Secdir document review tool' ), ( 'welcome-title', 'Welcome to the security directorate document review tool' ), ( 'welcome-text', '

Welcome

This tool is meant to be used as a document review tracking for the security directorate.' ), ( 'member-search-header', 'Search members.' ), ( 'update-from', '' ), ( 'update-reply-to', '' ), ( 'update-subject', '[SECDIR] Your information has been updated' ), ( 'signature', '-- secdir document review tool' ); ---------------------------------------------------------------------- No issues flag meaning no more reminders for that reviewer. Working group chairs can request review from secretary? Adding and deleting new users. Flush, populate, put in current assignments. (17:01:46) Weiler: 1) set up parallel databases for gen-art (17:01:54) Weiler: 2) send email to reviewers (17:02:15) Weiler: 3) once a review is entered, send email to the doc authors, WG chairs, etc. (17:02:31) Weiler: note that GenART is very into archiving the reviews in the tool, for sundry reasons. INSERT INTO config (name, value) VALUES ( 'style', '/style.css' ); ALTER TABLE `members` ADD `donotassign` VARCHAR( 128 ) NOT NULL DEFAULT '/' AFTER `available` ; ---------------------------------------------------------------------- Disable javascript to focus Immediately verify the email to be sent out. Remove timeout Add status bar on the top. ---------------------------------------------------------------------- ALTER TABLE `reviews` ADD `reviewid` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ; ---------------------------------------------------------------------- - Remove users - Add option to use another agenda in case the first one is broken or fetch it every time and compare them... - Add finish button on the review edit page too. - Version numbers to the popup and title. - Change timeout to last reviewed. Add version number of reviewed. ---------------------------------------------------------------------- ALTER TABLE `reviews` ADD `reviewurl` TEXT NOT NULL DEFAULT '' AFTER `nits`; INSERT INTO `secdir-review`.`config` (`name`, `value`) VALUES ('mail-archive-url', 'http://www.ietf.org/mail-archive/web/secdir/current/msg%05d.html'); ---------------------------------------------------------------------- ALTER TABLE `documents` ADD `lcend` INT AFTER `deadline`; ---------------------------------------------------------------------- ALTER TABLE `reviews` ADD `version` VARCHAR(2) NOT NULL DEFAULT '' AFTER `docname`; ALTER TABLE `reviews` ADD `summary` TEXT NOT NULL DEFAULT '' AFTER `reviewurl`; INSERT INTO `config` (`name`, `value`) VALUES ('summary-list', 'Ready; Ready with nits;Ready with issues; Almost ready; On the right track; Not ready'); ---------------------------------------------------------------------- INSERT INTO `config` (`name`, `value`) VALUES ('email-header-text', 'Review instructions'); ALTER TABLE `documents` ADD `authors` TEXT NOT NULL DEFAULT '' AFTER `wg`; ALTER TABLE `documents` DROP `idnum`; ---------------------------------------------------------------------- INSERT INTO `config` (`name`, `value`) VALUES ('status-period', '0'); INSERT INTO `config` (`name`, `value`) VALUES ('noresponse-text', ''); INSERT INTO `config` (`name`, `value`) VALUES ('noresponse-subject', '[DOCREVIEW] Review %s timed out'); ALTER TABLE `members` ADD `autopolicy` VARCHAR( 128 ) NOT NULL DEFAULT '' AFTER `donotassign` ; INSERT INTO `config` (`name`, `value`) VALUES ('rejected-subject', '[DOCREVIEW] Assignment %s rejected'); INSERT INTO `config` (`name`, `value`) VALUES ('secretary-email', ''); ---------------------------------------------------------------------- TODO: + Add option to change colors (config option) + Change Login Name => Review ID. + Show contents of the review url in the review page + "Do Not Save" gives error on edit_review page. + Should send email when new user is created + Allow users to assign documents for themself - Separate page permissions from menu bar visibility - Separate review_start, review_done dates - Clean up the timeout / deadline stuff. - Add review team name to pages.