About Blog Dev | Alfa Romeo SZ Conkeror wishlist

OpenID refactoring

Хорошие новости - я порядочно переделал механизм работы с опенидом в блоге. Правда, сами внутренности openidconsumer почти не подверглись издевательствам, изменения прошли в основном в коде работы с пользователем. Но зато для пользователей поменялось всё порядочно.

Во-первых, теперь после попытки логина с неизвестным блогу OpenID’ом теперь не покажет две непонятные формы “введите логин/пароль”, а молча залогинит - создав по пути нового пользователя. Правда, может выкинуть на старую страничку - если вдруг система sreg отдаст email, уже существующий в базе (если она не отдаст email, то всё пойдёт по первому сценарию без привлечения пользователя к процессу).

Во-вторых, теперь в профиле есть ссылочка на список ассоциированных с пользователем OpenID’ов, где их можно удалять и добавлять новые.

Так что жизнь становится легче и удобнее с каждым часом. :D Велкам! ;-)

Add post to: Delicious Reddit Slashdot Digg Technorati Google
Comment

Comments

ИгорёкК 22.12.2007 17:45

Отлично :) Что дальше на очереди?

reply
Александр Соловьёв 22.12.2007 22:24

Перевели, кстати, ещё. Что дальше - хз, посмотреть надо…

reply
ИгорёкК 23.12.2007 8:45

Нормальные формочки для написания поста я скоро покажу :) Кстати, удаление поста через админку не приводит к удалению комментов. Это не есть хорошо :) Потому что новый пост получает старые комменты.

reply
Александр Соловьёв 23.12.2007 16:12

Кстати говоря да… Но удалять посты… Может сделать лучше механизм спрятывания?

reply
ИгорёкК 24.12.2007 10:18

Можно и прятать, конечно. Но зачем базе давать разбухать?

reply
Александр Соловьёв 24.12.2007 12:02

Ну, посты на самом деле не так часто удаляются, как мне кажется. :-)

reply
ИгорёкК 25.12.2007 10:23

Ну это у тебя :) Вроде бы блог не только для тебя делается.

reply
Александр Соловьёв 25.12.2007 12:51

Ну я и не про себя говорил. ;-)

Ну да в принципе добавление обратной ссылки на комментарии должно решить проблему. :-)

Хмм… Она уже стоит. Должно, по идее, удаляться автоматом. Может это раньше не удалялось?

reply
Fractal 23.12.2007 2:24

tezd!

reply
Tony 23.12.2007 16:58

А почему бы вообще не отказаться от email’ов и авторизации по ним? думаю одного OpenID чисто технически для авторизации достаточно.

reply
Александр Соловьёв 23.12.2007 18:06

Здравый консерватизм никогда не бывает лишним. :-)

На самом деле, не хочу заставлять людей думать об OpenID, если им не хочется этого делать. Плюс я не вижу пока в самом протоколе какой-либо защиты от спама - а ведь легко можно сделать себе самому какой угодно OpenID-сервер, и спамить сколько душе угодно… Так что стрёмно немного.

reply
Tony 25.12.2007 10:13

Думаю что если дойдет дело до спама, то с тем же успехом можно будет и придумывать пароли для “левых” пользователей и также с email’ами…. ИМХО это дело должно быть опционально :)

reply
Александр Соловьёв 25.12.2007 12:50

Да нет же, в том-то и дело. Подтвердить по email’у - намного сложнее, чем залогиниться через разрешающий всё OpenID-сервер. Это требует и больше времени, и больше усилий - спамерам это совсем не с руки.

reply
Tony 31.12.2007 11:34

Опятьже должно быть опционально. у меня скажем вобще на сервере обрублена почта, в итоге пользователь не может зарегистрироваться по OpenID…

reply
Александр Соловьёв 31.12.2007 16:23

у меня скажем вобще на сервере обрублена почта

А как это? o_O

в итоге пользователь не может зарегистрироваться по OpenID…

Э? Не уловил связи…

reply
ИгорёкК 24.12.2007 10:21

Даже не все IT-шники знают про OpedID. Так что еще не время.

reply
Александр Локшин 26.12.2007 22:31

Ой, вот лучше не надо… Например, у bolk в блоге только изза этого не оставляю комментариев.

reply
Александр Локшин 25.12.2007 15:11

Добрый день!

Решил использовать (и слегка доработать под себя) byteflow, но почему-то он отказывается работать, выдает:

Error while importing URLconf ‘openidconsumer.urls’: no module named elementtree.ElementTree

Все (кроме openid, естественно) начинает работать если закоментировать соответствующую строчку в главном urls.py.

Что бы это могло быть? На всякий случай, у меня python 2.5.1 на FreeBSD, версия джанго актуальная из транка.

reply
Александр Соловьёв 25.12.2007 18:25

Решил использовать (и слегка доработать под себя) byteflow

Хехе, а что не устраивает? :-)

Что бы это могло быть?

Хмм… Похоже на старую версию опенид - 1.2.0, а блог сейчас работает с новой - 2.0.0. Были мысли добавить поддержку старой версии, потому как в портах FreeBSD только она и есть, но пока не хватает времени разобраться с этим делом.

Плюс конкретно этот баг - это глюк самого openid, который “не умеет” питон 2.5. Это такой фирменный глючок-с, его приходилось руками править. :(

reply
Александр Локшин 26.12.2007 18:43

Хехе, а что не устраивает? :-)

  • Byteflaw - это отдельный продукт, а не pluggable django application, в итоге если хочется чего-то еще нужно либо это вливать в Byteflaw, либо переделывать Byteflaw под себя.
  • У меня помимо блога есть еще “статьи” работающие по немного другим принципам. При том есть даже общий RSS-фид для статей и заметок блога.
  • Использую для простых страниц (и статей) управляемые через админку текстовые блоки, потому у меня вместо FlatPages стоит нечто функциональнее.
  • Использую автогенерацию sitemap.xml по контенту
  • Для себя делал больше флагов управления видимостью заметок блога. Например, мне часто бывает нужно сделать запись доступной по определенному адресу, но в основной ленте и RSS она при этом попасть не должна. Это важно чтобы дать кому-то отрецензировать заметку, а лишь после этого ее публиковать для широкой общественности.
  • Мне не нравится как реализованы теги в byteflaw — нужно использовать тега на английском. Для себя эту проблему решил просто через slug (то есть тег у меня называется “Разработка” но для ссылок используется слово “dev”).

Наверняка есть еще что-то, может просто забыл…

Вообще, если это может понадобиться не только мне — с радостью бы помог в разработке и рекламе.

Были мысли добавить поддержку старой версии, потому как в портах FreeBSD только она и есть, но пока не хватает времени разобраться с этим делом.

А ссылочек нету, где об этом почитать? Я б тогда сам разобрался (все-равно ж мне оно надо) и прислал патч :)

Плюс конкретно этот баг - это глюк самого openid, который “не умеет” питон 2.5. Это такой фирменный глючок-с, его приходилось руками править. :(

Ой, а вот это уже очень неприятно :( Не знал…

reply
Александр Соловьёв 27.12.2007 11:14

byteflow, плз. Сча дочитаю и напишу мысли. :-)

reply
Александр Соловьёв 27.12.2007 11:27

это отдельный продукт, а не pluggable django application,

Очень сложно сделать просто аппликейшен из блога, более-менее не обделённого фичами.

У меня помимо блога есть еще “статьи” работающие по немного другим принципам

Я пользуюсь flatpages. Но я подумывал сделать возможность показывать посты отдельными страничками.

потому у меня вместо FlatPages стоит нечто функциональнее.

Если оно лучше - почему бы и не использовать? Каждый делает то, что видит хоть как-то необходимым. Я делал то, что необходимо для меня было…

Использую автогенерацию sitemap.xml по контенту

Ну тут никакой backward-несовместимости не наблюдается, добавить можно, конечно.

Это важно чтобы дать кому-то отрецензировать заметку

А я для этого просто их в будущее отправляю - их тогда видно по точному адресу, но не видно на основной странице и в RSS (появляются, когда время подходит).

Мне не нравится как реализованы теги в byteflaw — нужно использовать тега на английском.

А вот это сложный вопрос! Это вопрос многоязычности, мы хотим сделать - но пока не придумали, как будет правильнее.

Вообще, если это может понадобиться не только мне — с радостью бы помог в разработке и рекламе.

Ещё бы не только! You’re welcome! ;-)

А ссылочек нету, где об этом почитать?

Нету. :-( Я просто взял патч одного мужика, который пропатчил аппликейшен openidconsumer на предмет поддержки openid 2.0, применил его (руками в основном), и вот… Посмотреть можно разве что в чейнджлоге блога, что там к чему изменилось.

reply
Александр Локшин 4.01.2008 14:50

Как связаться то? Я в джаббере (google talk) добавил pythonua@conference.jabber.ru, но либо там никого нету, либо меня не авторизировали… Может icq/msn/skype или джаббер не-конференцию?

п.с. еще одна вещь что хотелось бы доработать, только что обратил внимание. Когда логинишься в систему — тебя перербрасывает на главную страницу, а хорошо было бы редиректить туда, откуда пришли (например, на этот пост)…

reply
Александр Соловьёв 4.01.2008 19:42

Конференцию надо не добавлять, а входить в неё. Не знаю, умеет ли Google Talk это? Мой JID - piranha AT eth0.net.ua, но я ближайшие дни очень пас, потому как делаю диплом. :-)

хорошо было бы редиректить туда, откуда пришли (например, на этот пост)…

Точно. Это фтык и легкоисправимая штука. Лишь бы диплом сдать. :-)

reply
Александр Локшин 4.01.2008 20:13

Хех, тогда желаю легкой и успешной сдачи диплома

reply
Александр Локшин 26.12.2007 18:50

Еще случайно несколько мелких недоработок.

  • Когда в профайле меняешь пароль — не выводится никакого сообщения мол “дружок, пароль изменен”.
  • Нету русского перевода самого интерфейса.
reply
lorien 26.12.2007 18:59

Т.е. как нету перевода? На днях же всё перевели.

reply
Александр Локшин 26.12.2007 21:45

Ой, прошу прощения, видимо не заметил… Я судил о переводах по двум вашим сайтам, а в них обоих вместо русского надписи вроде “reply”, “comment”, “submit” на английском.

reply
Александр Соловьёв 27.12.2007 11:13

А это настройки твоего браузера. :-)

reply
Александр Соловьёв 27.12.2007 11:20

Когда в профайле меняешь пароль — не выводится никакого сообщения мол “дружок, пароль изменен”.

Пишет “изменения сохранены”, а когда пытаешься поменять и он не меняется - выводит ошибку. Неужели этого мало?

reply
Александр Локшин 27.12.2007 13:17

Странно, у меня “изменения сохранены” не выводилось… в английской версии оно точно есть? :)

reply
Александр Соловьёв 27.12.2007 17:33

А! Пофиксил. :-) Это последствия апдейтов системы редиректов и показа мессаг. В общем, пофиксил.

reply
Александр Соловьёв 25.12.2007 22:44

Кстати, я совсем забыл!

Я ж сам протегал как pre-openid-2 последнюю ревизию, где используется ещё openid 1.2.x.

reply
Tony 28.12.2007 12:43

Error

The password file could not be updated. Trac requires read and write access to both the password file and its parent directory.

и на траке у меня не получилось зарегистрироваться =)))

reply
Александр Соловьёв 28.12.2007 14:44

А это последствия переезда трака. :-) fixed

reply
dik 7.01.2008 12:58

Очень интересный движок. Буду пробовать ставить.
Спасибо авторам :)

reply
Александр Соловьёв 8.01.2008 12:48

Отлично, отлично. :-) Разные мнения - это хорошо, будет видно куда идти. :-)

reply

Comment form for «OpenID refactoring»

Required. 30 chars of fewer.

Required.