stories.andreymal.org опять

+249
andreymalв блоге IT Pony!23 марта 2016, 21:47
Кратко о том, что случилось: в процессе допиливания сториза Орхи намеренно привязал его к используемой им самим платформе и лишил технической возможности пилить сториз большинство потенциальных разработчиков, в том числе и меня. Образовавшуюся от такого технического вандализма пуканную тягу пришлось срочно перененаправить на допиливание своего форка, чтобы не улететь разглядывать Плутон вслед за New Horizons. Не уверен, есть ли теперь в этом смысл, ибо на гитхабе с недавних пор тщательно имитируют бурную деятельность (правда, дальше этого дело у них пока не идёт), но не пилить своё не мог. В первую очередь сейчас пилил всякое техническое.

Что же я натворил теперь (в порядке технической важности):

Портировано с Django на Flask. В отличие от джанги, фласк не только позволяет отклоняться от «генеральной линии партии», запиливая всякие свои велосипеды, но и даже почти поощряет это. Запилить здесь API теперь — как нефиг делать, чего на джанге мы с Орхи не осилили.

Нормальная кроссплатформенность сервера. Мне удалось запустить и потыкать это всё на следующих платформах:

— Arch Linux (куда ж без него)
— Mac OS X 10.10
— FreeBSD 10/11
— Windows 8.1/10 (скачивание рассказов не ломалось!)

Почти наверняка и на каких-нибудь других юниксах работает. Плюс за счёт Pony ORM поддерживаются СУБД MySQL, PostgreSQL, Oracle и SQLite3; имеется механизм переноса данных между разными СУБД.

Переписан почти весь javascript. Все переходы по ссылкам и отправки форм теперь выполняются через AJAX (по образу и подобию PJAX и TurboLinks). Сильно меньше jQuery, несильно меньше bootstrap'а, местами сильно больше быстродействия за счёт AJAX. (Нет, это не SPA в привычном смысле. Нет, SPA не будет. Да, SPA — ересь. Да, смайлопак я тоже считаю ересью, но с ним ничего не поделать) (Для Орхи и Гибоникуса исходники NSFW.)

Переделаны комментарии с нуля. Ответы, голосование, скрытие заминусованных, подсветка новых, РЕДАКТИРОВАНИЕ, вот это вот всё. Плюс из ЖЖ утащены пагинация и скрытие веток (настраивается в профиле.) Не без косяков пока, но сториз не табун, может их и не надо фиксить, не знаю)

Начало переноса валидации с Django-Forms/WTForms на Cerberus. Сильно облегчает вьюхи, снижает вероятность появления багов и уязвимостей, упрощает разработку API.

Базовая поддержка интернационализации. Местным, конечно, нафиг не надо, но в данном случае запиливать проще, чем не запиливать. Правда, сейчас всё рано доступен только русский язык, потому что на английский переводить некому.

Нормальный механизм объявлений. А не через django-pages, насильно пихаемый в верх главной страницы, как раньше. И уж тем более не через рассказы *mother-of-celestia.jpg* У каждого объявления есть красивый адрес и комменты.

Можно пихать картинки в описание рассказов :)

Многочисленные мелкие исправления багов и уязвимостей, оптимизации и всё такое. В процессе портирования много чего нашлось. Часть отправил обратно в ponyFiction, часть нет. (Ну и без новых багов, появившихся при портировании, тоже не обошлось.)

Что со всем этим делать дальше — хз.

Этот пост на stories.andreymal.org

P.S. Если кому-то пишет ошибку 502 — почистите кэш DNS.

340 комментариев

Сейчас сайт работает на Windows Server 2012 и PostgreSQL. С нетерпением жду отчётов о платформоспецифичных багах от каких-нибудь ликсисов.
andreymal
+4
Windows Server 2012

Liksys
0
Поджигай!
inglorius
+2
Лучше бы редактирование комментов вернули.
Ertus
+9
Что же я натворил теперь (в порядке технической важности)

Спойлер
synapse
+4
Ууу… спасибы спасибы, сториз делать — занятие правое
Turritopsis
0
Десять из десяти, господи, десять из десяти!
EpicMan2
0
Зашёл с ноутбука и с телефона, полазил немного — проблем не обнаружил. А вот оценки в числах вернуть не помешало бы.
Legat89
0
Воспринимать звёзды как числа не катит?
В любом случае, оценки +1/-1 — зло (см. комменты к предыдущему посту)
andreymal
+1
Посмотрю. Но в любом случае средняя оценка — это лучше сториезовских копыт.
Legat89
0
Может показывать ещё количество прроголосовавших, чтобы понимать, насколько объективна эта оценка?
Legat89
+1
Вообще изначально подразумевалось, что при маленьком количестве проголосовавших вместо оценки отображается «Голосов ещё мало», но раз это уже не первая просьба, подумаю
andreymal
0
«Голосов ещё мало» — это хорошо, но и при относительно большом количестве знать точное число было бы неплохо.
Хорошо, думайте.
Legat89
0
А может вот так?
Nirton_the_brony
+3
Да, только для пятибальной/дестибальной шкале. Ну и, в таком случае, графика будет другая немного.
Legat89
0
Вот такая
Nirton_the_brony
+2
Ну, да. Но такая только в самом фанфике, а в ленте среднее значение (та, что есть сейчас). И, например, при наведении на сокращённую, вываливается развёрнутая, чтобы не нужно было за ней лазить в страничку с фанфиком.
Legat89
+1
А вот где-то давно говорили, что конкретные цифры это плохо. Врут?
andreymal
0
Считаю что да.
Nirton_the_brony
+1
Это мнение тех людей, кто так говорил. Лично я так не считаю. Но если не хочешь конкретные цифры — можно в процентах от проголосовавших.
Legat89
+3
Они? Они не могут не врать.
Ruberoid
+1
— Для обмана неконкретные цифры очень даже удобны.
Waterfall
0
Врут?
Причём нагло.
WildPony
0
Ну и с возможностью переголосовывать, конечно.
Legat89
0
Понял, согласен. Звёздочки намного лучше.
Legat89
0
Да

А может и

Нет
Waterfall
+2
Это проблемы тех кто оценивает, а не самой системы.
WildPony
0
— Значит надо исправлять либо тех, кто оценивает. Либо систему. Угадай с одного раза — что проще исправить?
Waterfall
+1
Так и хочется ответить...
Ибо никакая система не может быть объективной при необъективности голосующих, что и показано в твоём комментарии выше.
WildPony
+3
Ибо никакая система не может быть объективной
Можно обрезать и так. Но это не значит, что подобные системы не имеют никакого смысла.
Wolfram
+1
Но, если все системы одинаково необъективны, тогда о чём разговор? Ставьте любую — всё равно будут недовольные.
WildPony
0
Видимо, вопрос в том, какую систему выбрать, чтобы недовольных было минимум)
andreymal
+2
Сделать голосование? Демократия, все дела…
WildPony
0
Чем меньше недовольных, тем лучше.
Wolfram
0
Сделать голосование? [2]
Хотя иногда бывает, что чем больше недовольных, тем лучше. Фидбэка больше.
WildPony
0
Я не понял, какой вопрос выставить на голосование.
Хотя иногда бывает, что чем больше недовольных, тем лучше. Фидбэка больше.
Нет, лучше, когда большая часть недовольных высказывает своё недовольство, а не когда их в принципе больше.
Wolfram
0
Больше недовольных — больше желающих высказаться. Чисто статистически.
А голосование за то какую систему делать. Предложить варианты, показать наброски/примеры.

Хотя уже и так слишком много танцев вокруг этой голосовалки.
WildPony
0
Они все необъективны, но кто сказал, что одинаково необъективны?
Legat89
+1
Да, каждая необъективна по своему. И что? Всё равно нет в мире совершенства. Поэтому нет большой разницы насколько необъективна кажадя конкретная.
WildPony
0
Ага, все мы всё равно умрём, так почему бы сразу не лечь в гроб и закопаться?
Legat89
+1
Утрируешь. Тут скорее вопрос: «Какой лопатой снег чистить — штыковой или совковой? Какая разница — они, в данном случае, обе неудобные». Так что пофиг.
WildPony
0
Какой сториз юзать? Один кривой, другой пустой, на третьем шлак, четвёртый чё за хрень вообще
andreymal
+1
Конечно утрирую. Но, если нет той лопаты, которая сподручнее всего убирать снег, всё же нужно выбрать самую удобную из тех, что есть.
Legat89
0
Тащемта, проблема таки системы!
TotallyNotABrony
0
Скорее проблема отсутствия идеальной системы и несовершенства человечества.
Legat89
0
Человеки им теперь не нравятся. Работайте с тем, что есть, и не будьте коммидаунами с двача.
TotallyNotABrony
+1
Так я и не говорю, что надо в связи с этим бросить всё и ничего не делать. Конечно надо работать с тем, что есть.
Legat89
0
Какую систему вы не запилите, все равно несовершенство будет, ибо человеки.
TotallyNotABrony
0
Ну, так именно об этом я и говорил!
Legat89
0
А человеки есть человеки, они совершенны.
TotallyNotABrony
0
В общем случае — лучше. В частных случаях — не хуже.
Legat89
+1
— Разброс при первых оценках у звёздочек страшнее. Но так, да, обычно они получше… почему Орхи их тут не ввёл, не в курсе?
Waterfall
0
Потому что это надо было что-то переделывать.
Nirton_the_brony
+1
Благодарю.)
Waterfall
0
Потому что они раньше были.
TotallyNotABrony
+1
Пасиб за ответ.)
Waterfall
0
[правда ироничная]Держи +1 к сему комменту твоему.[/правда ироничная]

И да, если ещё не читал — можешь почитать… — Как правильно сортировать контент на основе оценок пользователей. Комменты тама также очень-очень интересны.
Waterfall
+1
А вот и авторизация отвалилась, ща починю
andreymal
0
Вроде починил
andreymal
0
Пытаюсь войти через сториез, пишет: «Нет такого пользователя». Это ещё не обновили?
Legat89
0
Если регистрация после июля, то не обновили, я с тех пор ничего не обновлял, позже обновлю
andreymal
0
А. Ага, понятно. Да, регистрация после июля. Хорошо.
Legat89
0
А если кто зарегистрируется в это время на такой ник, у кого будет приоритет? У того, кто раньше зарегистрировался (неважно, там или на сториезе) или как-то по-другому?
Legat89
0
У меня регистрироваться нельзя, все учётки только со stories.everypony.ru, так что проблем быть не должно (ну, кроме того, что юзеры типа тебя войти пока не могут :)
andreymal
0
Понятно. Хорошо, что нет регистрации, иначе могли возникнуть проблемы…
Legat89
0
О Господи! Как же это круто! Во первых как частый посетитель сториеса я рад видеть что на него не забили. А во вторых это просто шикарно! И даже не надо каких либо объяснений!
Dissi
0
И тут я понял что это не тот сториес. А фики из старого не пересены что ли?
Dissi
0
Чуток позже
andreymal
0
Жаль, а когда он будет полностью допилен старый удалите или оставите два?
Dissi
0
Хз
andreymal
0
Просто не удобно было бы оставлять два. Кто то будет писать в один, другой во второй. И фиг поймешь.
Dissi
0
Эту проблему должны решить высшие силы.
Legat89
0
Орхи?
Dissi
0
Что-то типа того. Я, если честно, новенький и не знаю, кто тут за всё отвечает. Но, судя по тому, что все тут именно ему молятся (мантра #орхиверниредактирование бьёт все рекорды среди население табуна), именно он.
Legat89
0
Оу, ну раз так, добро пожаловать на табун! Здесь ты найдешь все что ты хочешь, от няшных кобылок до агро школьников. Насмотришься на хорошенькие рисунки среди кривого арта. И сможешь подружиться с брони и не очень. Пинки вечеринку мы не устроим, но если будешь адекватом то и не сольем. Хочешь пообщаться или просто что то спросить, пиши в личку. Может и помогу чем!
Dissi
0
Спасибо. Думаю, проблем у меня не будет. Просто я пока не успел разобраться с местным пантеоном…
Legat89
0
Хорошо, если честно, не многие жители сами понимают этот пантеон.
Dissi
0
Что со всем этим делать дальше — хз.

Вот весь смысл поста.
idem_id
0
Ждал этот комментарий именно от тебя.
andreymal
+5
А ты очень предсказуемый
idem_id
-3
Ты тоже.)
andreymal
+1
Неужели ты не понял зачем я написал тот коммент?
idem_id
-4
Я зато поняла, что ты единственный проминусовавший. Взял на себя обязанности забаненного Стардиска? Это хорошо, а то я по нему скучаю.
CrazyDitty
+3
шш, не отвлекай драку на себя
Hedgeg
+3
~The Battle Rages On!
Emerald_Phil
0
А вообще представляю так схватку айдема с андреймалом и дитти. Эпично.
Emerald_Phil
0
Есть одна мелочь, которую я замечал на сториезе: при скачивании фика в формате .fb2 вместо картинок там появлялись только ссылки на них. А это не очень удобно при чтении в зоне без итнернета.
Legat89
0
А tabun.andreymal.org мы скоро получим?
KaspianMonster
0
Открыть пробовал?)
andreymal
+9
А, это же этот, как его… архив, резерв… бля, слово из головы вылетело.
KaspianMonster
+1
Хаха, это победа!
Legat89
+1
Внизу первой страницы ленты добавлений (и до 17й) идут пустые рассказы на 0 слов. Похоже где-то что-то потерялось.
скрин
zluka
+1
Или наоборот, судя по отсутствию глав — моя качалка оказалось слишком умной и выкачала черновики.)) Правда, публиковать их она не должна была, убрал, позже перекачаю вместе с пользователями
andreymal
+1
И ещё у глав размер «0 слов» стоит везде.
zluka
+1
Это норма.))
andreymal
+2
Рекомендательную систему с персонализированными оценками пилить не собираешься случаем?
BackgroundPony
+2
Проблема в том, что я не умею :(
andreymal
0
В Интернете полно относительно готовых реализаций, так что при наличии некоторого времени запилить можно, думаю.
Wolfram
+1
В любом случае я не могу быть уверен, что запилил не хрень, в связи с очень маленьким числом пользователей, невозможностью проведения A/B тестирования и всего такого прочего. Или типа запилить хотя бы хрень, а там видно будет? stories.everypony.ru так уже делал с оценками, с довольно спорными последствиями.))
andreymal
0
Ну можно дать возможность выбора в профиле, какие результаты отображать: рекомендованные или по стандартной системе. Если многие будут пробовать «рекомендации», и потом возвращать назад, значит, хрень.

С другой стороны, маленькое число пользователей означает мало статистики. Довольно сложно посчитать какие-либо корреляции, если у каждой пары пользователей, кроме очень маленькой доли, будет 1-2 общих оценки, если вообще не 0. Так что если тебе не жалко будет потраченного на это времени в случае неудачи, которая вполне возможна, то попробовать стоит, но в принципе очень важным это не выглядит.
Wolfram
0
Просто имхо такая система сильно снижает стандартные для сториса срачи из-за оценок, и возможности накрутки оценки своего произведения. Плюс персонализированный каледоскопчик, подсказывающий в меру сил что можно почитать, достаточно интересная фича сама по себе.
BackgroundPony
0
То, что последствия спорные, спорное утверждение.
Legat89
0
Андрей, а у тебя статистика по оценкам есть? Особенно за тот перид, когда на сторизе были звёздочки.
Will_O_The_Wisp
0
У меня оценок вообще нет :(
Но были мысли запилить импорт, чтобы ориентироваться хоть на что-то, а не от балды по сути, как сейчас
(Здесь кто-то должен ответить, что я не могу пилить рейтинг, не владея данными, но я это уже на гитхабе читал, так что не надо)
andreymal
0
Лучше что-то, чем ничего.
Legat89
0
Вообще, после некоторых событий с твинководами, там действительно лучше ничего, чем что-то.
Derevo
0
Окей, я тебя понял. Давай я ещё раз попробую достать.
В принципе другую систему ты мог увидеть на гитхабе. Она основывается на опыте табуна и сториза. Подтвердить или опровергнуть числами я её не могу. Будем проверять импирикой.
Will_O_The_Wisp
0
Поиска в шапке всё ещё нет…
geolaz
0
Регистрозависимый логин.нагромождение ссылок в шапке при заходе с телефона, вместо нормального меню.
geolaz
0
Ага, я ещё думаю что с шапкой делать
andreymal
0
Вариант 1: замена надписей на пиктограммы.
Вариант 2: Вывод меню в виде выезжающего списка при заходе с телефона.

Но поиск обязательно должен быть в шапке
geolaz
0
#дайтеадминкуандреймалу
Emerald_Phil
+5
Не уверен, есть ли теперь в этом смысл, ибо на гитхабе с недавних пор тщательно имитируют бурную деятельность (правда, дальше этого дело у них пока не идёт),

Ну не знаю, мне на фимфикшене неудобно.
Emerald_Phil
0
При попытке добавить рассказ, вместо форматирования стена текста.
geolaz
0
И я хз как это чинить :( С б-гомерзким XSLT работать нереально
andreymal
0
И я хз как это чинить
Ты пошатнул основы моей веры. Я думал ты знаешь всё…
geolaz
+1
Ну не всё так безнадёжно — я всегда могу воткнуть костыль на CSS или переписать всё на каком-нибудь питоне вместо xml) Но это в первом приближении выглядит как-то несерьёзно
andreymal
+1
Ой, а я случайно взял и починил) Оказалась мелкая регрессия ещё после портирования на третий питон давным-давно
Но XSLT всё равно б-гомерзкий
andreymal
0
Ура?
Legat89
0
Ура будет, когда какие-нибудь дельные изменения будут а я хз за какие первым делом взяться
andreymal
0
Какая разница, за что браться, если всё равно надо всё делать?
Legat89
0
С компьютера в университетской сети попытался зайти на сайт по твоей ссылке (которая https), выдаёт такую ошибку:
Скрин
Тогда как при переходе по обычному адресу (http) всё в порядке.
Legat89
0
Без дополнительной инфы ничего не могу поделать
andreymal
0
Какая информация нужна? Я постараюсь её достать, но пока я не знаю, что даже искать.
Legat89
0
А вон по кнопочкам «Дополнительно» и «Данные сертификата»
andreymal
0
Так и думал. Попробую сейчас заскринить. Но не уверен, что будет то, что надо.
Legat89
0
Скрины


Legat89
0
Ой, только сейчас обратил внимание на Windows XP. Говорят, Let's Encrypt на ней и не должен работать
andreymal
0
Эм… Это означает что будет другой сертификат или?..
От меня ещё какая-нибудь информация требуется?
Legat89
0
… или ПРИШЛО ВРЕМЯ СТАВИТЬ ШИNDOWS 10
andreymal
+1
Окей, как только стану системным администратором в университете, так сразу.
Legat89
0
Становись быстрее — админов, которые до сих пор берегут XP, надо гнать)
andreymal
+1
Это замечательная идея, но вряд ли я тут кому нужен. Тут вообще всё через одно место сделано. Например тут все (вообще все) компьютеры со всех дисплейных классов одного из корпусов университета в одной сети (штук сто, наверно). Подсеть? Не, не слышал.
Legat89
0
И поставить Mint.
Nirton_the_brony
0
Университетские и офисные сети часто имеют фильтры, ограничивающие доступ к различным ресурсам. Возможно по этому.
KaspianMonster
0
Нет, я на этот ресурс могу зайти (с http), там ошибка с шифрованием или что-то типа того в https.
Legat89
0
Возможность зайти на один конкретный ресурс ещё не значит, что фильтра нет) Даже наоборот, ошибка сертификата — один из признак вмешательства всяких фильтров
andreymal
0
Ок. Может и так.
Legat89
0
Но на гитхаб код выкладывать стремновато теперь ._.


Ну блин.
OctetStream
0
Это было ещё в июле написано)
andreymal
0
Вот кстати наверно надобно главам даты создания вывести?
andreymal
0
И правда. Не обратил внимания.
Дату публикации главы на странице с главой? Ну не знаю, думаю что это ни к чему.

Таки на github репо есть? Я бы глянул.
OctetStream
0
andreymal
+2
<blockquoteПортировано с Django на Flask.>


То есть Джанго теперь свободен?
GaPAoT
+6
Премодерация осталась?
geolaz
0
Технически да
andreymal
0
Хм. Ну раз по факту модерации нет, может прикрутишь фильтр и автоаппрув сделаешь?
geolaz
0
Может
andreymal
0
Хы

andreymal
+2
Обещания… Они такие.
Надеюсь, вы это исправите?
Legat89
0
А нужно ли так заморачиваться с личными сообщениями?
Можно обойтись каким-нибудь легковесным сервисом, например.
OctetStream
0
НУЖНО
Тем более с моими новыми комментами это сделается за час-другой ^_^
andreymal
0
Будет такой же замечательный костыль, как у Табуняши, да? ^_^
OctetStream
0
У Табуняши все-все комменты в одной таблице, у меня комменты к разным сущностям в разных таблицах, должно быть норм ^_^
andreymal
0
У Табуняши все-все комменты в одной таблице


Табуняша настолько суров, что хранит сообщения и комментарии в одной таблице о_о

Я бы предложил поднять просто почтовый сервер и отправлять все сообщения через него.
Тоже костыль, но, по крайней мере, ничего хранить в базе не придётся.
OctetStream
0
Протерять историю сообщений как нефиг делать, и вообще прошлый век во всех смыслах)
andreymal
0
Ну так это уже проблемы пользователей. Оставляйте ветку до тех пор, пока она вам нужна, и никаких проблем.
Моё дело предложить. Полагаю, это уже тема для холиваров.
OctetStream
0
А всё-таки чего для полного счастья не хватает, кроме вышеупомянутого?
andreymal
0
Импортировать туда свои закладки. И когда в закладках рассказ переходит в статус «завершён» чтобы на мыло оповещалка приходила.
zluka
0
Неожиданно)
andreymal
0
Ну у меня например 10 страниц в закладках занято, это надо всё пролистать чтобы прочекать что дописали, а что нет. Даже думал скрипт написать под это дело, но потом как-то отвлёкся на другое.
zluka
0
Ну, можно сказать вообще сделать оповещалку (как в фикбуке), что в рассказе из избранного или закладок добавилась глава. Плюс, может, сделать список избранных авторов (и на их новые работы тоже привязать оповещалку).
Так же не знаю, есть ли на сториезе нормальная реализация для соавторства и бета-вычитки. Если нет, то это было бы нелишним.
Legat89
+2
В БД записи есть, в интерфейсе только соавторы и только смотреть ( stories.andreymal.org/story/1/ ) (а ещё серии рассказов только для просмотра, но в моей базе их ещё нет)

А что должно быть для беты? Просто доступ к рассказу или ещё какие-нибудь свои комменты или что-то ещё?
andreymal
0
Бета как минимум должен иметь право читать главы. А дальше автор может давать ему несколько уровней — читать и комментировать/читать и править. Соавтору же больше — читать и править/читать, править, добавлять главы/всё перечисленное + изменять название, жанры, персонажей, заметки к рассказу, описание, название, рейтинг, статус и т. д. Но для этого нужно иметь историю изменений, чтобы можно было откатить вандальные правки.
Legat89
0
ультра сложна
Но окей
andreymal
0
А ещё нужно дать автору возможность нормально скомпоновать все рассказы, связанные между собой. Первый, второй, третий, сайдфик ко второму, приквел к сайдфику и т. д. То есть, сделать нормальную систему для создания сборников, чтобы читателю не нужно было быть телепатом для понимания, в каком порядке всё это читать, а писателю — парится, объясняя это.
Legat89
0
И чтобы потом получилась вот такая схема
RIP автору этих книг в этом месяце прошлого года
Nirton_the_brony
+1
Да. Именно эту серию хотел привести в качестве примера!
Legat89
0
Теперь без картинки никакЭКСТРЕМАЛЬНО СЛОЖНА (Шрек)
andreymal
0
Ещё у меня возник вопрос: что с системой банов? Я, конечно, не разбирался подробно, но из своего опыта могу судить, что на нынешнем сториезе она просто отвратительная.
Legat89
0
andreymal
0
Хаха. Замечательно. А будет?
Legat89
0
Орхи сделал ещё в 2013-м, а до сториза не доехало до сих пор /)_(\
andreymal
0
А на вашем сториезе будет?
Legat89
0
Уже есть
andreymal
0
Отлично. Вопрос снят. Ну… то есть, до тех пор, когда я смогу её проверить.
Legat89
0
Вопросы по поиску:
1)Как я понимаю, сортировка «по релевантносни» ещё не реализована, вместо неё сортировка по дате?
2)Позиции, что предполагают выбор из многих вариантов почти бесполезны (жанры, персонажи, события), ибо, при выборе нескольких позиций, ищут рассказы, подходящие хоть под один из них (логика ИЛИ), а поиск фанфиков, содержащих обе категории (логика И) или же не содержащие какой-либо пункт (логика И НЕ) невозможен в принципе. Получается очень ущербная логика поиска.
Более-менее нормальная логика поиска есть на фикбуке (там используется логика И и логика И НЕ, логика ИЛИ отсутствует). Я понимаю, что для реализации чего-то подобного нужно кардинально изменить интерфейс этих пунктов поиска, но нынешняя система чрезвычайно идиотская.
Поля происхождение, статус рассказа, активность, рейтинг, размер рассказа реализованы нормально.
Legat89
0
Всё-таки нет. По логике, в полях происхождение, статус рассказа, активность, рейтинг все пункты должны быть по умолчанию «вдавленными», то есть выбранными и не должно быть возможности не выбрать ни одного. Сейчас же по умолчанию не выбран ни один и такой вариант считается, как если бы были выбраны все.
В общем, поиск — геморрой.
Legat89
0
считается, как если бы были выбраны все
И это правильно, всё норм
andreymal
0
Ну ладно, это — мелочь.
Legat89
0
Ну и ещё, возможно, стоит подумать над добавлением новых персонажей (Старлайт Глиммер, Тирек, пятый аликорн и прочие) в соответствующий фильтр. Но для этого нужно делать отдельный пост, чтобы решить, кого надо добавлять, а кого нет.
Legat89
0
1) Релевантность почему-то есть только для вбитого в поиск текстового запроса
2) Вообще я ожидал, что число совпадений будет влиять на вышеупомянутую релевантность, а оказался облом. Прошло время выкуривать документацию Sphinx только бы не пришлось на солр/еластик переезжать...
А на фикбуке поиск просто по-уродски выглядит, так делать тоже не стоит)
andreymal
0
Ну, я думаю, что поиск без выбора И(И/И НЕ) — это странно.
Legat89
0
А поиски с выбором зачастую выглядят по-уродски.) Думаю над интерфейсом
andreymal
0
Я считаю, что информативность поиска важнее его красоты. Хотя лучше и то и то.
Legat89
0
Может что-нибудь типа такого: (один клик — зелёная рамочка (и этот персонаж), два клика — красная рамочка (без этого персонажа), три клика — вернулись к исходному, без рамочки (плевать на его наличие)?
Legat89
0
Что-нибудь типа такого, но более понятно
andreymal
0
Хотя может и так сойдёт
andreymal
0
Отпишитесь здесь, когда сделаете. Потестим-с.
Legat89
0
Ага, но по крайней мере не в ближайшее время, это опять ультра сложна)
andreymal
0
Строка ввода, принимающая язык поисковых запросов.
Nirton_the_brony
+1
Странно, что за все сторизосрачи, что мне доводилось читать, об этом написали только сейчас

Это я тоже ещё не умею.) Стоп, исходников дерпибуры в открытом доступе нету, что ли?
andreymal
0
Ну, на сайте вроде указан некий booru-on-rails, но гугление ничего не даёт.
OctetStream
0
Вот я тоже всегда думал, что как понадобится — загуглю, но обломался(
andreymal
0
Ну можно попробовать поискать исходники других проектов подобного типа. Или не вариант?
OctetStream
0
Да и вообще поискать любую другую реализацию какого-нибудь языка запросов) Только я про них совсем ничего не знаю и надо или гуглить много, или матчасти читать много, а мне пока лень
andreymal
0
Ну такой информации навалом, наверняка.
А вообще, было бы интересно посмотреть на движок дерпибуры. Бвло бы, но я не знаю слов Ruby и тем более RoR :D
OctetStream
0
О, дерпибуру таки опенсорснули, правда уже не на RoR, а на Elixir github.com/derpibooru/philomena
andreymal (ред.)
0
Почему я впервые слышу про такой ЯП?
Sasha-Flyer
0
Потому-что твои знания в кодинге стремятся к минус бесконечности справа.
KerHarrad
-2
Давно уже. И RoR приложение, по-моему, тоже обещали оупенсрснуть.
OctetStream (ред.)
0
Я писал, но не на всеобщее обозрение.
Nirton_the_brony
0
Кстати, с тегами в смайлопаке та же хрень
andreymal
0
Загрузил новых и обновил старых юзеров, теперь авторизация вроде должна работать для всех

И попутно сборники выкачал stories.andreymal.org/accounts/8/
andreymal
0

Как так получилось, что картинки есть, а кнопок на сайте нет?
andreymal
0
andreymal
0
Чёрт, только на это хотел указать…
Тупость однако.
Legat89
0
А всё потому, что картинки намертво вшиты в репозиторий, а не заливаются динамически через какую-нибудь админку.

Что ещё хуже — одни и те же картинки в репозитории и на сайте, сцуко, разные! (Веон постарался?) Мод Пай на ЕП сейчас такая , а в репозитории (и, как следствие, у меня) — такая  *facehoof*
Ещё несколько дней придётся всю эту хрень выгребать, прежде чем займусь предложениями из комментов(
andreymal
0
Хех, и тут я опоздал. Могу сказать одно: костыльное программирование.
Legat89
0
Вот ещё:
Legat89
0
Ограничение на 1000 слов при поиске будет снято?
Пример
Legat89
0
А зачем?
andreymal
0
Ну, мне оно кажется странным… Ну, нет так нет.
Legat89
0
Ещё мне думается, в профиле многовато свободного места:
Спойлер
В том числе и из-за этого:
Спойлер
Это при разрешении 1366:768.
Legat89
0
Хотя на оригинальном сториезе ничуть не лучше.
Legat89
0
Ух ты, а он, оказывается растягивается! Не знал… Хотя каждый раз заново растягивать — это как-то глупо. Может при сохранении личных настроек сохранять и ширину этого «текстового ящика»?
А ещё его (как и почти все подобные окна) можно растянуть за границы страницы, мне это кажется странным:
Спойлер
Legat89
0
Это фича браузера
andreymal
0
А по-моему, баг. Впрочем, раз это проблема браузера, вопрос снят.
Legat89
0
Спойлер
При наведении курсора на вышеуказанное заспойлерованное окошечко и быстром убирании курсора обратно перелистывается на следующий рассказ (поводите туда-сюда-туда-сюда… даа...). Это баг или фича? И ещё подсказки «Next» и «Previous» кажутся странными на полностью русскоязычном сайте.
Legat89
0
Хы, забавный эффект
Это всё тоже перепишется
andreymal
0
Я получил уведомление об ошибке в рассказе 10000003, ща починю
andreymal
0
Всё по плану.
Legat89
0
Успешно добился ошибки, попытавшись создать рассказ с названием " " (один пробел) и идентичным описанием.
Спойлер
Нужно проверить разные варианты названий и описаний рассказа на всякие противные исключения.
Legat89
0
Комбо
andreymal
0
Это да. У меня медленно грузятся картинки на сервер.
Legat89
0
Починил
andreymal
0
Всё, я больше ничего не могу сломать…
Legat89
0
И теперь я не могу зайти в кабинет автора.
Legat89
0
Я вот теперь думаю: оригинальный ли это баг сториеза или появился при портировании?
Но что-то подсказывает мне, что проверять на практике это не стоит…
Legat89
0
При портировании хотя наличие в оригинале я тоже не проверял
andreymal
0
Ага! Добавил в избранное неопубликованный рассказ, разлогинился, вошёл в собственное избранное (незарегистрированый) и вижу там свой рассказ. Который не опубликован. В сам рассказ войти не могу, но всё же вижу его «шапку». Так-то!
Спойлер
Legat89
0
Прикрыл
andreymal
0
Теперь ещё один вопрос: при входе и выходе всегда сбрасывает на главную страницу, это обязательно?
Legat89
0
Нет, но переделывать лень
andreymal
0
Эх… Ладно, больше ничего придумать не могу. Думаю, пока что-то глобальное не изменишь, я больше ничего не найду.
Legat89
0
Увидел баг на оригинальном сториезе, решил проверить его здесь. Вот результат:
Спойлер
После устранения ошибки комментарий лучше удалить.
Legat89
0
Ну эт не баг даже, так разметку поправить. Например:
.comment-text{word-wrap: break-word;}
zluka
0
На body повесить тогда уж, чтоб все такие места не ловить
andreymal
0
(а вообще всегда удивляло, какого фига это не по дефолту)
andreymal
0
Мне тоже это кажется странным.
Legat89
0
Провёл депонификацию движка. Теперь в одном репозитории находится сам движок без каких-либо упоминаний о ЕП, понях и прочем, а всё понячье — в другом:
github.com/andreymal/mini_fiction
github.com/andreymal/stories.andreymal.org (да-да, там Vagga. Но она опциональная и нет, это не в связи с первым апреля)

В процессе пришлось прикрутить много всякого, среди которых то, что вроде как и нафиг не нужно (вон выше по комментам проблем поважнее хватает), но нужно для вменяемости архитектуры, гибкости и упрощения поддержки, так что пришлось пилить.

— Выкинуты из репозитория картинки персонажей, теперь создаются чеез админку. Мод Пай пофиксил, а старательно нарисованного Флэма протерял армейским способом, загрустил и фиксить второй раз не захотел :(

— Контактов одного типа теперь можно добавлять несколько. А ещё легко создавать новые типы контактов.

— Нормальная загрузка аватарки вместо костыля с Табуном.

— Почта выкинута в отдельный процесс и не будет тормозить юзеров, так что теперь можно спокойно пилить уведомления, о которых выше просили.

— То, на что я когда-то ругался в смайлопаке, здесь реализуется без проблем: поправкой пары конфигов и созданием своего base.html можно запилить свой крутой дизайн вместо дизайна ЕП (который тоже частично выпилен вместе с понями в другой репозиторий).

— Куча оптимизаций и багфиксов, в том числе фиксы поиска (которые в ponyFiction не бэкпортировал, мухаха).

— Накатан каркас для тестов и аж ЦЕЛЫХ ПЯТЬ!!! штук самих тестов, которые при любом изменении запускаются в Travis CI, и теперь, если я вдруг что-то сломаю, меня незамедлительно обматерят. Когда будет хотя бы 60-70% покрытие, лол. На смайлопаке, кстати, тоже.

— Зарелизено на PyPI: pypi.python.org/pypi/mini_fiction
andreymal
0
Блин, как кто-то с такой говновёрсткой вообще мог работать?
andreymal
0
Кароч вот зацените новую панельку stories.andreymal.org
Спойлер



Я однажды психану и переверстаю всё с нуля, ибо с этой смесью из бутстрапа и костылей вокруг бутстрапа работать очень тяжело
andreymal
0
Вывод аватара как-то не очень аккуратно выглядит.
OctetStream
0
А, впрочем, пофигу.
OctetStream
0
У меня тоже какое-то такое чувство, но формально он идеален (кроме какого-то хромобага с белой полоской на мобилке) и я хз че делать
andreymal
0
Там всё настолько плохо?
OctetStream
0
О чём конкретно ты сейчас? По крайней мере аватарка выводится так как я задумывал
andreymal
0
Вообще про всё, что касается вёрстки (и вёрстки этого меню в частности). Ты тут выше, вроде бы, ругался на эту тему.
OctetStream
0
Ну, не знаю, насколько плохо, но плохо (и вёрстка ещё неадаптивная оказалась, для мобилок тоже костыли вместо нормальной адаптивности)
andreymal
0
Ну ты можешь попробовать stylus + geet + rupture для вёрстки. Тогда можно будет потихоньку и от twbs отказаться.
Geet уже сразу адаптивная.
OctetStream
0
Если ты, конечно, будешь вообще что-то основательно переделывать в плане вёрстки :D
OctetStream
0
Нафиг это всё, у меня достаточно IQ чтоб адаптивщину на обычном CSS писать
andreymal
0
А твой IQ экономить время тебе не позволяет?
OctetStream
0
Чтобы потом угробить кучу времени на обход багофич используемых инструментов? Спасибо, не надо, вебпака с бутстрапом мне хватило уже
andreymal
0
Geet — это просто сетка, которая транслируется компилятором Stylus в нативный CSS. При этом ты пишешь меньше кода.

Webpack не оч.
OctetStream
0
Сетка пишется за 10 минут один раз в начале разработки.
andreymal
0
Моё дело предложить.
OctetStream
0
Может вот так А то белые края аватары сливаются с белым фоном ниже.
zluka
0
Вот именно этого я избегал)
andreymal
0
Смотри. У тебя внутри тёмной полоски все элементы имеют зазоры сверху и снизу и только аватара на 100% высоты, она как бы выбивается из общего строя.
zluka
0
F5
andreymal
0
Угу, так лучше (лично мне) щас вылезет кто-нибудь с другими вкусами и потребует переделать всё взад.
zluka
0
Ну разве что может стоит добавить обводку для аватарок.

Если получится авторизоваться, может конкретнее мысль выражу ._.
OctetStream
0
Я тут подумал и понял в чём проблема — просто дизайн разных элементов сделан в разном стиле. Например слева кнопочки имеют бордер-радиус, а справа строго квадратные, ниже кнопки с жанрами опять со скруглениями.
Вот я тут наверсталНе настаиваю на своём варианте, просто информация к размышлению.
zluka
+1
Уже размышлял.) Может, допилю когда-нибудь, но конкретно твой вариант как-то блёклый
andreymal
0
Ну мне лень прям до идеала доводить, главное идею передать.
zluka
0
Вот мне тоже было лень прям до идеала доводить :D
andreymal
+1
Да норм
Hedgeg
0
Во, вот так вот уже получше.
OctetStream
0
Ну ебана)
andreymal
0
Ну субъективно же :D
Всяко лучше, чем прилипающая к краям аватарка.
OctetStream
0
А в уведомлениях что должно быть?
zluka
0
Пока ничего
andreymal
0
А это… Пардон, я не читал ни комментарии выше, ни какие-либо сообщения в принципе, но…
Когда скачиваю фанфики в .fb2 в конце каждого абзаца стоит вопросительный знак. Причем, и на табунском, и на Вашем, Андреевском. Это баг или фича? И нужно ли оформить в виде нормального багрепорта или этот комментария достаточно?
Jinx
0
Скорее всего твоя читалка неадекватно реагирует на символ возврата каретки, который стоит в конце каждой строки
andreymal
0
А, ну эта скотина может, да.
Спасибо.
Jinx
0
Вообще теоретически этот символ можно убрать, но в читалках и fb2 я ещё не разбираюсь и не знаю как другие отреагируют
andreymal
0
У тебя, я так понял, учётки там с EP?
OctetStream
0
Тип того
andreymal
0
В каком смысле?
Как скоро движок получает профайлы из EP?

Ибо я, видать, не понял чего-то х)
OctetStream
0
Я скачал всех юзернеймов по ссылкам вида stories.everypony.ru/accounts/123456789 и собсна всё
andreymal
0
Новые аккаунты проходят?
Ибо я авторизоваться не могу.
OctetStream
0
Нет, мне надо перекачать)
andreymal
0
Ну это всё меняет.
OctetStream
0
Перекачал
andreymal
0
Все попытки зайти на сайт с помощью б-гомерского IE (11.0.9600.18124) провалены. Вылезает ошибка «405 — Method Not Allowed». Не то чтобы я им пользуюсь, но всё же решил проверить.
Поле «Пару слов о себе» в настройках профиля для нормальных экранов стоит по умолчанию растянуть пошире.
При наведении мышки на кнопки «уведомления» и «добавить рассказ» на них появляется «затенение», на кнопках «та библиотека» и «табун» — еле-еле заметно подсвечивается текст, а на кнопках «справка», «поиск» ,«главная» и «правила» ничего не происходит, почему?
Legat89
0
Первое — https://stories.andreymal.org/story/10000000/comments/page/1/#17
Второе — потом
Третье — см. комменты выше
andreymal
0
andreymal
0
При переходе на страницу авторизации появляется вот это:
Спойлер
А при собственно попытке входа вот это:
Спойлер
Понятия не имею, почему, просто констатирую факт. Может, это исключительно моя проблема…
Legat89
0
А вот на https и правда проблема такая
andreymal
0
Точно, на http без проблем зашёл. Только https глючит.
Legat89
0
Это крайне странно, но в данном случае повёл себя правильно именно IE и остальные браузеры говно) Там в одном месте возвращается http-ссылка из-за кривой настройки прокси мной
andreymal
0
Просто нормальные браузеры всегда пытаются превозмогать и вывести страницу любой ценой, даже если она криво написана. и таким образом потворствуют говнокодерам.
zluka
0
Поэтому я всю сознательную жизнь ненавижу, как ты выразился, «нормальные браузеры» и люблю xhtml :D
andreymal
0
Разве w3c от него не отказали в итоге в пользу html? Что-то такое читал, вроде бы...
OctetStream
0
*не отказались #орхиверниредактирование
OctetStream
0
Фиг их знает, но в гугле даже упоминания XHTML5 есть откуда-то
andreymal
0
Сейчас на вики глянул, написано что выпуск новых спецификаций по нему прекращён.
Насколько помню из той статьи, речь шла о строгости стандарта, и о том как его за это не взлюбили :D
w3c раньше его довольно активно продвигали.
OctetStream
0
А я вот наоборот взлюбил, даже угрожал принудительной XHTML-терапией пару раз говнокодерам))
andreymal
0
Некоторые сервисы принуждают писать не валидный код, а валидатор потом ругается на страницу. Обида ._.
Хороший пример — иконки для современных браузеров:
<link rel="mask-icon" href="/img/icns/safari-pinned-tab.svg" color="#653089">

Валидатор очень сильно ругается на такой код.
OctetStream
0
*конкретнее, на параметр color.
OctetStream
0
Такой вопрос: сообщения об ошибках изменяемы или нет? Если да, то стоит поправить на них ошибки (например, «403 — доступ запрещён Возможно, вы пытаетесь влезть в файл на сервере, в который лазать нельзя. От того и не получается.» Словосочетание «от того» нужно заменить словом «оттого»). Я понимаю, что подобные ошибки в сообщениях об ошибках (дурацкий каламбур) на everypony.ru — это практически традиция, но, мне кажется, от неё стоит всё же избавиться,
Legat89
0
Когда я в сие вчитывался, внутренний зануда начал утверждать, что «От (чего?) того(, что вы пытаетесь влезть, ) и не получается» и типа может всё норм, я запутался и оставил как есть %)
andreymal
0
«Оттого» = «потому», «от того» же требует главного слова. Вот правило проверки:
СпойлерЕ
сли в выражении «от того» можно заменить «того» на «этого» или же добавить после него слово «самого» (то есть, получится «того самого») без потери смысла, то писать в данном случае нужно раздельно.
Если «оттого» можно заменить на «потому что» или «по причине», то в этом случае нужно писать слитно.
Legat89
0
#ОрхиНеУстанемМыКТебеВзывать
Legat89
0
«От этого (запрета влезания) и не получается»
andreymal
0
Нельзя так заменить.
Legat89
0
«Возможно, вы пытаетесь влезть в файл на сервере, в который лазать нельзя. От этого и не получается.» Хз, у меня заменяется
andreymal
0
Ну неправильно же получается. Неправильное по построению предложение.
Legat89
0
Хз, в гугле навалом примеров, где «от этого» выступает в таком же смысле
andreymal
0
Legat89
0
Определяемого (главного) слова нет.
Legat89
0
Кто/что? — Это. От кого/от чего? От этого. Всё норм
andreymal
0
Это наречие, а не местоимение с предлогом.
Legat89
0
А я, например, утверждаю, что это местоимение с предлогом)
andreymal
0
Тогда на что указывает местоимение?
Legat89
0
Вот я могу сказать, что это наречие причины, оно указывает на причину того, почему нельзя «залезать».
Legat89
0
А я вот могу сказать, что это местоимение с предлогом в качестве дополнения)
andreymal
0
Я говорю не про то, каким членом предложения оно является, а про то, к какому из типов местоимений оно относится. Очевидно, что к указательным. А указательные они на то и указательные, что на что-то указывают. Здесь же нет указания.
Legat89
0
Оно не обязано никуда указывать. google://«от этого не легче»
andreymal
0
Нет, обязано.
Legat89
0
Когда оно в роли подлежащего или дополнения — не обязано. Оно не всегда играет роль определения.
andreymal
0
Какое из четырёх значений принимает слово «тот»?
Никакое.
А вот слово «оттого» применено в 1 значении — значении наречия.
Legat89
0
Какое из четырёх значений принимает слово «тот»?
Третье. И пример там даже подходящий. «То получение доступа к файлу, к к которому лазать нельзя. То самое. Именно то. Именно от того и не получается.»
andreymal
0
Окей, если вы действительно так думаете, то переубедить вас я не в силах.
Ладно, мне уже наплевать на логику и здравый смысл правила русского языка. Может с этим кто другой справится…
Legat89
0
Определяемое слово — это то слово в предложении, которое определяют. Где вы в предложении «От того и не получается» увидели слово «это»?
Legat89
0
По правилу же предложено было заменить выше, лол. Впрочем, это тоже ничего не меняет: «(кто/что?) то» — тоже вполне самостоятельное указательное местоимение
andreymal
0
Играющее роль дополнения, да.
andreymal
0
Видимо, это правило работает не для всех, если вы не чувствуете, что получившееся предложение неправильно.
Legat89
0
Вспомнил ещё кое-что: неплохо бы дать возможность автору разделить свой фанфик на несколько частей (со своим названием каждая), в каждой из которых будет по нескольку глав. В некоторых случаях это весьма полезно. У меня было ещё какое-то предложение, но я его забыл. Вспомню — отпишусь.
Legat89
0
Это называется сборник, не?
andreymal
0
Это близко, но не совсем то. В сборнике каждый рассказ — самостоятельное произведение. Я же говорю об отдельных частях одного произведения. В качестве примера посмотрите на структуру этого или этого фанфиков. А вот примеры, где нужны именно соборники: раз, два, три… вторых намного больше, но и такие, которым требуется именно разделение на части тоже есть.
Legat89
0
Нухз, с технической точки зрения просто один из типов сборника, не?
andreymal
0
не?

тип того
idem_id
0
Нуок
andreymal
0
С технической — не знаю. Но, думаю, что это скорее дополнительная сущность в строении рассказа. Так как это всё равно должен быть один рассказ, со своим уникальным номером. В каждом рассказе есть одна или несколько частей (если одна — не показывается или, по желанию автора — показывается или нет (по умолчанию — нет)), и в каждой из них есть по нескольку глав, идущих подряд. И в таком случае на странице рассказа появляется иерархия:
СпойлерЧасть 1
-----Глава 1
-----Глава 2
-----Глава 3
Часть 2
-----Глава 4
-----Глава 5

И при этом есть смысл дать возможность скрывать/показывать содержимое каждой части по нажатии на неё. Но это уже свистелки-перделки.
Legat89
0
Ага, я уже даже случайно вспомнил, как это в бумажных книжках выглядело.))
andreymal
0
Если бы не вспомнили, я бы напомнил. Это действительно нелишняя деталь. Правда новичков может сильно запутать. Надо бы сделать защиту от дурака, чтобы не создавали кучу частей с одной главой в каждой.
Legat89
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.