Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.astrotop.ru/astro.htm
Дата изменения: Fri Dec 19 11:51:13 2003 Дата индексирования: Mon Oct 1 19:24:30 2012 Кодировка: koi8-r Поисковые слова: optical telescope |
Общие положения.
Создаваемый рейтинговый каталог интернет-ресурсов должен:
Данные хранятся в базе данных проекта (Postgresql), которая разделяется на:
Таблицы.
Примечания:
красным цветом - то, чего реально
нет, но может появиться (либо остается под вопросом, надо ли вводить)
желтым цветом - то, что совершенно
точно нужно еще доделать и ввести
розовым цветом - уточнения и примечания,
либо неуверенность в необходимости осуществления (но реально уже сделано,
тем не менее)
коричневым цветом - только названия
уже введенных и сформированных таблиц
синим цветом - так было раньше,
до создания базы данных
Общая
таблица свойств астротопа (его статистика) base_param
.
Поле | Name | Тип | Наличие | Пример заполнения |
Статус данной строки таблицы свойств Астротопа | status | bool | обязательно,
создается автоматически, =0 - уже устаревшая информация =1 - последняя запись |
0 |
Дата "снимка" свойств Астротопа | date | timestamp | обязательно,
создается автоматически - для старых записей (до начала текущего месяца), например - на конец каждого месяца (или вообще в любой мормент очередного изменения информации), для текущего месяца - для каждого дня |
2003-01-15 15:00:00 |
Всего ресурсов (всех, в том числе принадлежащих тестовой группе) - практически готовый конечный номер ID (после прибавления единицы) для вновь вносимого ресурса | num_sites | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
1023 |
Всего участников-ресурсов ("живых" (т.е. незаблокированных для участия в данной группе рейтинга), "правильных") во всех группах со status из таблицы ресурсов = 1,2 | num_sites_live | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
762 |
Всего участников-ресурсов ("живых", т.е. незаблокированных для участия в данной группе рейтинга) последовательно во всех группах со status из таблицы ресурсов = 1,2 | site_in_group_mv | массив integer ,
сумма его равна num_sites_live |
необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
(35,45,132,...) |
Всего групп | num_groups | уникальное (порядковое) integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
253 |
Всего основных групп (status=1, 2 из таблицы group) | num_base_groups | уникальное (порядковое) integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
23 |
Для скольких групп приводится статистика просмотров | num_group_stat | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 Больше нуля - число групп, по которым буд приведены данные в следующих 2-х столбцах |
2 |
Массив номеров групп, по которым приведена статистика просмотров (в следующем столбце) | num_group_stat_mv | массив integer | необязательно | (5,9) |
Массив чисел просмотров группы на данную дату | group_stat_mv | массив integer | необязательно | (2033,9545) |
Всего голосований | num_votes | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
12 |
Всего действующих в данный момент голосований | num_votes_live | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
1 |
Всего юзеров | num_users | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
1 |
Всего юзеров, поставивших оценки | num_users_estim | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
1 |
Всего юзеров, внесших новые сайты | num_users_addsite | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
1 |
Всего юзеров, участвовавших в голосованиях | num_users_vote | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
1 |
Всего просмотров всех групп | num_count_all_group | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
43000 |
Всего просмотров основных групп (status=1, 2 из таблицы group) | num_count_base_group | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
42567 |
Всего всех оценок во всех группах - любых, фактически это полное число записей в базе данных оценок ресурсам за все время | num_estimate_total | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 Важное примечание: данный параметр обязателен и обновляется автоматически для status=true !!! |
13447 |
Всего оценок во всех группах - только в незаблокированных сайтах (которые не находятся в черном списке, т.е. рейтингуются) | num_estimate_all_group | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
11175 |
Всего оценок в основных группах
(status=1, 2 из таблицы group) - только в незаблокированных сайтах (которые не находятся в черном списке, т.е. рейтингуются) |
num_estimate_base_group | integer | необязательно,
но часто создается автоматически, при этом если нет информации = -1 |
11115 |
Паспорт Интернет-ресурса table_sites
в таблице паспортов ресурсов.
Поле | Name | Тип | Наличие | Пример заполнения |
ID ресурса | num_sites | integer (уникальное целое положительное число) | Обязательно,
создается при заведении или редактировании паспорта |
1 |
Код соответствия тематике каталога АстроТоп-100 | status | smallint | Обязательно
Проверяется и редактируется автоматизированно (существование страницы) и членами команды проекта Новые ресурсы вносятся и участвуют на общих основаниях, но им соответствует
код-
=1 - страница проверена и соответствует проекту (тут же посылается
автоматическое письмо автору (при наличии е-мэйла) ресурса с кодом и паролем
для редактирования) - если можно это вообще делать для данной страницы
(например, авторам каталогов посылать такие письма полностью нецелесообразно)
=2 - зарубежная астро-космостраница, т.е. не подпадающая под Конституцию проекта, но пригодная для поиска астрокосмической информации (в базе поиска Астронета) =10 - тестовая страница - на правах "живых", участвуют только в тестовых темах, в рубрикатор и в статистику базы данных не вносятся = -1 - страница существовала ранее, но сейчас умерла (возможно разблокирование при "оживлении") = -2 - страница существует, но дублирует ранее введенную страницу, поэтому заблокирована в списке Астротопа = -10 (было -2) (страница вычеркивается из всех списков проверки и поиска - при несоответствии теме проекта). Но! В частности, могли быть внесены и зарубежные астространицы! То есть из этой корзины еще может что-то пригодится. = -100 (было -2) - страница вычеркивается из всех списков проверки и поиска - при полном несоответствии теме проекта. Пример - порносайты. |
1 |
Наличие в каталоге Астронета | astronet_cod | BOOL | обязательно,
проверяется и редактируется членами команды проекта |
1 |
Расположение в Сети (линк сайта) | url | VARCHAR(256) | обязательно,
проверяется и редактируется автором и/или членами команды проекта |
http://www.sai.msu.su |
Запасная, нередактируемая копия линка сайта | url_hard_copy | VARCHAR(256) | обязательно,
вносится автоматически как копия url при занесении сайта в каталог и после этого никем не редактируется! Сделано во избежание случайной/вредительской порчи url |
http://www.sai.msu.su |
Тип интернет-ресурса | type_url | smallint | обязательно,
проверяется и редактируется автором (???) и/или членами команды проекта. Автоматически генерируется =10. Типы: =1 Один документ (например, статья) в одном html-файле (одностраничный документ) =2 Один документ (например, статья) в нескольких html-файлах (многостраничный документ) =3 Раздел сайта, домашней страницы и т.п. (подразумевается, что все обычно лежит в одной и той же директории внутри сайта) =4 - Сайт отдельного проекта, персональная домашняя страница - т.е. функционально уже полностью самостоятельный единичный сайт-страница =5 сайт лаборатории, отдела, www-страница сообщества (астроклуб, например), организации, ... =6 WWW-сервер - главный сервер для целого ряда сайтов (обычно организации) - домашних страничек, подразделений данной организации (в свою очередь могущих иметь внутри себя персональные страницы) и т.п. =7 Каталог линков/сайтов/имен серверов =10 - еще не редактировался (генерируется автоматически при начальном вводе нового сайта) |
6 |
Частью какого ресурса из данной таблицы является этот ресурс | id_base_url_mv | массив integer (массив ID вышестоящих сайтов (подразделений и серверов) ) | Необязательно,
вносится (редактированием командой проекта) лишь для тех ресурсов, которые являются частью целого ресурса , т.е. type_url = 1 .. 3 и даже 4,5 (по отношению к вышестоящим сайтам) |
|
Наличие русской версии страницы | rus | bool | обязательно,
генерируется автоматически, по умолчанию=1 |
0 |
Наличие английской версии страницы | eng | bool | обязательно,
генерируется автоматически, по умолчанию=0 |
1 |
Описание Интернет-ресурса (от автора) | referat | VARCHAR(2048) | необязательно,
проверяется и редактируется автором и/или членами команды проекта |
ГАИШ - мое любимое место работы... |
Описание Интернет-ресурса (от команды проекта) | referat_astrotop | VARCHAR(2048) | необязательно,
проверяется и редактируется членами команды проекта |
ГАИШ - одно из старейших астрономических и учебных учреждений России. Область специализации ... |
Название Интернет-ресурса | name | VARCHAR(256) | обязательно | ГАИШ МГУ |
Имя автора www-ресурса | author | VARCHAR(256) | обязательно
(при отсутствии в случае начального ввода генерируется шаблон ??? по умолчанию), проверяется и редактируется автором и/или членами команды проекта |
Бартунов Олег |
E-mail автора www-ресурса | VARCHAR(80) | необязательно
(но крайне желательно, поскольку именно по e-mail -ам авторов будут вестись автоматизированные рассылки проекта), проверяется и редактируется автором (после начальной рассылки информации о коде его страницы в проекте и пароле на редактирование) и/или членами команды проекта |
oleg@sai.msu.su | |
Разрешено ли высвечивать е-мэйл в публичных описаниях страницы | email_viewing | BOOL | обязательно,
генерируется автоматически (по умолчанию = FALSE) |
FALSE |
Пароль редактирования ресурса для автора | password | VARCHAR(12) | обязательно,
генерируется автоматически (при вводе ресурса), редактируется автором ресурса |
Netu |
Разрешено ли автору сайта редактировать данные своего сайта в базе данных Астротопа | permit_red_from_author | bool | обязательно,
1 - разрешено 0 - нет |
true |
Разрешено ли делать рассылки проекта данному автору | subscribe | smallint | обязательно,
по умолчанию ставится: -10 - начальное значение после создания базы данных или начального вброса нового сайта в базу данных, а также после начального ввода е-мэйла членами команды -3 (полное запрещение рассылок) -2 (только специальные сообщения, например, о голосованиях Сайт года) -1 (разрешено, только раз в год), 0 (разрешено, раз в три месяца после выпусков - стандарт), 1 (разрешено, подписка на рассылки раз в месяц) 2 (разрешено, подписка на рассылки раз в неделю) 3 (разрешено, подписка на рассылки раз в три дня) 4 (разрешено, подписка на рассылки раз в день) 5 (разрешено, подписка на рассылки при внесении каждого нового сайта) Редактируется автором ресурса и/или членами команды проекта |
0 |
Сколько e-mail послано данному автору | num_email | smallint - сколько e-mail послано | обязательно,
по умолчанию ставится 0, что при заполнении поля e-mail автора и при subscribe>-3 приводит к автоматической генерации е-мэйла с паролем на редактирование ресурса - автору, после чего число е-мэйлов увеличивается на 1, и так происходит и далее |
1 |
Сколько e-mail послано данному автору каждого сорта | num_email_mv | массив smallint - сколько e-mail послано в каждой категории - рассылки, персональные уведомления и т.п. | обязательно, по умолчанию ставится (0,0,0,0,0...)
где 1-е число первая посылка, персональные уведомления 2-е - число стандартных рассылок раз в три месяца 3- число специальных рассылок с извещениями о чем либо (голосованиях) 4 - пока пусто 5 - пока пусто 6 - пока пусто |
(1,0,0,0,0,0) |
Характеристика вида авторства | author_type | smallint | Обязательно
Автоматически ставится=1 =0 - автор неизвестен
|
1 |
Число наград от проекта | num_awards | smallint | Обязательно
=0 - наград нет (ставится автоматически) |
0 |
Список наград ресурса от проекта (???и не только ???) | awards_mv | массив smallint - ID награды
Сделать таблицу наград (ID награды, имя награды, ID ресурса, дата присвоения, порядковый номер данной награды...) |
Необязательно
Редактируется Координатором проекта |
--- (наград нет) |
В скольких группах рейтинга участвует ресурс (роспись массива групп см. ниже) | num_groups | smallint | обязательно | 1 (чаще всего, но допускается участие во многих группах рейтинга) |
Список тематических рейтинговых групп, в которых участвует ресурс | groups_mv | smallint[]
Массив структур вида (или неограниченное число, с прицелом на разрешение юзерам создавать собственные группы) : ID группы (описания - в отдельной таблице) --
|
Не-обязательно
(ресурс ведь может умереть, при этом список групп не будет иметь никакого смысла) |
(3,1,...)
- примечание - 3-я группа внутри астротопа - см. таблицу групп...;... |
Список мест, которые занимает сайт в соответствующих тематических рейтинговых группах (см. выше) | groups_n_in_top | smallint[]
Массив целых - места в соответствующих группах |
Не-обязательно
(ресурс ведь может умереть, при этом место в групп/е/ах не будет иметь никакого смысла) |
(10,23,...) |
Список оценок, которые имеет сайт в соответствующих тематических рейтинговых группах (см. выше) | groups_estimates_mv | float4[]
Массив коротких вещественных - места в соответствующих группах |
Не-обязательно | (5.434, 6.200,....) |
Усредненная по всем группам оценка ресурса | groups_estimate_total | float4 | Не-обязательно | 6.245 |
В скольких группах рейтинга запрещено участвовать ресурсу (роспись массива групп см. ниже) | num_blok_groups | smallint | обязательно | 0 (чаще всего, но иногда больше - запрещается участвовать в некоторых группах рейтинга) |
Список тематических рейтинговых групп, в которых запрещено участвовать ресурсу | blok_groups_mv | smallint[]
Массив структур вида (или неограниченное число, с прицелом на разрешение юзерам создавать собственные группы) : ID группы |
необязательно | () |
Число рецензий на данный сайт в таблице рецензий | num_notes | smallint | обязательно,
создается автоматически при создании паспорта |
0 |
Разделы рубрикатора (~ГРНТИ) | rubricator_mv | integer[]
список идентификаторов разделов рубрикатора - в формате массива из N параметров - ID строки рубрикатора (integer) |
необязательно,
проверяется и редактируется автором и/или членами команды проекта |
... |
Ключевые слова | key_words | VARCHAR(512)
-слова через разделитель-запятую |
необязательно
проверяется и редактируется автором и/или членами команды проекта |
астрономия, телескопы, студенты, абитуриенты, студенты, МГУ, кафедра , обучение |
Дата занесения в каталог | date_input | timestamp | обязательно,
создается автоматически при создании паспорта |
1998-08-24 |
Дата последнего редактирования паспорта | date_last_red | timestamp | обязательно,
создается автоматически при редактировании паспорта |
2001-06-15 |
Дата создания ресурса | date_create | timestamp | необязательно
проверяется и редактируется автором и/или членами команды проекта |
1994-10-01 |
Дата последнего обновления ресурса | date_last_up | timestamp | необязательно
автоматический опрос раз в N дней, и автоматический update |
2002-10-01 |
Автор внесения ресурса в каталог (пользователь проекта АстроТоп) | user_input | integer
идентификатор автора первой редакции паспорта |
обязательное поле,
формируемое при внесении ресурса в каталог |
ID пользователя проекта АстроТоп (в том числе - Guest) |
Автор последней редакции информации | user_last | integer
идентификатор автора последней редакции паспорта |
обязательное поле,
формируемое при последней редакции (в том числе при создании) |
ID пользователя проекта АстроТоп (во время создания базы данных - Admin) |
Редактировался ли (и сколько раз) паспорт автором сайта | num_red | integer | обязательное поле, редактируемое при последней редакции паспорта автором сайта (до этого =0) | 1 |
Редактировался ли (и сколько раз) паспорт членами команды астротопа | num_red_base_user | integer | обязательное поле, редактируемое при последней редакции паспорта членами команды (до этого =0) | 2 |
Имеет ли ресурс право на установку счетчика Астротопа | permition_count | bool | обязательное поле,
редактируемое при последней редакции паспорта членами команды (до этого =1 , кроме некоторых групп рейтинга) |
1 |
Код счетчика посещений ресурса | id_count | integer | необязательно | ID счетчика в таблице счетчиков |
Количество дополнительных рубрикаторов | массив имен таблиц дополнительных рубрикаторов | необязательно | (rubrikator_add_1, rubrikator_add_2) | |
???? - возможно, проще все указать в предыдущем
поле???
Запасное поле номер 1 для возможного дополнительного рубрикатора 1 |
список идентификаторов разделов дополнительного
рубрикатора номер 1-
в формате массива из N параметров - ???скорее всего, параметры=строки, или - целые числа, или - список ID в таблице рубрикатора ??? |
необязательно | .... | |
???см. примечание выше???
Запасное поле номер 2 для возможного дополнительного рубрикатора 2 |
.... | .... | .... | |
.... | .... | ..... | .... |
Красным цветом подписаны те поля. которые
еще не готовы к осуществлению и работе (и даже, возможно, не заработают
вовсе),
желтым - то, что обязательно надо
будет сделать в дальнейшем,
розовым - уточнения и примечания, либо
неуверенность в необходимости осуществления
На 100 записей в таблице необходимо порядка 150 кбт (из тестов).
Таблица в ближайшие 2 года вряд ли превысит 10 тыс. записей.--> 15
Мгбт
Перекрестные
идентификаторы Интернет-ресурсов в каталогах астронета и астротопа - таблица
sites
.
Поле | Name | Тип | Наличие | Пример заполнения |
Id записи | id | integer (уникальное целое положительное число) | Обязательно | 1 |
ID ресурса в каталоге Астронета | id_astronet | integer (уникальное целое положительное число) | обязательно
=0 - если нет =чему-то - повтор числа из базы данных астронета |
1181803 |
ID ресурса в каталоге АстроТопа | id_astrotop | integer (уникальное целое положительное число) | обязательно
=0 - если нет =num_sites - повтор числа из table_sites базы данных астротопа |
0 |
Наличие в каталоге Астронета ресурса с данным url | astronet_cod | smallint | обязательно,
проверяется и редактируется членами команды проекта =0 - нет, =1 - есть =2 - есть ресурс вышележащего уровня (то конкретно данной части сайта нет в астронете, но есть сайт полностью) =3 - есть ресурс того же уровня (то конкретно данной части сайта нет в астронете, но есть другая часть сайта) =4 - есть ниже лежащая по уровню часть ресурса, хотя сам ресурс не внесен Для случаев 2,3,4 - все же приводится id_astronet номер-ID ресурса в каталоге Астронета похожего ресурса |
1 |
Наличие в каталоге Астротопа ресурса с данным url | astrotop_cod | smallint | обязательно,
проверяется и редактируется членами команды проекта =0 - нет, =1 - есть =2 - есть ресурс вышележащего уровня (то конкретно данной части сайта нет в астро топе, но есть сайт полностью) =3 - есть ресурс того же уровня (то конкретно данной части сайта нет в астро топе, но есть другая часть сайта) =4 - есть ниже лежащая по уровню часть реурса, хотя сам ресурс не внесен Для случаев 2,3,4 - все же приводится в id_astrotop номер ID ресурса в каталоге АстроТопа похожего ресурса |
0 |
Расположение в Сети (линк сайта) | url | VARCHAR(256) | обязательно,
проверяется и редактируется автором и/или членами команды проекта |
http://www.sai.msu.su |
Таблица групп
рейтинга Астротопа groups
Поле | Name | Тип | Наличие | Пример заполнения |
ID группы | id | integer | обязательно | 3 |
Название группы | name | строка<100 | обязательно | Сайты официальных астрономических учреждений |
Код значимости группы (участвует ли в главной рейтинге Астротопа, или...) | status | integer | обязательнo
=1 - да, обычная группа
|
1 |
Дата образования группы | data_create | timestamp | обязательно,
создается автоматически при заведении группы |
1998-08-24 12:00:00 |
Дата последнего оценки-голосования по одному из сайтов группы | data_last_estimate | timestamp | обязательно,
создается автоматически при заведении группы |
1998-08-24 12:00:00 |
Число ресурсов в группе, введенных за все времена - нужно ли, не устарел ли аргумент этот? | number_all | integer | обязательно,
обновляется автоматически при заведении группы, внесении ресурсов, редактировании группы |
38 (всего было насчитано за все время существования группы), и следующий ID будет, соответственно = 39 ( но он ведь не используется!) |
Реальное число "живых" (т.е. незаблокированных для участия в данной группе рейтинга) ресурсов в группе в текущий момент | number_live | integer | обязательно,
обновляется автоматически при заведении группы, внесении ресурсов, редактировании группы |
25 |
Число ресурсов в группе, введенных за все времена, роспись по категориям и сортам | number_type_mv | массив integer | обязательно,
обновляется автоматически при заведении группы, внесении ресурсов, редактировании группы |
38 (всего рейтингуется в данный момент), 25 (живых), 5 (новых), 6 (мало оцениваемых), 3 (с наградами) ..... |
Число просмотров таблиц данной группы | count_all | integer | обязательно | 1967 |
Число просмотров таблиц данной группы в последнем месяце - по дням | count_day | массив integer | необязательно | 11,11,10,9... |
Число просмотров таблиц данной группы по месяцам | count_month | массив integer | необязательно | 110,110,100,90... |
На одну запись в таблице необходимо порядка 200 - 500 байт. Вряд ли в таблице будет более 1000 записей (даже с введенными пользователями группами, целесообразность введения которых - под сомнением)
Таблица свойств
групп рейтинга Астротопа на определенную дату groups_list
Поле | Name | Тип | Наличие | Пример заполнения |
id записи | id | integer | обязательно | 3 |
Статус записи (редко исползуется, подразумевается, актуальна данная запсись или нет - например, если сущзествует несколько архивных копий одного выпуска одной темы, данная опция задействуется) | status | smallint | обязательно | 1 (по умолчанию) |
ID группы | id_group | integer | обязательно | 1 |
Дата снимка свойств группы | date | timestamp | обязательно | 1998-08-24 12:00:00 |
Номер выпуска Астротопа | N_astrotop_archiv | integer | обязательно | 4 |
Архивный это выпуск (на 22.03. и тп.) или текущий на данную дату? | archiv_or_not | bool | обязательно | true |
Реальное число "живых" (т.е. незаблокированных для участия в данной группе рейтинга) ресурсов в группе в текущий момент | number_all | integer | обязательно,
обновляется автоматически при заведении группы, внесении ресурсов, редактировании группы |
25 |
Массив номеров сайтов в порядке их расположения в списке | site_mv | массив integer[] | обязательно,
обновляется автоматически |
1,11,15,9... |
Массив оценок сайтов в порядке их расположения в списке | estimate_mv | float[] | обязательно,
обновляется автоматически |
7.25,7.11,6.58... |
Число всех оценок сайтов в порядке их расположения в списке | nn_estimates_mv | integer[] | обязательно,
обновляется автоматически |
30,41,5,7,9... |
Число оценок сайтов в стеке, в порядке расположения сайтов в списке | estimates_in_stack | integer[] | обязательно,
обновляется автоматически |
25,25,5,7,9... |
Число просмотров таблиц данной группы | count_all | integer | необязательно | 1967 |
Таблица оценок
ресурсов estimates в рейтинге Астротопа
Поле | Name | Тип | Наличие | Пример заполнения |
ID оценки | id | уникальное (порядковое) integer | обязательно,
необходимо для прямой ссылки на данную оценку |
25343 |
В какой группе рейтинга выставлена | num_group | integer | обязательнo,
создается автоматически |
3 |
Тип оценки | type | smallint | обязательнo,
создается автоматически =0 - обычная, очередная оценка =1 - первая оценка =2 - оценка, раз-блокирующая ресурс для нового участия в данной группе = -1 - блокировочная оценка (после этого данный ресурс автоматически исключается из данной группы рейтинга) |
0 |
Статус оценки - последняя или устаревшая | status | bool | обязательнo,
=true - последняя =false - устаревшая создается и редактируется автоматически (при внесении новой оценки оценка, бывшая последней, делается устаревшей!) |
true |
Значение оценки | estim_input | 0<=integer<=10,
smallint |
обязательно,
создается автоматически юзером |
5 |
Вес оценки | estim_weight | 1<=float4<=8 | обязательно,
Ранее было: категория=1 - "прохожий" =2 - интересуюсь =3 - знаток =4 - эксперт, и при оценке вес равнялся двойке в степени категория-1 Теперь записываем непосредственно ВЕС оценки, который,
например, для "эксперта" равен 8. Такое применено с целью возможного введения
гибкого взвешивания голосов пользователей.
|
2 (=интересуюсь) |
Дата | date | timestamp | обязательно,
создается автоматически |
2003-01-10 12:30:00 |
Кем поставлена, ID | user_id | integer | обязательнo
ID юзера из таблицы пользователей (у старых оценок =1, это пользователь Guest) |
3 |
Кем поставлена, логин (не высвечивается для всеобщего просмотра!) | user_login | VARCHAR(15) | обязательнo
(у старых оценок = guest ) |
Sam |
Кем поставлена - на вывод для всеобщего обозрения (ФИО, псевдоним или логин - по текущему выбору пользователя) | user_name | VARCHAR(50) | обязательнo
(у старых оценок и у новых при отсутствии генерируется автоматически - Инкогнито или Неизвестный) |
Самодуров Владимир |
Кем поставлена, IP | ip_address | inet | обязательнo
создается автоматически |
194.149.67.241 |
Чему поставлена , ID ресурса | id_site | integer | обязательнo
создается автоматически |
1 |
Расчетная текущая оценка (для указанной группы!) | estimate_current | float | обязательно,
создается автоматически |
5.438 |
Место в рейтинге группы после выставления данной оценки | num_site_in_group | integer | необязательно,
создается автоматически или заполняется (автоматически) позже |
17 |
Всего в группе на текущий момент ресурсов | nn_all_site_in_group | integer | необязательно,
создается автоматически или заполняется (автоматически) позже |
38 |
Всего оценок данному ресурсу в данной группе при текущем выставлении оценки | nn_all_estimate | integer | обязательно,
создается автоматически |
37 |
всего оценок в стеке на текущий момент | num_estimate_in_stack | integer | обязательно,
создается автоматически |
25 |
Дата оценки, стоящей последней в стеке (т.е. готовой из него выпасть) | date_old_in_stack | timestamp | обязательно,
создается автоматически |
2002-01-10 12:30:00 |
Дата самой первой оценки сайту в данной группе | date_first | timestamp | обязательно,
создается автоматически |
1999-01-10 12:30:00 |
Дата появления сайта в Астротопе (в любой группе, а не только в той, которой ставится данная оценка) | date_input_site | timestamp | обязательно,
создается автоматически |
1999-01-10 12:30:00 |
Длина записи - порядка 200-300 байт. Сейчас оценок - 13 тыс. Будет 100 тыс не ранее чем через 2 года.
Таблица пользователей
рейтинга Астротопа users
Поле | Имя | Тип | Наличие | Пример заполнения |
ID пользователя | id | integer | обязательно | 1 |
Логин | login | VARCHAR(15) | обязательно | Sam |
Пароль | password | VARCHAR(15) | обязательнo | ne_skazhu |
Статус пользователя | status | smallint | обязательнo,
= -2 - удален = -1 - запрещен до времени разблокирования =0 - обычный пользователь-новичок =1...99 - маститый >=500 - член команды Астротопа, Причем: >=700 - разрешено администрировать сайты (редактировать информацию о них в базе данных) поодиночке >=800 - разрешено администрировать сайты (редактировать информацию о них в базе данных) группами =998 - экс-Координатор =999 - Координатор >=1000 - программист создается автоматически при заведении пользователя
|
1000 |
Время действия статуса пользователя (только для наказанных пользователей) | time_block | timestamp | необязательно | |
VARCHAR(80) | обязательнo ,
именно по e-mail высылается пароль и ведутся рассылки |
sam@prao.psn.ru | ||
Сколько E-mail послано юзеру | number_email | integer | обязательнo ,
=0 - емэйл еще не посылался (в том числе и с сообщением, что юзер введен в базу данных с соответствующим паролем и ником...) |
1 |
Профиль подписки на сообщения от Астротопа | subscribe_mv | bool[]
массив boole - список кодов на получение определенных сортов информации |
обязательно, по умолчанию ставится (0,0,0,0,0...)
где 1-е число - информировать о внесении каждой новой оценки 2-е - информировать о внесении каждого нового сайта 3- специальная рассылка с основной инфой Астротопа раз в три дня 4- специальная рассылка с основной инфой Астротопа раз в неделю 5- специальная рассылка с основной инфой Астротопа раз в месяц 6 - специальная рассылка с основной инфой Астротопа раз в три месяца |
(1,1,1,1,1,1) |
ФИО юзера | fio | VARCHAR(128) | обязательно | Самодуров Владимир |
Пол | man_woman | bool | необязательно
=0 (false) - женский =1 (true) - мужской |
1 |
Псевдоним | psevdoname | VARCHAR(128) | обязательно
(автоматически генерируется "Инкогнито") |
Сам |
Отношение к астрономии/космонавтике/космосу | param_mv | smallint[] | необязательно | |
Сколько ip-адресов, с которых чаще всего голосуете/голосовали (роспись в следующей строке таблицы) | numer_user_ip | smallint | обязательно,
автоматически обновляется после последней редакции юзером массива ip-адресов, в самом начале =0 Возможно, сделать ограничение в 3 ... 10 адресов |
2 |
Массив ip-адресов, с которых чаще всего голосуете/голосовали | user_ip_mv | inet[] | необязательно,
редактируется юзером (учет старых IP, с которых голосовали ранее, позволит автоматически восстановить-присвоить старые голосования данному пользователю) |
194.149.67.241 , .... |
Выводить юзера при показе списка оценок под псевдонимом, логином или своей фамилией? | synonim_status | smallint | обязательно,
0- под логином, 1- выводить под своим именем (ФИО), 2- под псевдонимом (так обычно) Примечание - верно для оценок, а голосования-опросы всегда подписываются ФИО юзера (или подписью "вебмастер сайта такого-то") |
1 (кстати, это будет всех членов команды касаться ;) ) |
Страна (сделан жесткий выбор из списка стран!) | land | VARCHAR(50) | необязательно | Россия |
Город, населенный пункт проживания | city | VARCHAR(50) | необязательно | Пущино |
Дата регистрации пользователя | date_input | timestamp | обязательно,
создается автоматически при заведении пользователя |
2003-01-10 |
Является ли членом команды Астротопа | astrotop_admin | bool | обязательно,
создается автоматически при заведении пользователя (как false), редактируется - Координатором и программистом проекта |
true |
Права администрирования | admin_mv |
bool[] массив bool - список кодов на администрирование соответствующих функций проекта |
обязательно
1-е - ставить оценки 2-е - вводить новые сайты 3-е - участвовать в голосованиях-опросах 4-е - редактировать сайты 5-е - редактировать данные юзеров 6-е - редактировать старые группы (названия и т.п.) 7-е - вводить новые группы 8-е - редактировать голосования-опросы 9-е - создавать новые голосования-опросы 10-е - редактировать-присваивать сайту награды |
(1,1,1,1,1,0,1,1,1,0) |
Сколько создано групп рейтинга Астротопа данным пользователем | number_groups | integer | необязательно | 18 |
Список созданных групп рейтинга Астротопа | input_groups | integer[] | необязательно | (1,2,... 18) |
Дата найденной первой оценки от пользователя | date_first_using | timestamp | необязательно,
создается автоматически при заведении пользователем всех своих синонимов и старых ip-адресов |
1998-08-24 |
Дата последней оценки от пользователя | date_last_using | timestamp | необязательно | 2003-01-10 |
Всего оценок от пользователя | number_estimates | integer | обязательно | 3543 |
Всего введено ресурсов (сайтов) пользователем в каталог | number_sites | integer | обязательно | 435 |
Количество голосований-опросов, в которых принял участие юзер | number_votes | integer | обязательно | 8 |
Звание (шутливое) юзера в системе Астротопа | rang_user | VARCHAR(30) | необязательно | Генерал Астротопа :-) |
Статистический индекс объективности пользователя | ind_stat | float | необязательно, расчитывается автоматически раз в сутки | 7.543 |
Длина записи в таблице - порядка 300-600 байт. Вряд ли пользователей будет более 1000 в ближайший год-два.
Таблица названий
стран (вспомогательная таблица рейтинга Астротопа) lands
ID страны | id | integer | обязательно,
не редактируется! |
1 |
Название страны | name | VARCHAR(50) | обязательно,
не редактируется! |
Россия |
Краткое двухбуквенное обозначение | short_name | VARCHAR(2) | обязательнo,
не редактируется! |
RU |
Количество пользователей Астротопа с этой страны | number_users | integer | обязательнo,
редактируется автоматически |
53 |
Количество сайтов с этой страны в Астротопе | number_sites | integer | обязательнo,
редактируется автоматически |
653 |
Количество оценок от пользователей Астротопа с этой страны | number_estimates | integer | обязательнo,
редактируется автоматически |
10001 |
Количество участий в опросах-голосованиях от пользователей Астротопа с этой страны | number_votes | integer | обязательнo ,
редактируется автоматически |
1 |
Дата последнего изменения данных | date_last | timestamp | обязательнo ,
редактируется автоматически |
2003-01-10 |
Длина записи в таблице - порядка 60 байт. Всего стран - 242.
Таблица названий
городов (вспомогательная таблица рейтинга Астротопа) cities
ID города (населенного пункта) | id | integer | обязательно,
не редактируется! |
1 |
Название населенного пункта | name | VARCHAR(50) | обязательно,
редактируется только членами команды Астротопа. |
Пущино |
Количество пользователей Астротопа с этого города | number_users | integer | обязательнo,
редактируется автоматически |
53 |
Количество оценок от пользователей Астротопа с этого города | number_estimates | integer | обязательнo,
редактируется автоматически |
3000 |
Количество участий в опросах-голосованиях от пользователей Астротопа с этого города | number_votes | integer | обязательнo ,
редактируется автоматически |
1 |
Дата последнего изменения данных | date_last | timestamp | обязательнo ,
редактируется автоматически |
2003-01-10 |
Длина записи в таблице - порядка 300-600 байт. Вряд ли пользователей будет более 1000 в ближайший год-два.
Раздел рубрикатора
в таблице rubrikat_1 рубрикатора 1 (близко
к ГРНТИ и УДК) .
Поле | Имя | Тип | Наличие | Пример заполнения |
Номер раздела рубрикатора | id | INTEGER | обязательно | 1 |
Уровень рубрикатора | level | INTEGER | обязательно
1 - верхний уровень, на нем только - Астрономия и Космонавтика 2- более низкий под-уровень, (главные разделы Астрономии (или Космонавтики)) 3 - еще ниже.... |
1 |
Имя раздела рубрикатора | name | VARCHAR(256) | обязательно | Астрономия |
Идентификатор родителя раздела | parent | INTEGER | =0 - нет родителя
= nn - идентификатор id соответстивующего родителя |
0 |
список связанных разделов (синонимов) | synonim_list | INTEGER[]
(список идентификаторов разделов) |
необязательно | |
Возможное название в родственном классификаторе -1 (ГРНТИ) | comment_1 | VARCHAR(30) | необязательно | ГРНТИ 55.01.79 |
Возможное название в родственном классификаторе -2 (УДК?) | comment_2 | VARCHAR(25) | необязательно |
Журнал
рубрикатора-1 rubr_1_list . Смысл таблицы
в том, что для каждого сайта записываются все разделы рубрикатора
в этот журнал, под которые подпадает сайт. Из этой таблицы генерируются
выборки разделов рубрикаторов и списков сайтов в них.
Поле | Имя | Тип | Наличие | Пример заполнения |
Номер данной записи | id | INTEGER | обязательно | 123 |
Номер сайта из таблицы паспортов сайтов | num_sites | INTEGER | обязательно | 1 |
Номер раздела рубрикатора | id_rubr_1 | INTEGER | обязательно | 1 |
Статус состояния данной записи | status | bool | обязательно,
по нему определяется, актуальна ли данная запись, или принадлежит ныне умершему сайту (либо временно выведенному из списков). |
true |
Дата внесения сайта в Астротоп | date_input_site | timestamp | обязательно,
именно по нему сортируются списки сайтов в рубрикаторе при выводе их на страницу - Вначале думал, что НЕ НУЖНО, ТУ ЖЕ ФУНКЦИЮ МОЖНО СДЕЛАТЬ ПО num_sites, но затем - нет, начальные номера сайтов расставлены не по датам. Да и удобнее даты держать в этой же таблице... |
1998-08-24 |
Уточняющий Код 1 (запасной) | cod_1 | smallint | необязательно |
........................................................
Таблица описаний
голосований (опросов АстроТопа) votes_description
Ввести возможность уточняющих параметров для
голсования, чтобы можно было разделять итоги голосования по категориям
голосующих. Ввести не более 4-х уточняющих параметров.
Поле | Имя | Тип | Наличие | Пример заполнения |
ID данного голосования | id | уникальное (порядковое) integer | обязательно,
необходимо для прямой ссылки на данное голосование |
25343 |
Действующее голосование или уже закрытое? | live | bool | обязательно,
0 (false) - уже закрыто, 1 (true) - еще открыто |
0 |
Тип голосования | type | smallint | обязательно,
0 - строгий выбор одного из нескольких 1 - мягкий выбор сразу нескольких вариантов |
|
Модель голосования - для кого оно? | mode | smallint | обязательно
0 - для всех пользователей 1 - только для членов команды Астротопа |
|
Вопрос для голосования | question | VARCHAR(512) | обязательно,
берется из таблицы описания голосований |
Назовите лучший астросайт 2002 года |
Сколько вариантов выбора | number_variants | smallint | обязательно
создается автоматически, редактируется админом |
(0,1,1,0,0,0) - выбор вариантов из списка данного голосования |
Список вариантов | name_variant_mv | VARCHAR(512)[] | обязательно | Сайт номер 1,
Сайт номер два, .... |
Сколько голосов подано за каждый вариант | number_votes_mv | integer[] | обязательно | |
Сколько вариантов показывать (важно для закрытого голосования, а открытые автоматом показываются полностью) | number_variant_look | smallint | необязательно | |
Сколько отдельных голосов подано | number_user_vote | integer | обязательнo | |
Сортировать ли: вид сортировки | sort_mode | smallint | обязательно
0 - не сортируется (обычно) |
|
Сколько добавочных параметров | ||||
Добавочный параметр 1 | ||||
...... | ||||
Когда заведено голосование | date_create | timestamp | обязательнo
(генерируется автоматически во время первой подачи голоса) |
23.01.2003 |
Дата первого голоса в голосовании | date_first_vote | timestamp | ||
Дата последнего голоса в голосовании | date_last_vote | timestamp | обязательнo
(генерируется автоматически во время последнего "голоса") |
5.03.2003 |
Дата закрытия голосования | date_deadline | timestamp | обязательнo
генерируется автоматически, указывается админом |
Журнал голосований
от пользователей Астротопа (одна запись - один вариант от одного пользователя
на одно данное голосование) votes_list
Поле | Имя | Тип | Наличие | Пример заполнения |
ID голосования | id_vote | уникальное (порядковое) integer | обязательно,
берется из таблицу описания голосований |
23 |
Порядковый номер поданного за этот опрос ( id_vote ) голос | number_vote | integer | обязательно | |
Всего выбрано вариантов | total_number_variant | smallint | обязательно | |
Номер выбранного варианта | number_variant | smallint | обязательно
создается автоматически юзером |
(0,1,1,0,0,0) - выбор вариантов из списка данного голосования |
Кто голосовал (логин или число, если голосовал автор сайта) | login | VARCHAR(15) | обязательно | 1 |
Чей голос, - псевдоним, ник, или ФИО (как определил юзер) | name_user | VARCHAR(128) | обязательнo | Самодуров Владимир |
Когда проделано начальное голосование от данного юзера | date_first | timestamp | обязательнo
(генерируется автоматически во время первой подачи голоса) |
23.01.2003 |
Дата последней редакции данного голоса в указанном голосовании от данного юзера | date_last | timestamp | обязательнo
(генерируется автоматически во время последней редакции "голоса") |
5.03.2003 |
Всего пере-голосовано раз | number_version | smallint | обязательнo
(генерируется автоматически во время последней редакции "голоса") |
Книги рецензий ресурсов
АстроТопа notes
Поле | Имя | Тип | Наличие | Пример заполнения |
ID темы журнала рецензий(записей) | id_theme | integer | обязательно,
создается автоматически |
102 |
Имя темы | name | VARCHAR(256) | обязательно,
часто создается автоматически (например, для рецензий на сайты) |
Книга рецензий на сайт.... |
Статус темы | status | bool | обязательно
true - тему с записями показывать false - не показывать (устарело, удалено, в ней обнаружена ненормативная лексика...) |
|
Тип темы рецензий | type | smallint | обязательно
0 - относится ко всему проекту Астротоп-а (пока только записи типа гостевой книги к Астротопу) 1 - относится к какой-то определенной группе рейтинга Астротопа 2 - относится к определенному голосованию Астротопа 3 - относится к определенному ресурсу (сайту) Астротопа 4 - относится к определенной статье, материалу на сайте Астротопа |
3 |
ID ресурса, за которое подана рецензия | id_add_1 | integer | обязательно,
для type=1 - это номер группы для type=2 - это номер голосования для type=3 - это номер сайта для type=4 - это номер раздела Астротопа (например 0 - к разделу титульная директория Астротопа, раздел номер 2 - "иконы Астротоп-а" и т.д.) |
343 |
Дополнительный уточняющий код темы | id_add_2 | integer | необязательно,
создается по мере необходимости |
23 |
Дополнительное уточняющее возможное название | name_add | VARCHAR(50) | необязательно,
создается по мере необходимости, например, для имен файлов в разделах сайта Астротопа, к которым и привязываются темы обсуждения |
|
Статус юзеров, которым можно писать в эту тему (status из таблицы users) | status_permition_user | smallint | обязательно
создается автоматически |
1 |
Когда написана первая рецензия от данного юзера | date_create | timestamp | обязательнo
генерируется автоматически во время первой подачи |
23.01.2003 |
Дата последней редакции данной рецензии | date_reduction | дата, timestamp | обязательнo
генерируется автоматически во время последней редакции |
5.03.2003 |
Максимально допустимая длина текста рецензий | max_lenth_text | smallint | обязательно,
создается автоматически Для разных типов рецензий (type) может быть разной длины - от 1 до 8128 (реально от 512 до 8128). |
2048 |
Число сообщений в теме (со статусом = true) | count_notes | integer | обязательно |
Журнал рецензий ресурсов
АстроТопа notes_list
Поле | Имя | Тип | Наличие | Пример заполнения |
ID записи-рецензии | id | уникальное (порядковое) integer | обязательно,
создается автоматически |
102 |
ID всей данной темы журнала рецензий | id_theme | integer | обязательно,
создается автоматически |
|
Статус записи | status | bool | обязательно
true - запись показывать false - запись не показывать (например, если в ней обнаружена ненормативная лексика) |
|
Тип записи | type | smallint | обязательно
0 - относится ко всему проекту Астротоп-а (пока только записи типа гостевой книги к Астротопу) 1 - относится к какой-то определенной группе рейтинга Астротопа 2 - относится к определенному голосованию Астротопа 3 - относится к определенному ресурсу (сайту) Астротопа 4 - относится к определенной статье, материалу на сайте Астротопа |
3 |
ID ресурса, за которое подана рецензия | id_add_1 | integer | обязательно,
для type=1 - это номер группы для type=2 - это номер голосования для type=3 - это номер сайта для type=4 - это номер раздела Астротопа (например 0 - к разделу титульная директория Астротопа, раздел номер 2 - "иконы Астротоп-а" и т.д.) |
343 |
Дополнительный уточняющий код рецензии | id_add_2 | уникальное (порядковое) integer | необязательно,
создается по мере необходимости |
23 |
Номер рецензии-записи внутри данной темы | number | integer | обязательно | |
ID юзера, написавшего рецензию | id_user | integer | обязательно
создается автоматически |
1 |
Логин юзера, написавшего рецензию | login | VARCHAR(15) | обязательно | |
Кто писал - имя или псевдоним (как определил он сам) | name_user | VARCHAR(30) | обязательно
создается автоматически, берется из псевдонима пользователя (или имени), и сокращается до 30 символов, если он больше |
1 |
Когда написана данная рецензия от данного юзера | date_create | timestamp | обязательнo
генерируется автоматически во время первой подачи |
23.01.2003 |
Дата последней редакции данной рецензии | date_reduction | дата, timestamp | обязательнo
генерируется автоматически во время последней редакции |
5.03.2003 |
Текст рецензии | annotation | VARCHAR(8128) | обязательно,
создается автоматически Для разных типов рецензий (type) может быть разной длины |
Логика заполнения таблиц.
Сначала вводится новый пользователь, по e-mail ему посылается пароль,
устанавливаются начальные права (ставить оценки и вносить ресурсы, редактировать
свои данные (кроме ФИО, логина и псевдонима) - автоматически).
Он ставит: оценки - они автоматически вносятся в базу данных, из нее
генерятся текущие html-файлы.
Он вносит: сайты - они сразу вносятся в рейтинг (и участвуют в нем),
но при этом автоматически остаются в невидимом списке непроверенных сайтов,
откуда их переводят в разряд "полноценных" (в том числе для поисковой базы
Астронета) - члены команды. Они же (или юзеры при внесении ресурса)
вносят е-мэйлы авторов ресурсов, по которым автоматически отсылваются пароли
на редактирование ресурсов (кроме URL и названия сайта - чтобы не стрирали
из вредности ;) ), в том числе на редактирование книг рецензий (не хотят,
так пусть хоть вообще закроют ее) - в основном чистку от грубостей.
Чистить автрорам книгу рецензий от рецензий рабочей группы проекта будет
запрещено (иначе они и все отрицательное почистят и превратят их в обычные
гостевые книги).
Раз в квартал, после автоматической генерации архивов делаются автоматические рассылки всем авторам сайтов - о положении их сайта в рейтингах, краткой инфы, объявлений для сообщества, наградах (если есть) их сайтам и другое.
На основе таблиц ресурсов генерируются раз в сутки таблицы, необходимые
для поисковой системы Астронета. В самом Астротопе также работает поисковая
система - по полям всех таблиц с паспортами ресурсов, и генерируется статистика
голосований и изменений рейтингов - на основе таблиц юзеров и оценок.
Логика работы программ-редакторов.
Программа редактирования голоса - какой юзер подал?
После создания базы данных на основе старых данных каждый голос в базе
данных подан пользователем -
guest (ФИО=Иван Иваныч Неизвестный, псевдоним=Гость), и введена каждая
страница тем же пользователем.
При вводе-редакции другого пользователя - проверить-изменить все
1) голоса
2) ресурсы
3) других пользователей, у которых могут отниматься голоса в пользу
нового
Редакция паспорта сайта автором
Надо менять:
$num_red=$num_red+1;
#редактировался автором +1 раз
План работы.
В первую очередь создать:
1) Таблица групп готова (8-го января)
2) Общую таблица свойств астротопа готова (9
января)
3) Таблица ресурсов - готова, 30 января
4) Таблицу оценок ресурсов - готова 25-28 февраля.
5) Таблицу юзеров - готова ~ 20 марта.
6) Таблицу голосований - готова 3-го апреля.
7) Таблицу-рубрикатор - жду преодолимых сложностей
8) Таблицу рецензий - жду преодолимых сложностей
9) Сделать ко всем таблицам программы выборки и генерации
рейтинга
Основные программы:
Astrotop.pm - пакет-библиотека, остальные -
tet.cgi - тестирование данных базы данных astrotop, из необходимых:
а) list.cgi - вывод таблиц рейтинга сайтов - сделано 28 февраля
б) estim.cgi - выставление оценки ресурсу
в) ввод нового ресурса и выставление первой оценки
addlist.cgi - форма для добавления страниц, вызывает:
ins_new.cgi - добавляет страницу по введенным данным
г) голосование и пере-голосование юзером по предложенной теме (выбор
сайта и т.п.) - vote.cgi - голосование по опросу - 2-го апреля
д) vote_red.cgi - редактирование данных опроса - 1-го апреля
Чего еще нет -
1) скрипта редактирования информации о сайте с данным id из базы данных
site_edit.cgi
Его хотелось написать уже с готовым рубрикатором - почему и затяжка
была.
2) Рубрикатор по областям знаний. Он практически закончен общими усилиями
(основа - Прохоров и Андреев, редактирование - Александрович, Лысак и я
- чуть-чуть в самом конце, и скриптик перегонки готового рубрикатора в
sql - Антон Ткаченко плюс моя совсем мелкая редакция), надеюсь, что заработает
не позже чем через неделю. К ней - прицепить:
а) редактирование-добавление пунктов рубрикатора к соотвествующему
сайту site_edit.cgi
б) Выводить избранные пункты рубрикатора (каталога) со списком сайтов,
подпадающим под него - в интернет. Назовем данный скрипт, допустим, catalog.cgi
г) можно делать, а можно оставить на уровне sql - редактирование самого
рубрикатора.
3) Редактирование-добавление новых тем рейтинга. Пусть, допустим, это
будет group_edit.cgi
_Все_ поголовно программы редактирования инфы о сайтах, темах , юзерах
... - должны быть еще снабжены простыми в
принципе механизмами проверки прав на редактирование, но их надо аккуратно
написать и вообще расписать все возможные права
администрирования (такой полной сводки у меня еще нет) - на сайты,
голосования, темы рейтинга, юзеров...
4) включить во все нужные скрипты возможность добавлять рецензии на сайты. Ну и, разумеется, вывод их каким-то образом для каждого сайта (из графы таблиц рейтинга, допустим). Это должно быть просто. Вот только надо аккуратно поковыряться в уже существующих скриптах.
5) через администрирование аккаунта надо бы наладить сброс раз в квартал архивов рейтингов, и рассылок авторам сайтов. И вообще, нужны:
6) Скрипты рассылок - posta.cgi , допустим - рассылки группам пользователей,
основные из которых:
а) ядро команды астротопа
б) вся команда астротопа
в) пользователи астротопа
г) авторы астрокосмосайтов
7) Сделать - обновления-вставка основных данных астротопа при каждом
новом сайте, новом юзере и сотой оценке.
10) Сделать ко всем таблицам программы редактирования
юзерами по их правам администрирования - - жду преодолимых сложностей
11) Создать таблицу наград сайтов - должно быть относительно
просто
12) Создать отдельную таблицу статистику просмотров групп
- должно быть относительно просто
Пункты 7,8,10,11,12 оставлю на потом, а 1-6, 9 (надо бы и 10 сразу,
по хорошему) надо делать сразу и целиком.