Блокнот для брони

+193
в блоге /dev/tabun

Здравствуйте.

На ЕП запущен онлайн-блокнот, http://pad.everypony.ru
После месяцев обкатки он работает теперь в стабильном режиме, как один из проектов ЕП, и поддерживается не как эксперимент уже, но как часть портала.

Теперь брони смогут прямо на ЕП редактировать совместно документы, писать фанфики, переводить серии, просто писать для себя заметки — и попутно общаться во встроенном чате там же.

Старые блокноты не удаляются, то есть, не имеют «срока давности». Ссылки на старые блокноты вида projects.everypony.ru/pad/… продолжают работать перенаправлениями на новый адрес, данные в них сохранились.

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

Очередной велосипед. Как это нужно нам когда есть гугл-доксы
MacMillan
0
Которые не пашут в половине браузеров нормально
Irbis
+1
У кого руки кривые у того и не пашут. А у меня вот все замечательно
MacMillan
-2
УМВРщики идут лесом.
Irbis
+1
У нас же не просто замена Гугл.Документам, а ещё и с понями! Почувствуй разницу!
MashaEvent
0
С аккаунтами там как?
TotallyNotABrony
0
А вот и первая бага — я создал документ с именем «1», а он уже занят. Значит любой может случайным перебором попасть в чужой блокнот.
Irbis
0
Или это фича? 0_0
Irbis
+1
Бля, а там что, ссылки по именам даются?
TotallyNotABrony
0
О, нет. Фух.
TotallyNotABrony
0
Угу, просто _можно_ сделать по именам.
Irbis
0
Прикрутить бы еще возможность защиты от редактирования паролем.
Walkcow
0
Тогда это точно будет копией гдоксов
MacMillan
0
О, автоматическое форматирование, я прям соскучиться успел.
McWroom
0
Клево! Пишешь ты, такой, фанфик, выкладываешь в блокнот, и тут же набегает куча соавторов :)
Iridany
+5
Так на него должны же ссылку знать, не?
TotallyNotABrony
0
Ну может быть… А вдруг кто случайно набредет?
Iridany
0
А ты разве не говорил про после того, как в открытый доступ дашь ссылку?
TotallyNotABrony
+1
Смотря как ссылку задашь. Если тыкнуть просто на «Создать», то адресом падика будет десятизначное нечто из букв разного регистра и цифр. В такое будет довольно трудно «случайно» попасть, а если и вовсе поиграться с названием документа самостоятельно…
Tails_Doll
0
… и превращают безобидный флафф с Дерпи, в необузданную клопоту.
Razya
+6
Нормуль же. Все для народного творчества! Вот глядишь, поугарает кто-нибудь, а потом и сам начнет писать! Для «На задворках сториеза».
TotallyNotABrony
0
Блин, я теперь хочу узреть это воочию, хайвмайнд фанфик
Tails_Doll
+1
TotallyNotABrony
0
А в этом что-то есть.(image)
Razya
0
Пикчи не видно, да?
Razya
0
dev блог ведь
Tails_Doll
0
а что с дев-блогом не так?
sleeply4cat
0
Низя вставлять картинки в тех-блог. Изображения автоматом заменяются на (image). А если таки исхитриться и вставишь в этот блог изображение не через тег «img» (не буду говорить, как), то по ушкам получишь.
Tails_Doll
0
Маразм…
sleeply4cat
+2
Razya
+1
Там уже клопфики с крайнего р34 РПВП кидают/редактируют/обсуждают) И это только начало)
666lavr
0
И ты там?)
Tails_Doll
0
Ну, зашел в файл 1, ридонли сижу) Чую, этот блокнотик выльется в трэш, угар и содомию)
666lavr
+1
Этот блокнотик теперь на сторизе. #ЯЩЕТАЮ это показателем некомпетентности всей тамошней администрации.
sleeply4cat
0
Спасибо. Попробуем.
Gedzerath
0
Документ в общем доступе. Каждый в него может зайти и отредактировать. Лучше не придумаешь!
MaddyShy
0
Зависит от ссылки. Хочешь сделать его «в общем доступе» — делаешь
Tails_Doll
0
И небольшой скриптик тебе сольет все доки. Отлично.
Bread
0
Тащемта небольшой скриптик создаст тонну новых доков и захломит сервер до того, как дойдёт хоть до какого-то документа со ссылкой длиннее 8 символов
Tails_Doll
0
Нафиг создавать? Можно просто читать. Да пофиг вообще на это. Все ради лулзов, и блокнотик, видимо, тоже.
Bread
0
Не-а, в том и соль. Если в поиске наберёшь ещё не существующее название, то ты создашь падик с этим названием. Примешься перебирать скриптом — захломишь сервера
Tails_Doll
0
Для таких случаев и существуют GET запросы.
i.imgur.com/aEGGrbR.png
И ничего не создается.
Bread
0
Хитрый ты, HTTP знаешь. Но судя по всему пока что нет ограничений на длину ссылок вообще (как и текста в падах и ников юзеров там же), что прочтение тоже сделает проблемным. Если кто-то всё-таки будет делать огромные названия файлам. Если кто-то вообще будет использовать пад по назначению с учётом всего перечисленного и выявленного в этих постах…
Tails_Doll
0
Все ради лулзов
Bread
0
Ого, надеюсь в скором времени запилят аналог гуглдокам. Пофиг, на то, что они будут по функционалу один в один, главное, чтобы не было сраных «Посоветовать изменения», которые привязаны к комментированию документа и любой может ко всем чертям похерить оформление автора.
Dr_Paranoik
+1
У меня чё-то с хрома не открывается, пишет «Загрузка...» и всё.
Wolfram
0
Спойлер(image)
И вот такая фигня через некоторое время появляется.
С Осла всё работает нормально.
Wolfram
0
Dev блог же, без картинок, оставляй ссылки
Tails_Doll
0
Вместо того, чтобы прислушаться к голосам в комментариях и личном общении, вместо того, чтобы прислушаться к голосам почти трёх сотен респондентов в Опросе по Сторизу, вместо разрешения постить вопросы по Сторизу не в dev/ Stories с двадцатью подписчиками, а в dev/Tabun нам с барского плеча подарили… блокнотик?!
А, ну да. Сториз — не Табун. Только что Рэндом расписался в этом. И влился в серую липкую массу кудахчущих «Кококо! Сториз — не Табун».
Администрацию, разумеется, надо уважать. Она чистит программные ошибки, отбивает атаки кулхацкеров и донатит на содержание серверов столько, что вам и не снилось, мои дорогие брони. Но...
Короче, писатели не_нужны. Официально.
Есть пост о том, как стать пони-художником. Набрал 1000+, кто помнит, тот помнит. С тех пор у нас в Табуне — сотни «художников». А настоящих — как было пять-шесть, так и осталось.
Пилим пост «Как стать пони-писателем»? Только отказываемся от огромной взаимной лжи. От твинководства, срачей и взломов учёток.
И тогда рэндом, который живёт категориями даже не 2012ого, а 2011ого года, не будет считать Сториз одной огромной чОрной дырой.
И не будет высылать вас за сотый километр в блокнотик, которому даже плашку не прикрутили в верхней строке.
Доброй ночи, милые брони. Читайте новости в Блоге им. Олдбоя , Вспоминайте одиннадцатый год, вот сюда не ходите, там же злые модеры, азаза, без комментариев, играйте в Daggerfall.
Это не Daggerfall? Странно. А так похоже...
У меня всё.
Вот стоило несколько недель не появляться, а тут такое...
Citizen87
+9
Ну тащемта и действительно, одним сторизом ЕП не заканчивается. Так что бугурт какбэ не в тему. А с другой стороны, при обилии вашего нытья по этому самому Сторизу там тоже стоило бы поменять что-нибудь. Например, сделать из Сториза Табун. С кармой, немодерируемыми комментами и саморегуляцией. :D
Kelimbern
+1
Например, сделать из Сториза Табун. С кармой, немодерируемыми комментами и саморегуляцией. :D


Рандом и ПРодий сказали что «второй Табун нинужин», «Сториез для читателей, а не для писателей».
TotallyNotABrony
+1
Ага. Табун у нас уже есть. И он для всех.
Prodius
+1
Ну а сториез у нас не для юзеров, а для головопушек администрации, это и так понятно.
TotallyNotABrony
-1
Мы уже обсуждали.
Prodius
+1
И еще раз обсудим.
TotallyNotABrony
-1
Интересно, а что читатели будут читать на ресурсе для читателей, если самой причины появления читателя нет?

Ну, я бы случайно сгенерированную стену текста из блокнота взял.
LPD
0
А будут они читать мамкиных прихлебателей, которым сториез — всего лишь площадка для творчества, и ничего более. Которым вкинул — и все, дальше трава не расти.
TotallyNotABrony
0
Причина всегда будет )
Prodius
0
Хайвмайнд фики из Блокнота? Ну хз, я не мъсе.

Скатываемся в Фикбук, товарищи.
LPD
0
А при чём тут фики из блокнота? Блокнот вообще не имеет никакого отношения к сторизу, не смотря на вопли Ситизена.

А чем плох фикбук?
Prodius
0
А чем плох фикбук?


Тем, чем сториез не очень-то и богат.
TotallyNotABrony
0
Ну, Рандом не только за Сториз отвечает же, а на Табуне какбэ народу побольше сидит, ему соответственно и внимания больше, всё логично. Ну а со слов «После месяцев обкатки… » понятно, что этот проект был основан давно, и мб был бы введён раньше, если бы, к примеру, не навалившиеся проблемы со Стризом(но это лишь догадки). Честно, вот не вижу здесь и капли подтекста, типо «писатели не нужны» или «Сториз — дыра».
666lavr
+2
Блокноту года два уже))
Irbis
+3
О даже как! Гражданин, можешь не вскипать, оказывается это всё древний проект)
666lavr
+1
Причем сейчас его просто открыли для всех))
Irbis
0
Табуне какбэ народу побольше сидит, ему соответственно и внимания больше

Как давно на табуне правились косяки хотя бы вроде тех же бегущих поней?
Kaldr
0
Вот пару дней назад запилили какую-то валидацию на вставку картинок. Не уверен, как она работает и что вообще делает, но сам факт.
inglorius
0
«Мы вот сделали что-то, разницы нету, но мы же сделали, отвалите».
Так что ли? Напоминает:
«Винни, Винни, у тебя есть синяя краска?»
«Нет».
«Вот, держи. Я принес тебе синюю краску».
Kaldr
0
Синяя изолента лучше.
Farxial
+1
Тут дело в другом — допилили блокнот, ну окей. Однако на сторисе есть проблемы, которые решаются за 5 минут. Однако для этого нужен Рэндом, который больше выеживается, страдает невесть чем, переводит разговор в другое русло и в итоге проблема висит на обсуждении уже около недели.
Dr_Paranoik
+1
Но как нужен рандом, когда меня клятвенно убеждали, что рандом для сториса не нужен? Я ведь даже переспрашивал несколько раз.
Irbis
+2
есть проблемы, которые решаются за 5 минут

— …когда я слышу подобные слова, я непроизвольно тянусь за туго скрученной газеткой с чугуниевым ломом унутри.
Orhideous
+7
А правда что ураниевые ломы плавают в ртути?))
Irbis
0
— Ураниевых нет. Все пошли на топливо.
Orhideous
0
О, напомнил, что пора кормить медведя
Irbis
0
Ладно, ладно, загнул он немножко. 20 минут. Нет, ну правда, больше месяца пулл-реквест с починой поиска висит, на который я убил примерно столько времени =\
andreymal
0
— Хм, вот как. Ты Ренда в mlpfim@ тыкал?
смотрю код, фейсхуф: какую ъеччожу я тогда писал вместо кода…
Orhideous
+1
Меня к Веону направляли
andreymal
0
— Ну так тыкай его. Долго и нагло :3
Orhideous
0
После того, как он через неделю после отправки пулл-реквеста сделал чрезвычайно важное и бесспорно нужное всем обновление, слегка перекрасив какую-то заныканную кнопочку, я обиделся
andreymal
0
*Orhideous задумчиво промолчал и ушел по кофе.
Orhideous
+1
Ну да, ты накропал за 20 минут решение, не разбираясь в деталях работы Sphinx'а, которое всё равно не будет работать корректно, а будет ещё хуже. У меня не было сил и желания убеждать тебя, что так делать нельзя.
veon
0
УМВР, ЧЯДНТ?
andreymal
0
И вообще — для таких случаев есть кнопка «Отклонить»
andreymal
0
И независимо от того, объяснишь ты или нет, отклонишь ты или нет, ты своими действиями уже сделал плохо:
1) Себе, потому что я всем ною, какой ты плохой не хочешь чинить сториз
2) Пользователям сториза, потому что поиск сейчас не работает вообще, а ты кнопочки перекрашиваешь (а я после фикса оттестировал все возможные случаи и состояния и не представляю, что мог упустить)
andreymal
0
Го пилить свой сториез?
TotallyNotABrony
0
Их и без меня хватает, надо какой-то один допиливать
andreymal
0
Никто не собирается. На ЕПшном админы — «лишь бы не было срача», и поэтому пилим по своей головопушке, а не для народа, Алекс — уже смешно…
TotallyNotABrony
+2
Вот я хочу сперва от Веона попробовать добиться более-менее внятной реакции, ибо вроде бы он более-менее активен и разумен (по крайней мере был месяц назад). Тем более первый пулл-реквест он принял (правда, я там случайно наговнокодил и исправлял потом после его гневных комментов, но всё же хоть что-то)
andreymal
0
1) Себе, потому что я всем ною, какой ты плохой не хочешь чинить сториз

Пока ты не сказал, я вообще не знал, что кто-то где-то кмоу-то про меня что-то ноет.

Пользователям сториза, потому что поиск сейчас не работает вообще

«Не работает вообще» — это явная неправда. Давай конкретнее.

P.S. Ещё раз заглянув в код,

а я после фикса оттестировал все возможные случаи и состояния и не представляю, что мог упустить

Обясни, как будет работать такой сценарий:
1) пользователь 1 создаёт фик А
2) пользователь 2 создаёт фик Б
3) пользователь 2 публикует фик Б
4) запускается SPhinx и индексирует фик Б (но не А)
5) пользователь 1 публикует фик А

Что после этого будет с фиком А? Проиндексируется ли он?
veon
0
запускается SPhinx

Что сразу же подразумевает, что Sphinx из кода сайта не запускается. И действительно, я этого в коде нигде не нашёл ни тогда, ни сейчас. Из чего следует, что индексация фика А зависит только от того, запустишь ли лично ты (или cron) этот самый Sphinx, точно так же как он запускался в пункте 4. И при чём тут я и мой пулл-реквест, я совершенно не понимаю.

Я перетыкал публикацию сторизов туда-обратно, обратно-туда, одобрял-не одобрял, перезапускал индексацию — всё работало просто идеально.
andreymal
0
перезапускал индексацию

Какой командой?
veon
0
Каким-то indexer'ом, история уже давно стёрлась.
andreymal
0
Впрочем, я тут начинаю догадываться, чего ты хочешь. Ты имеешь в виду, что сфинкс запускает индексацию нерегулярно и некоторое время фик A будет недоступен в поиске, так? Если так и если бы ты потрудился это обхяснить комментом в пулл-реквесте, я бы это переделал, добавляя в поиск и черновики и хитрее их фильтруя уже коде приложения.
Но это неправильное решение. Не знаю, в курсе ты или нет, но у Sphinx есть такая вещь под названием real-time индексы, которые предназначены как раз для мгновенной переиндексации подобных вещей типа публикации фика, не запуская переиндексацию сайта целиком (которая из-за большого объёма данных может длиться долго). Если бы ты потрудился отметить этот момент в комменте под пулл-реквестов (в идеале — описав организацию работы сфинкса на сервере), я бы к этому времени, возможно, уже бы впилил их поддержку и поиск вообще был бы шустренькой конфеткой (если бы не столкнулся по пути с какими-нибудь сходу не очевидными проблемами, разумеется).
andreymal
0
Нет, тут дело было в другом. У Sphinx'а есть есть так называемые «range queries», которые используются, чтобы доставать из SQL-сервера данные небольшими порциями и не требовать много памяти. Но у меня сложилось впечатление, что они нужны ещё и для того, чтобы при повторных запусках индексировать только новые документы. Впечатление было ошибочным, там ничего такого не делается, при каждом запуске индексируется вся база. Вообще-то, это не очень здорово, и из-за этого индексацию глав прямо сейчас включать несколько боязно. Надо хотя бы проверить, не слишком ли долго это будет длиться =/

Ещё мимо меня совершенно прошёл тот факт, что главы не индексируются совсем. Я мог бы прочитать это в описании реквеста, но взгляд проскочил мимо.

В общем, это был суровый случай недопонимания :(

Не знаю, в курсе ты или нет, но у Sphinx есть такая вещь под названием real-time индексы

Да, я про это знаю. Вот именно это и стоило бы сделать. Это нормальное, правильное решение. Намного лучше, чем городить костыли из бесхозных полей в таблице.
veon
+1
В общем, если недопонимания больше нету, я могу попробовать допилить поиск дальше когда-нибудь?)
andreymal
0
Ну, RT-индексы были бы офигенны. Главное чтобы это было аккуратно. Но если пока обходиться без них, то можно попробовать подправить конфиги, раз уж оказалось, что индексы перестраиваются полностью. Решать эти проблемы дополнительным питоновским кодом всё-таки излишне.
veon
0
Решать эти проблемы дополнительным питоновским кодом всё-таки излишне.

У меня в том пулл-реквесте задача — починить поиск на сторизе, чтобы он работал хоть как-нибудь, кривенько, слоупочно, но работал, и пользователи более не ныли. Так-то, конечно, это не очень красиво, и вообще название поля draft не очень говорящее (и, предполагаю, в давние времена использовалось для других целей).

Один момент есть, в котором я не уверен. Сейчас поиск находится в views, но я считаю это неправильным и думаю, что нужно завести соответствующие методы для поиска в модели Story (как минимум ради нормального юнит-тестирования, например). Но я по неопытности не знаю, делается ли так в джанге? Я пытался нагуглить что-то внятное, но нагуглил лишь срачи, где бизнес-логику размещать.
andreymal
0
— Бизнес-логику размещать в logic.py
Или bl.bl_*, чтобы в будущем можно было без особого рефакторинга удобно прикрутить IoC (если уж настолько разрастется)
Orhideous
0
Так и подозревал, что что-то подобное надо. Есть где-нибудь матчасть почитать?
andreymal
0
— Погугли статьи по Domain Driven Design. Статьями и срачами полна сеть. На том же Хабре много раз обсуждали эту тему.
Orhideous
+1
Не позволяй людям морочить себя модными словами.
veon
0
Делать можно совершенно по-разному. Джанго это не методология, это фреймворк. Он не диктует, как ты должен разбивать свой проект на модули.

Но я бы не стал переносить это в модели. Поиск через Sphinx — это надстройка к моделями. Они от него не зависят. Кроме того, поиск можно реализовать разными способами, Sphinx не единственный.

Отделять поиск от view я бы тоже не стал. Весь смысл той функции в том, чтобы сформировать запрос по данным HTTP-запроса, прогнать его через Sphinx и сгенерировать страницу с результатами. Можно разделить это на две функции для удобства тестирования: одна составляет запрос и извлекает результаты в виде списка объектов, другая отрисовывает страницу. (В новых версиях Django появился класс TemplateResponse, который откладывает отрисовку страницы и даёт это разделение бесплатно). Если пытаться разделять и абстрагировать дальше, то в конце ты обнаружишь, что написал тонкую обёртку для SphinxApi, которая ничего в нём принципиально не меняет, а только видоизменяет интерфейс. Это не даст тебе никакой выгоды, так что лучше не увлекайся.
veon
0
Не надо абстрагировать дальше, функций find_in_description и find_in_chapters вполне хватит, вопрос в том, где их лучше помещать
andreymal
0
И да, ты тут пишешь что-то про индексацию публикующихся фиков, а тебя не смущает, что
почти аналогичная ситуация как раз сейчас и не работаетi.imgur.com/2iyfuTZ.png
i.imgur.com/KUZNjba.png

?

Ну и куда же без классики (которую я пулл-реквестом как раз и починил):i.imgur.com/6YhClZN.png
andreymal
0
Irbis
0
Кто-нибудь может объяснить, в чём глубокий смысл этой фичи?
Wolfram
0
F5
Ты тоже коммент отредактировал? Там вроде ссылка на пэд была и я сперва не понял)
andreymal
0
Угу, странно с этим редактированием
Irbis
0
А ещё в поиске сейчас выдаются неопубликованные рассказы
i.imgur.com/UBF54k5.png
i.imgur.com/1fCVSsy.png
Короче, прими пулл-реквест, хуже точно не станет)) А я тогда, может, следом прикрою дырку, через которую я название этого рассказа вообще нашёл
andreymal
0
Есть вещи, которые решаются впиской двух предложений, но нет, вместо этого нужно мутить через жоперноручную схему и игнорировать.
Dr_Paranoik
0
если не нравится Сториз, то можно создать свой сториз или найти аналог!

вон, Кипу не нравится Табун. он создал свой собственный и терь счастлив! :3
Mike_Siversky
+4
«Не Табун» у Андреймала, не?
lonestone
0
То ж зеркало.
inglorius
0
А у Кипа что? Взглянуть бы.
lonestone
0
А у Кипа труп. Месье некрофил?)
Irbis
0
Не замечал за собой ничего подобного. Слоупонь, это да.
lonestone
0
А, ну тогда для тебя не будет там ничего интересного)
Irbis
0
Жалко что ли?
lonestone
0
Ох какие у вас там со сториесом драмы.
Surprise
0
Как что-то новое. Там с самого начала одни драмы. Пейсатели-с
Irbis
+2
Так я ж не слежу, я ж фанфики не читаю, только пишу.
Surprise
+1
В такие моменты вспоминаешь, что Эврипони не ограничивается одним Табуном.
А потом снова забываешь! ) Тому что аналоги гуглодоки, фанффикшины, форумы аля ЕП.ком и олдобойская эквестрия дейли нинужны. хотя… может кому и пригодится.
Mike_Siversky
0
А я-то думал, что у нас с ЕП не так. Вот же — блокнота не было!
Blankhead
+1
он был, но ток для илиток!
Mike_Siversky
+1
Дизайн а-ля 2011 :.c
Ra1nbow_Death
0
Как будто бы что-то плохое…
Bread
0
Авторы: Tails Doll + 2 {[plural(num) one: безымянный автор, few: безымянных автора, many: безымянных авторов, other: безымянных авторов]}

Не доделали
andreymal
0
Я там единственный был с англоязычным ником. Думаю, дело кроется в этом
Tails_Doll
0
Блокнот? Не нужен.
1. Есть куда лучше «пады» такого же типа.
2. На этом нельзя создать командный пад. Не страничку, а именно кучку страничек.
3. Зная, как часто валится ЕП как-то не хочется ждать, пока встанет пад, чтобы нужную инфу из него взять.

НАФИГА?
Kaldr
0
Недостарались!
lonestone
+1
Зачем, если есть Gдокс?
_Arhelim_
-1
Именно этот не нужен.
Нормальные блокноты etherpad'a в полной его версии, а не этот жалкий огрызок в какой-то мере полезнее гуглдоков. Быстрее, например.
Kaldr
0
А зачем Google.Docs, если есть Word? =D
MashaEvent
-1
Ненужон!
VelvetRemedy2002
+1
Вау, блокнотец на Эврипони. Осталось только сделать аналог ЮТюба и я отсюда не вылезу никогда.

А если серьёзно, то Блокнот — интересный эксперимент. Пусть поживёи, может, и сгодится.
MashaEvent
+1
А также аналог Инстаграмма
Termator
0
Напомощь! Как скачать смайлопак? У меня вместо скачивания какой-то документ.
Gleb112
0
Arma
0
Чем вам не угодил старый добрый Microsoft Office Word?
Termator
0
Я с телефона
Gleb112
0
Люди! Как сменить логин
Gleb112
0
Лол.
Bread
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Скрыто Показать