Skip to content
Kirill Temnenkov edited this page Jan 30, 2014 · 3 revisions

F.A.Q. для пользователей jNode от 11.01.2014

Обновлено 30.01.2014

Q: А что это вообще такое?

A: Это "серверная" реализация фидошного софта на Java, покрывающая нужды типичного узла сети Fido.

Q: А есть Wiki?

A: Есть! https://github.com/kreon/jnode/wiki

Q: А где взять последнюю версию?

A1: git clone git://github.com/kreon/jnode.git Если уже есть - то зайти в папку и сделать git pull

A2: https://github.com/kreon/jnode/releases

A3: https://manjago.ci.cloudbees.com/job/jnode/

jnode-1.0-SNAPSHOT-release-multidb-xxxxxxxx.zip

Q: А как поставить?

A: Читайте docs/*

A2: Поставить JRE1.7, скачать архив, распаковать, отредактировать etc/jnode.XXX.conf ( где XXX - win или nix ), запустить bin/run.*, подключиться техническим пойнтом, зайти на веб-морду и настроить остальное.

Q: А как читать почту на узле?

A: Напрямую - никак, jNode хранит все свои сообщения в SQL-базе, с которой ни один редактор работать не умеет.

Q: А как тогда?

A1: Завести пойнта, прописать его в links, с него читать и писать, включить перенаправление почты "для узла" на него.

A2: Прописать узловой AKA в links, далее как в A1 но вместо .X использовать .0

A3: В 1.0 "технический пойнт" создается автоматически.

Q: А как сделать "перенаправление"?

A: Добавить запись в таблицу rewrite: INSERT INTO rewrite(...) values(...) Первое ... - название полей, второе - значения. Обязательные поля: nice, type, last Поля: nice - приоритет ( 0 - первое правило, MAX - последнее )

type - 'NETMAIL' или 'ECHOMAIL',

last - если true, то на этом реврайт закончится

ofa - Адрес "от кого", регулярное выражение

ota - Адрес "к кому", регулярное выражение

ofn - Имя "от кого", регулярное выражение

otn - Имя "к кому", регулярное выражение

os - Тема, регулярное выражение

nfa - Новый адрес "от кого"

nta - Новый адрес "к кому"

nfn - Новое имя "от кого"

ntn - Новое имя "к кому"

ns - Новая тема

Если какое-то поле не используется, ставьте звёздочку ( * )

A2: примеры

Перенаправление нетмейла с 2:5020/848.0 на 2:5020/849.1

INSERT INTO rewrite(nice,type,last,ota,nta) VALUES(10,'NETMAIL',true,'^2:5020/848$','2:5020/849.1');

Написание нетмейла "от имени" робота с технического пойнта ( типа afix848 - AreaFix @ 2:5020/848 )

INSERT INTO rewrite(nice,type,last,ofa,otn,nfa,ntn,ns) VALUES(10,'NETMAIL',true,'^2:5020/849.1$', '^afix848$', '2:5020/848', 'AreaFix', 'password');

Q: А на XXX работает?

A: Теоретически должно работать везде, где есть Java 1.7 и старше. Проверялось на Linux i686 и x86_64 и Windows 64-bit, СУБД mySQL 5, PostgreSQL 9 и H2 1.3. Работает как на официальном JRE от Oracle так и на openjdk.

A2: http://tinyurl.com/ob9uwhh

Q: А какую СУБД лучше выбрать?

A: Какую угодно ;) будет повод проверить как она работает %)

A2: Список проверенных есть в предыдущем вопросе.

Q: А я ничего не понимаю в SQL! Как сделать XXX?

A: Спросить в эхе. То, что уже спросили, добавляется в F.A.Q.

DB> Как создать/удалить линка

Воспользоваться веб-мордой.

DB> Как подписать/отписать линка на эху/эхи?

INSERT INTO subscription SELECT l.id AS lid,e.id AS eid FROM links l,echoarea e WHERE NOT EXISTS (SELECT link_id FROM subscription WHERE link_id=l.id AND echoarea_id=e.id) AND e.name='Имя эхи' AND l.ftn_address='Адрес узла';

DB> Как узнать эхи, на которые никто не подписан?

SELECT e.name FROM echoarea e WHERE (SELECT COUNT(*) FROM subscription WHERE echoarea_id=e.id)=1; // 1 - подписан только аплинк, 0 - вообще нет подписки.

DB> Как вывести всю подписку линка?

SELECT e.name FROM echoarea e RIGHT JOIN subscription s ON (s.echoarea_id=e.id) RIGHT JOIN links l ON (l.id=s.link_id) WHERE l.ftn_address='Адрес линка';

DB> Как вывести всех линков с подпиской на конкретную эху?

SELECT l.ftn_address FROM echoarea e RIGHT JOIN subscription s ON (s.echoarea_id=e.id) RIGHT JOIN links l ON (l.id=s.link_id) WHERE e.name='Имя эхи';

Q: Я нашел баг! Что делать?

A: 1. Сделать loglevel=5 в конфиге 2. Воспроизвести баг и сохранить лог 3. Написать в эху ru.jnode вырезку лога и описание бага.

A2: Добавить ошибку сюда: https://github.com/kreon/jnode/issues

Q: Я хочу помочь проекту. Что нужно делать?

A: Нам требуются:

  • Переводчики на английский, для перевода документации
  • Программисты - для программирования новых фич
  • Веб-дизайнеры и верстальщики - для изготовления красивой веб-морды
  • Контрибьюторы - для сборки и поддержки актуальных сборок на внешних ресурсах
  • Тестеры - ну понятно для чего ;)
  • И просто энтузиасты, которые не хотят, чтоб Фидонет помер окончательно.

A2: Всегда можно помочь деньгами :-)

Clone this wiki locally