0
Другие записи за это число:
2012/09/24 - распознавание речи Google
<< предыдущая заметкаследующая заметка >>
24 сентября 2012
ох, как обновлять движок...

Как мы помним, движок долгое время находится в состоянии, когда обновление работает плохо.
Ситуация следующая: такую вещь как /admin и /install.php мы забыли как страшный сон. /admin забыть следует вообще навсегда, а /install.php пока еще нужен разве что для первичной инсталляции, да и то уж не знаю, чего он там сейчас наинсталлирует...

Теперь всё обновление происходит через новый модуль /install (без .php!) и там кнопка INSTALL.

Здесь есть две тонкости: во-первых, он почему-то норовит вычеркнуть из config все переменные, которые по какой-то причине считает недокументированными. Не проблема пометить их мышкой (а лучше весь раздел config), но только он это не запомнит, и в следующий раз снова предложит стереть. Мелочь, но неприятно. В любом случае — всегда внимательно смотрите, что он вам предлагает стереть (красным цветом). Мало ли, какой там юзерпик или что-то такое важное. Смело вычеркивайте.

Вторая тонкость заключается в том, что время от времени (при моих особых стараниях в развитии движка) меняется ансамбль из жизненно-важных системных файлов, а поскольку install обновляет их по одному (обращаясь при этом аяксом, в частности, к самому себе), то в какой-то момент может появиться новый файл, несовместимый со старыми, и движок переходит в неработоспособное состояние. Вывести его из этого состояния можно только вручную скопировав новые версии файлов, жизненно необходимых для работы модуля install, чтобы он ожил и смог довести свое дело до конца, вот они:

http://lleo.me/blog/install?index.php
http://lleo.me/blog/install?js/main.js
http://lleo.me/blog/install?include_sys/_autorize.php
http://lleo.me/blog/install?include_sys/_modules.php
http://lleo.me/blog/install?site_module/INSTALL.php
http://lleo.me/blog/install?ajax/midule.php
http://lleo.me/blog/install?ajax/module.php

(Кстати, вы наверно в курсе, что любой файл движка можно запросить на скачивание через /install?путь/файл Разумеется, это относится только к разрешенным файлам и папкам.)

Короче, после этого надо снова зайти в /install и запустить обновление. Желательно обновления делать с сервера dnevnik, а не blog, потому что это Stable, а тот все-таки Beta и неизвестно что на нем в данный момент происходит (может, я в эту секунду код разобрал и чиню).

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

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Windows Safari Chrome
 Санкт-Петербург
0
0
cats.shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
TNX! Пригодится.
Кстати, обнаружилось, что пользователь с одним и тем же OpenID (независимо от провайдера), авторизовавшийся через Ulogin и Loginza - две разные сущности (даже юзерпики отличаются).
Linux Firefox
 Москва
0
0
Леонит Каганофф
Так не должно быть. Разве что там в чем-то разные адреса openid (один, например, через www, а другой нет). Движок проверяет, есть ли такой openid уже в базе, и если есть, то возвращает его unic. От Ulogin и Loginza здесь ничего не зависит - виджетов можно навесить еещ кучу, если появятся, но все в конечном итоге передают полученные данные в одном и том же формате одной и той же процедуре, а уж та разбирается.
Windows Safari Chrome
 Санкт-Петербург
0
0
cats_shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну вот, а оно получилось.
2 коммента, авторизация через один и тот гуглевский openid:
http://goblins.cats-home.net/2012/09/24.html

Или таки разные данные передают?
Linux Firefox
 Москва
0
0
Леонит Каганофф
Не, ну а чего ты хочешь, если у них разный ident, ткни в имя:

ident: https://www.google.com/accounts/o8/id?id=AItOawmC2mL7E8C_6Tt[...]
ident: https://plus.google.com/u/0/101587106897855656615

Ведь ident по сути и есть openid (openid - его частный случай), и движок не может знать, кто там какие логины-пароли вводил на сайте Гугля, он видит только конечный результат - то, что ему передают как идентификатор. А передают они почему-то разные идентификаторы. Почему - этого я знать не могу, вопрос к ним.
Windows Safari Chrome
 Санкт-Петербург
0
0
cats.shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Для любопытства авторизовался через Google на ЖЖ. В результате в качестве ID третий вариант - линк на профиль Google+ (https://profiles.google.com/101587106897855656615).
Похоже, что каждый сервис работает с Google по-своему, а в результате плодятся лишние сущности. :(
Linux Firefox
 Москва
0
1
Леонит Каганофф
Я думаю, это Гугль у себя перемудрил.
Ему надо было просто делать ID, соответствующий ЛОГИНУ пользователя (которым там является почта vasya.pupkin@gmail.com): https://google.com/id/vasya.pupkin/

Но в Гугле, как известно, работают гики, которые не понимают элементарных вещей по юзабилити.

В Яндексе, кстати, тоже иногда происходит маразм. Например, "Яндекс.Диск" взял себе для обозначения своих ссылок домен yadi.sk и выдает ссылки типа http://yadi.sk/5F6E3DD9E3E9E
Я пытался им объяснить, что "яды.ск" - идиотское название и фидошно-хакерский дебилизм. Но куда там...
Windows Safari Chrome
 Санкт-Петербург
0
0
cats.shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Мда...
"Куда катится этот мир?"... :)
Linux Firefox
 Москва
0
0
Леонит Каганофф
В Гугле мне объясняли лучше. На вопрос, почему такой загроможденный и неудобный интерфейс почты, мне ответили, что ЗАТО там в редакторе поддерживаются клавиатурные сокращения vi, vim, emax или как там называется та юниксовая запредельная хуйня, из-за которой я перешел на Линукс на 7 лет позже, чем мог бы.

На вопрос, каков процент пользователей Гугль-почты использует клавиатурные сокращения формата vim, 0.001% или 0.00001%, и какое количество людей ежедневно путается, не понимая, зачем все эти чаты и где простая кнопка "ответить"... мне ответить не смогли ;)
Windows Safari Chrome
 Санкт-Петербург
0
0
cats.shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Угу... "бантики, свистелки и перделки"... :( Не, чтобы сделать конфигурацию интерфейса :), чтоб можно было оставить минимально необходимый функционал. Тот же чат - он джаббер-клиентом обрабатывается, зачем сущностей плодить? Не понимаю я их.
Windows Safari Chrome
 Санкт-Петербург
0
0
cats_shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
З.Ы. Если не сложно, можно выложить код этой странички: http://lleo.me/blog/test2
?
Попробовал бы организовать аналогичное для loginza и HybridAuth (http://hybridauth.sourceforge.net/) есть желание послать подальше посторонние сервисы в пользу независисмости.
Linux Firefox
 Москва
0
0
Леонит Каганофф
А что это за страничка?! Не помню такой.
Ну ладно, взял ее код и положил под катом там же на ней.

Там PHPEVAL - встроенный код. То есть, виджету указывается адрес возврата - сама эта страница, а PHP-код в PHPEVAL всякий раз при ее загрузке разбирается, если это был POST-запрос, то выдает что-то (по выполнении PHPEVAL результатом, который встраивается в страницу взамен модуля, является итоговое содержимое переменной $o).
Windows Safari Chrome
 Санкт-Петербург
0
0
cats.shadow
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ага, спасибо!
Этим же методом попробую пристроить loginza и локальную авторизацию (hybridauth). Для сравнения.
Windows Firefox
0
0
kkonuhov
А что можно покопать, если install пишет "installed: not found"?
Linux Firefox
 Москва
0
0
Леонит Каганофф
В какой момент пишет?!
Windows Firefox
0
0
kkonuhov
Когда на странице /install нажимаю кнопку в левом верхнем углу INSTALL, появляется окно Select Server, и вот в нём внизу пишет "installed: not found".
Linux Firefox
 Москва
0
0
Леонит Каганофф
Хм... Похоже, движок ну очень старой версии.
Попробуйте создать папки и файл: /binoniq/instlog/servers.txt
И в этот файл вписать:

http://lleo.me/blog Beta
http://lleo.me/dnevnik Stable
http://lleo.me Super Stable
http://binoniq.net Server Stable

Также неплохо бы создать:
/binoniq/instlog/system_veto.txt
И в него вписать:

config.php
log/
tmp/
user/

Это уже так, для безопасности, чтоб config.php никто не смел тронуть. Вроде его и так никто не посмеет, но я плохо помню сейчас.
Windows Firefox
0
0
kkonuhov
Наверное я не очень правильно объяснил. Эти файлы с этим содержимым есть. Я на них пытался и сам подумать с первой попытки.




Обновлять я пытаюсь регулярно, по мере появления обновлений. И ставил движок уже когда /install появился. Но как-то не получается у меня дружбы с этим инсталлом. (
Linux Firefox
 Москва
0
0
Леонит Каганофф
Ну хорошо, а если нажать Check Update, то что? Ничего?
Windows Firefox
0
0
kkonuhov
Ничего.
Linux Firefox
 Москва
0
0
Леонит Каганофф
Это больше похоже на неправильные библиотеки.
А если обновить все эти 6 файлов?
Windows Firefox
0
0
kkonuhov
Которые в сообщении вверху (семь файлов)? Это первое что я сделал.
Linux Firefox
 Москва
0
0
Леонит Каганофф
А какие-то Javascript - ошибки при нажатии кнопки появляются?

всего комментариев: 25

<< предыдущая заметка следующая заметка >>