fedor57 / alumni-directory Goto Github PK
View Code? Open in Web Editor NEWAlumni directory
Alumni directory
Профили классов (поле profile
) в базе не заполнены, потому что я давным-давно налажал и забыл их экспортировать из базы sch57.ru. Я поправил экспорт, и по старой ссылке сейчас у всех классов классов указан профиль (в поле speciality
, потому что profile по словарю значит не это, но я и в speciality не уверен).
Важное: — ссылки вида vk.com/blah
и facebook.com/blah
браузером воспринимаются как относительные и не работают, но набирать http[s]://
в начале явно будут не все; — сейчас вместо ссылки на контакт/фейсбук можно ввести любую ссылку и даже любой мусор.
Красивости: ссылки надо бы нормализовать: http/https везде; фейсбук любит добавлять в конце всякий трекинговый мусор (никакие параметры в profile.php, кроме id, не нужны; остальным страницам вообще никакие параметры не нужны).
Сложное: хорошо бы удостовериться, что ссылка на профиль действительно ведёт на профиль, а не на что-нибудь другое внутри домена социалочки (действия по GET
выполнять нельзя, так что уязвимости быть не должно, но мы же все знаем, как хорошо это все соблюдают?..)
Сейчас есть три кнопки голосования: за, против и удалить. И каждый человек может нажать на каждую.
Я переделываю это в следующую систему:
При этом в базе есть уже голоса, которые не ложатся в эту схему. Для них предлагаю трансформации:
Кажется, после таких преобразований не должно остаться голосов, которые противоречат системе.
Пожалуйста, пишите идеи и предложения, или пишите, что согласны с этой схемой
В текущем виде статусы выставляются как-то так, поэтому тут тоже нужен порядок и правила:
Удалённый статус
Факты с удалённым статусом не видны нигде.
Выход из удалённого статуса возможен, если факт был помечен удалённым по причине 1 или 2, и кто-то добавил точно такой же факт. В этом случае, факт переходит из статуса «удалённый» в какой-то другой, и вернуть его в «удалённый» может только хозяин страницы.
Скрытый статус
Неуверенный статус
Уверенный статус
Рассчёт статуса
Статусы «скрытый», «неуверенный», «уверенный» рассчитывают так: добавление факта и голос «за» него считаются положительными голосами, голос «против» и голос «за удаление» считаются отрицательными. Если голосует хозяйка страницы, к которой прицеплен факт, то голос умножается на 10. Если голосует аноним, то голос делится на 10.
После подсчёта голосов для каждого типа значения (город, ВУЗ и т. п.) выбирается факт с максимальным весом. Этот факт получает статус «уверенный», остальные факты с положительным весом — статус «неуверенный», остальные с отрицательным весом — статус «скрытый».
Subj
Защита от добрых ботов: robots.txt
(подумать, что мы хотим там видеть), ясная политика использования данных.
Защита от злых ботов: throttling.
Примеры для подражания: Stack Overflow, arXiv.
Автодополнение при добавлении факта о выпускнике совершенно не нужно. Кроме того, оно пытается дополнять email-адреса, так что их «защищённость» ломается перебором.
H/T: Серёжа Вальковский
Покрытие старых выпусков у нас неиделаьное, ничего не попишешь. А вот для новых можно что-нибудь сделать. Можно, например, раздавать на выпускном коды и коротенькие листовки с описанием сайта. Всё равно надо будет собирать списки новых выпусков, и люди заходят на выпускные.
("Комплект выпускнику от выпускников" - а что, можно даже красиво сделать :) )
Сабж. Хорошо бы иметь возможность без шума и подтверждений откатывать собственные изменения — хотя бы недавние, поверх которых никто больше ничего не сделал. Включая создание фантомных выпускников по ошибке (удалить из интерфейса нельзя; мы же не хотим это всё решать через суппорт?). Можно было бы даже изменять, а не откатывать, но откатывать легче для интерфейса и реализации.
via: Посицельский, Равинская
Сейчас немного уродливо, имеет смысл надпись на ссылки сделать короткой. Предлагаю вот так:
http://www.kcl.ac.uk/nms/depts/mathematics/people/atoz/panovd.aspx
->
kcl.ac.uk
Т.е. убираем:
Добавить в bread crumps ссылку на страницу года или класса [ выпускники ] по аналогии со ссылкой [ правки ] в обратную сторону. На страницах с фильтрами по автору правок ссылки быть не должно.
Предлагаю помечать покинувших нас и блокировать действия с ними. В общем списке отображение нет смысла менять, ибо мемориал иначе получится. И, наверное, надо сделать кнопку репорта - "выпускник покинул нас", где-нибудь не на виду.
Django рекомендует не показывать никому SECRET_KEY; но, возможно, это паранойя, и вам виднее.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.