https://wiki.freenetis.org/api.php?action=feedcontributions&user=Quimi&feedformat=atom
Freenetis Wiki - Příspěvky uživatele [cs]
2024-03-29T15:54:51Z
Příspěvky uživatele
MediaWiki 1.30.0
https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%D1%80&diff=2297
Профайлер
2018-01-31T14:41:31Z
<p>Quimi: Quimi přesunul stránku Профайлер na Профайлер bez založení přesměrování</p>
<hr />
<div>[[cs:Profiler]]<br />
[[en:Profiler (english)]]<br />
<br />
Profiler в коде может работать следующим образом:<br />
<br />
$this->profiler = new Profiler;<br />
// некоторые из ваших действий и вопросов<br />
echo $this->profiler->render(TRUE);</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0&diff=2296
Права доступа
2018-01-31T14:41:11Z
<p>Quimi: Quimi přesunul stránku Права доÑтупа na Права доступа bez založení přesměrování</p>
<hr />
<div>[[cs:Přístupová práva]]<br />
[[en: Access rights]]<br />
<br />
==Описание реализации управления правами FreenetIS==<br />
<br />
Текущие права доступа для FreenetIS основаны на PHP GACL. Knihodna сама была удалена, но системные таблицы поддерживаются.<br />
<br />
==Описание SQL таблиц библиотеки Phpgacl==<br />
<br />
В PhpGacl все построено на объектах ACO, ARO и АХО.<br />
<br />
'' 'ACO''' - операции объектов<br />
<br />
'' 'ARO''' - объекты (или группы объектов), которые выполняют индивидуальные операции (АСО)<br />
<br />
'''АХО''' - объекты (или группы объектов), над которыми индивидуальные ARO выполняют операции (ACO)<br />
<br />
===acl===<br />
Таблица определения индивидуальных правил доступа.<br />
<br />
Она содержит столбцы id, section_value, allow, enabled, return_value, note, updated_date.<br />
<br />
'''ID''' - идентификатор, важен для соединения с ACO, ARO и ОВБ<br />
<br />
'''section_value''' - имя секции, где правила<br />
<br />
'''allow''' - 1 => Правило разрешает операции, 0 => Правило запрещает операции<br />
<br />
'''Enabled''' - 1 => правило включено, 0 => правило отключено<br />
<br />
'''return_value''' - Я еще не знаю<br />
<br />
'''Note''' - комментарии к правилу (например Администраторы могут делать все)<br />
<br />
'''Updated_date''' - дата последнего обновления правил<br />
<br />
===acl_sections===<br />
Таблица определения отдельных разделов Правил.<br />
<br />
По умолчанию в PhpGacl две секции - System и User. FreenetIS использует только User.<br />
<br />
Он содержит столбцы id, value, order_value, name and hidden<br />
<br />
'''id''' - идентификатор, более или менее бесполезный, потому что правила относятся к разделам со значениями (значение)<br />
<br />
'''значение''' - короткое имя без пробелов, используется для назначения отдельных списков управления доступом на разделы<br />
<br />
'''order_value''' - Я еще не знаю<br />
<br />
'''Название''' - длинные названия, описания<br />
<br />
'''скрытые''' - 0 => Раздел виден, 1 => скрыт<br />
<br />
===acl_seq===<br />
Таблица единственной целью котороq является в настоящее время хранение последнего ID таблицы ACL.<br />
<br />
PhpGacl (Бог знает почему) не использует автоприращение в таблицах.<br />
<br />
Содержит столбец ID.<br />
<br />
'' 'ID''' - последняя ID в таблице ACL<br />
<br />
===асо===<br />
Таблица определения отдельных объектов ACO. В FreenetIS имеется ACO либо для оказания меню (разделы меню), либо ACO для общих операций (раздел freenetis) - view_all, view_own, edit_all, edit_own, delete_all, delete_own, new_all, new_own, confirm_all, confirm_own ... использованы в'' 'только''' с объектами АХО.<br />
<br />
Она содержит столбцы id, section_value, value, order_value, name and hidden.<br />
<br />
'''id''' - несущественный идентификатор (для подключения к таблице ACL используется aco_map значение)<br />
<br />
'''section_value''' - название раздела определенного в aco_sections<br />
<br />
'''value''' - короткое имя без пробелов, используемое для назначения ACO на разделы и подключения к каждому правилу ACL в aco_map<br />
<br />
'''order_value''' - Я еще не знаю<br />
<br />
'''name''' - длинные названия, описания<br />
<br />
'''hidden''' - 0 => Раздел виден, 1 => скрыт<br />
<br />
===aco_map===<br />
<br />
Соединяет ACO объекты с различными правилами ACL. ACO это один (из трех ACO, ARO и АХО) не в состоянии кластеризироваться в группах, потому что нет никакой другой таблицы aco_groups_map.<br />
<br />
Содержит столбцы acl_id, section_value a value.<br />
<br />
'' 'Acl_id''' -<br />
<br />
'' 'Section_value''' -<br />
<br />
'''value''' -<br />
<br />
===aco_sections===<br />
<br />
Раздел для каждого ACO , FreenetIS использует только два : Меню - для объектов ACO на участке меню, а затем freenetis - определение общих операции ACO ( просмотр, редактирование , удаление и подтверждение) .<br />
<br />
Он содержит столбцы id , value , order_value , name and hidden .<br />
<br />
''' id ''' - идентификатор раздела ( не используется)<br />
<br />
''' value ''' -имя раздела (в нашем меню и freenetis )<br />
<br />
''' Order_value ''' - Я еще не знаю<br />
<br />
''' name ''' - описание раздела<br />
<br />
''' hidden ''' - 0 = > Раздел виден , 1 => скрыт<br />
<br />
===aro_groups_map===<br />
<br />
присваивает отдельным группам пользователей ACL правила.<br />
<br />
Пример:<br />
<br />
Создать правило " кандидаты в члены и постоянные члены могут сделать XYZ" .<br />
<br />
Это правило будет в " ACL " представлено новой строкой с ID = 27 , в котором хранится значение "Разрешить" ;<br />
<br />
Если у " полноправных членов " ID = 22 и тех, кто заинтересован в членстве ID = 23 , то в таблице aro_groups_map при создании этого правила будет две новые записи :<br />
<br />
acl_id | group_id<br />
-----------------<br />
27 | 22<br />
<br />
27 | 23<br />
<br />
===axo_groups_map===<br />
<br />
Подобно aro_groups_map , но АХО</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB_%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&diff=2295
Персонал культуры
2018-01-31T14:40:51Z
<p>Quimi: Quimi přesunul stránku ПерÑонал культуры na Персонал культуры bez založení přesměrování</p>
<hr />
<div>[[cs:Štábní kultura]]<br />
[[en:Staff culture]]<br />
<br />
Разработчики FreenetISu рекомендуют следовать определенным правилам для повышения читабельности и согласованности исходных кодов.<br />
<br />
Каждый исходный файл должен начинаться со следующего кода:<br />
<br />
<?php defined('SYSPATH') or die('No direct script access.');<br />
/*<br />
* This file is part of open source system FreenetIS<br />
* and it is released under GPLv3 licence.<br />
*<br />
* More info about licence can be found:<br />
* http://www.gnu.org/licenses/gpl-3.0.html<br />
*<br />
* More info about project can be found:<br />
* http://www.freenetis.org/<br />
*<br />
*/<br />
<br />
=== Смещение ===<br />
<br />
Смещение исходного текста осуществляется с помощью клавиши табуляции. если не указано иное,<br />
<br />
=== Перенос ===<br />
<br />
Строки кодов контроллеров, моделей и помощи не должны превышать 80 символов.<br />
Для более длинных строк исходный код должен соответствовать следующим правилам:<br />
<br />
'' 'Коробки Wrap'''<br />
<br />
array<br />
(<br />
'a', 'b', c', 'd', 'e',<br />
'f', 'g'<br />
);<br />
<br />
array<br />
(<br />
'a' => val1,<br />
'b' => val2<br />
);<br />
<br />
'''Запись аргументов функции'''<br />
<br />
Аргументы в определениях и декларациях.<br />
<br />
''Используйте для смещения внутренних аргументов около 2 табуляций''<br />
<br />
funkce(arg1, arg2,<br />
arg3, arg4<br />
);<br />
<br />
или<br />
<br />
funkce(<br />
arg1, arg2,<br />
arg3, arg4<br />
);<br />
<br />
'''Метод цепочки объектов'''<br />
<br />
Эта запись является подходящей, если строка кода не превышает 80 символов.<br />
<br />
''Используйте для смещения около 2 табуляций''<br />
<br />
$object->method1()<br />
->method2();<br />
<br />
'''Соединение условий'''<br />
<br />
if (conditionA && (<br />
conditionB ||<br />
conditionC<br />
))<br />
{<br />
...<br />
}</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9A%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&diff=2294
Качество обслуживания
2018-01-31T14:40:13Z
<p>Quimi: Quimi přesunul stránku КачеÑтво обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ na Качество обслуживания bez založení přesměrování</p>
<hr />
<div>[[en: Quality of service]]<br />
[[cs: Zajištění kvality služeb (QoS)]]<br />
<br />
Качество обслуживания (QoS) позволяет отдельным членам устанавливать различные гарантированные и максимальные скорости и помогает обеспечить качество обслуживания (например, VoIP).<br />
Для каждого члена максимальная гарантированная скорость может быть явно установлена и определяет приоритетные список IP адресов для соответствующей службы.<br />
<br />
Такое поведение создается с помощью демона, который периодически получает данные (определение их поведения) от FreenetiIS, и в соответствии с этими данными устанавливает инструменты Iptables ipset и правил, гарантирующих определенное поведение.<br />
<br />
==Установка из исходников ==<br />
<br />
'''Эта процедура установки предназначена для цели развития. Пользователи должны установить пакет с помощью [http://wiki.freenetis.org/index.php/Instalace # Bal.C3.ADk_freenetis-QoS frenetis-QoS].'' '<br />
<br />
=== Зависимости ===<br />
apt-get install wget ipset iptables<br />
<br />
===Инсталяция===<br />
<br />
Скрипт и конфигурационный файл можно найти в папке инсталяции FreenetIS '''/application/vendors/qos'''.Инсталяционная процедура:<br />
<br />
1)Копирование файлов<br />
sudo mkdir /etc/freenetis<br />
cd ./application/vendors/qos<br />
sudo cp ./freenetis-qos.init.sh /etc/init.d/freenetis-qos<br />
sudo cp ./freenetis-qos-sync.sh /usr/sbin/freenetis-qos-sync<br />
sudo cp ./freenetis-qos.conf /etc/freenetis<br />
<br />
2)Установка прав не выполнение<br />
sudo chmod +x /etc/init.d/freenetis-qos<br />
sudo chmod +x /usr/sbin/freenetis-qos-sync<br />
<br />
3Автоматический старт после загрузки<br />
sudo update-rc.d freenetis-qos defaults<br />
<br />
===Конфигурация===<br />
<br />
'' В конфигурационном файле ''(/etc/freenetis/freenetis-qos.conf)'' '''вы должны установить путь к FreenetIS'' (переменная PATH_FN)''.'''<br />
<br />
Кроме этого, входной и выходной интерфейсы (переменная '''INPUT_INTERFACE''', '''OUTPUT_INTERFACE''').<br />
<br />
Входной интерфейс означает интерфейс, для которого действуют правила для загрузки и скачивания.<br />
<br />
==Запуск и управление==<br />
<br />
Скрипт стартует автоматически когда система загружается.<br />
<br />
Ручной старт:<br />
<br />
sudo /etc/init.d/freenetis-qos start<br />
<br />
Ручной останов:<br />
<br />
sudo /etc/init.d/freenetis-qos stop<br />
<br />
Текущий статус мониторинга:<br />
<br />
sudo /etc/init.d/freenetis-qos status</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%82%D0%B5%D0%BB%D1%8C_%D0%B4%D0%BB%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8&diff=2293
Как вставить переключатель для оптической сети
2018-01-31T14:39:57Z
<p>Quimi: Quimi přesunul stránku Как вÑтавить переключатель Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ñ‡ÐµÑкой Ñети na [[Как вставить переключ…</p>
<hr />
<div>[[cs: Jak vložit switch na optické síti]]<br />
[[en: How to insert a switch on the optical network]]<br />
<br />
Процедура без гарантий, но попробуйте. Чтобы понять, почему он пользуется этим способом написания внутренней логики подхода к управлению переключателями вы можете найти в статье [[Управляемый переключатель]]<br />
<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni1.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni2.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni3.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni4.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni5.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni6.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni7.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni8.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni9.png]]<br />
x<br />
x<br />
x<br />
[[Soubor:Freenetis-nove zarizeni10.png]]<br />
x<br />
x<br />
x</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&diff=2292
Автоматическое тестирование
2018-01-31T14:39:39Z
<p>Quimi: Quimi přesunul stránku ÐвтоматичеÑкое теÑтирование na Автоматическое тестирование bez založení přesměrování</p>
<hr />
<div>[[en:Automatic testing]]<br />
[[cs:Automatické testování]]<br />
<br />
Автоматизированное тестирование используется в качестве обратной связи с разработчиком и контроля над его действиями.<br />
<br />
<br />
== Архитектура теста ==<br />
<br />
Испытания полностью автоматизированы (Вам не нужно тестировать программы, необходимо только доставить данные для испытаний) и автоматически вносятся изменения в исходный код.<br />
<br />
Тесты позволяют проверить'''модели''','''помощники''' и'''контроллеры'''. Другие части системы проверяются только на корректность синтаксиса.<br />
<br />
Тесты по юнит-тестам не сравнивают полученные значения функций, а только проверяют не является ли ошибкой завершения работы.<br />
<br />
'''Тесты поддерживаются в *UNIX операционных системах.'''<br />
<br />
<br />
=== Получение информации о исходном коде ===<br />
<br />
Получение информации о исходном коде выполняется автоматически с помощью скрипта, который проходит через все модули и получая от них необходимые. Эти данные хранятся в документе XML ('' / application / vendors/ unit_tester / unit_testing_config.xml'').<br />
<br />
<br />
== Установка тестов ==<br />
<br />
Установка необходимых библиотек:<br />
<br />
v Ubuntu/Debianu:<br />
<br />
sudo apt-get install curl perl libxml-writer-perl libxml-dom-perl<br />
<br />
Fedora:<br />
<br />
sudo yum install curl perl perl-XML-Writer perl-XML-DOM php-xml<br />
<br />
'''Возможности:'''<br />
<br />
cd /var/www/freenetis<br />
chmod +x ./application/vendors/unit_tester/tester.sh<br />
<br />
'''Предотвращение отправки e-mail/SMS т.д.:'''<br />
<br />
Do config.php přidejte:<br />
<br />
$config['unit_tester'] = TRUE;<br />
<br />
<br />
== Выполнение тестов ==<br />
<br />
'' 'Внимание: Тесты возможны только на локальном сервере разработки!'''<br />
<br />
cd / var / www / freenetis / application / vendors / unit_tester<br />
. / tester.sh <URL> <LOGIN_NAME> <PASSWORD><br />
<br />
<br />
'' Примечание: время работы всех тестов на Intel Core i5 2,53 ГГц с Ubuntu 11.04 составляет около четырех минут''.<br />
<br />
'''Пример с аргументами'''<br />
<br />
. / Tester.sh-O http://localhost/freenetis Админ 123456<br />
<br />
<br />
=== Аргументы тестового скрипта ===<br />
<br />
$. / Tester.sh - помощь<br />
Скрипт для тестирования FreenetIS<br />
ИСПОЛЬЗОВАНИЕ: tester.sh [параметры] URL Имя пользователя Пароль<br />
<br />
Опции:<br />
-О, --open-browser Открыть браузер с ошибками моделей или помощников<br />
автоматически, после обнаружения ошибок.<br />
-S, --skip-syntax Пропустить проверку синтаксиса всех файлов<br />
-M, --skip-models Пропустить тест моделей<br />
-H, --skip-helpers Пропустить тест помощников<br />
-C, --skip-controllers Пропустить тест контроллеров<br />
-E, --enable-stats Включить статистику и тесты<br />
<br />
<br />
== Редактирование проверяемой информации ==<br />
<br />
Автоматически сгенерированных значений теста недостаточно для тестирования, поэтому уместно добавить некоторую дополнительную информацию.<br />
<br />
Например, определите модель в файле конфигурации, найдите соответствующие объекты (как заголовок и имена атрибутов).<br />
<br />
'' 'Модель генерируется автоматически:'''<br />
<br />
<MODEL name="test"><br />
<method name="testovaci_funkce" autogenerate="on"><br />
<attributes><br />
<attribute name="user_id" default_value="" /><br />
<attribute name="filter_values" default_value="array()" /><br />
</ attributes><br />
<values><br />
<input><br />
value = "" /> <параметр<br />
value = "Array ()" /> <параметр<br />
</input><br />
</ values><br />
</ Method><br />
</ model><br />
<br />
Очень важным атрибутом метода является '''автоформирование'''. Если вы вносите изменения в методе и и устанавливаете их в '''off''' то при запуске тестирования изменения игнорируются.<br />
<br />
Тег'''ввод''' можно рассматривать как набор тестовых значений метода.<br />
<br />
'''Если вы не хотите, что метод был протестирован вообще (обычно это методы, которые зависят от объектов или вставки данных в базу данных), это может быть достигнуто следующим образом:'''<br />
<br />
<model name="test"><br />
<method name="testovaci_funkce" autogenerate="off"><br />
<attributes><br />
<attribute name="user_id" default_value="" /><br />
<attribute name="filter_values" default_value="array()" /><br />
</attributes><br />
<values><br />
</values><br />
</method><br />
</model><br />
<br />
<br />
'''Идеальные тестовые данные (попытка вставить пустые или бессмысленные значения) для нашей тестовой модели может выглядеть следующим образом:'''<br />
<br />
<model name="test"><br />
<method name="testovaci_funkce" autogenerate="off"><br />
<attributes><br />
<attribute name="user_id" default_value="" /><br />
<attribute name="filter_values" default_value="array()" /><br />
</attributes><br />
<values><br />
<input><br />
<param value="" /><br />
<param value="" /><br />
</input><br />
<input><br />
<param value="" /><br />
<param value="array()" /><br />
</input><br />
<input><br />
<param value="1" /><br />
<param value="array('id' => '1')" /><br />
</input><br />
<input><br />
<param value="abd'se$#@`" /><br />
<param value="abd'se$#@`" /><br />
</input><br />
<input><br />
<param value="1" /><br />
<param value="array('id' => '1sef%se@š`', 'Ijnfsief' => 'se2', 'sef$a;!')" /><br />
</input><br />
</values><br />
</method><br />
</model><br />
<br />
<br />
=== Дополнительные возможности для контроллеров ===<br />
<br />
Контроллеры могут также отправлять данные с помощью POST и HTTP GET, только для проверки входных параметров добавьте параметры в виде:<br />
<br />
<param name="post_name" type="post" value="hodnota" /><br />
<param name="get_name" type="get" value="hodnota" /><br />
<br />
<br />
Работа редактирования испытания действия документа ===<br />
<br />
После каждого изменения файла конфигурации, вы должны проверить его корректность с помощью прилагаемого DTD (''/application/vendors/unit_tester/unit_testing_config.xml''), так как сам тест позволяет допустимые конфигурации!<br />
<br />
В Netbeans IDE проверка выполняется выбором конфигурационного файла и запуском через контекстное меню проверки XML.<br />
<br />
== Статистика и критерии ==<br />
<br />
Тесты являются инструментом для анализа моделей и контроллеров. Их можно включить с помощью параметра <code>-e</code>.<br />
<br />
Результаты тестов модели отобража.тся в выходноv HTML файл, наряду с тестами.<br />
<br />
Результаты для контроллеров сохраняются в файле <code>curl/cstats</code>, который состоит из четырех столбцов, разделенных табуляцией.<br />
<br />
* Первый столбец содержит информацию о времени контроллера в секундах.<br />
* Второй столбец показывает потребление памяти в МБ для реализации.<br />
* Третий столбец - URL запроса.<br />
* Четвертый включает HTTP POST контроллера.<br />
<br />
'' 'Пример: запрос о 10 наибольших потреблений памяти:'''<br />
<br />
cat curl/cstats | cut -f 1,2,3 | sort -n -r -k 2,2 | head -n 10<br />
<br />
'' Примечание: В данном руководстве рассматривается путь к FreenetIS предусмотренный в [[Установка FreenetIS]]''</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%BC%D0%B5%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&diff=2291
Автоматическая смена структуры базы данных
2018-01-31T14:39:16Z
<p>Quimi: Quimi přesunul stránku ÐвтоматичеÑÐºÐ°Ñ Ñмена Ñтруктуры базы данных na [[Автоматическая смена струк…</p>
<hr />
<div>[[cs:Automatická změna struktury databáze]]<br />
[[en:Automatic change of database structure]]<br />
<br />
FreenetIS включает в себя механизм автоматического изменения структуры базы данных. Эти изменения выполняются после старта FreenetIS (после открытия браузера), после обновления ( здесь это не имеет значения , происходит ли это обновление через систему пакетов , или через развитие хранилища ) . Изменения не могут быть отменены , а это значит , что понижение версии FreenetIS не возможно ( конечно, это может быть выполнено вручную через восстановление базы данных из резервной копии, однако , мы не можем гарантироватькорректность конечного состояния системы ) .<br />
<br />
Механизм обновления тесно связан с [ http://wiki.freenetis.org/index.php/Verzování_FreenetIS версий FreenetIS ] . В папке '' ' / db_upgrades ''' находится файл с изменениями каждой версии FreenetIS . Имена файлов в формате '' ' upgrade_sql_VERZE.php '' ', где '''VERZE''' заменяется версией FreenetIS . Сам файл должен содержатьполе '''$ upgrade_sql ''' с индексом версии данного FreenetIS. Этот пункт содержит массив SQL операторов, которые выполняются последовательно. Он может также содержать PHP функции, которые выполняются до и после выполнения SQL- команд, которые используются, например, если данные не могут быть переданы между разными версиями непосредственно с помощью SQL команд. Обе функции могут содержать произвольные команды PHP и должна возвращать логическое значение (Boolean) .<br />
<br />
Исходный файл изменений:<br />
<br />
<PHP определена ('SYSPATH') или умереть ("Нет прямого доступа скрипта. ')?;<br />
/ *<br />
* Этот файл является частью открытого кода FreenetIS<br />
* И он выпущен под лицензией GPLv3.<br />
*<br />
* Более подробную информацию о лицензии можно найти:<br />
* http://www.gnu.org/licenses/gpl-3.0.html<br />
*<br />
* Более подробную информацию о проекте можно найти:<br />
* http://www.freenetis.org/<br />
*<br />
* /<br />
<br />
/** This upgrade is equal to one in 1.0.0~beta2 developer revision */<br />
$upgrade_equal_to['1.0.0~rc1'] = '1.0.0~beta2';<br />
<br />
function upgrade_1_0_0_rc1_before()<br />
{<br />
echo "Some PHP code triggered before processing of all SQL commands"<br />
return TRUE;<br />
}<br />
<br />
$upgrade_sql['1.0.0~rc1'] = array<br />
(<br />
"ALTER TABLE `ifaces` CHANGE `device_id` `device_id` INT( 11 ) NOT NULL",<br />
<br />
"UPDATE ifaces i, wireless_ifaces wi<br />
SET wireless_mode = wmode, wireless_antenna = antenna<br />
WHERE wi.iface_id = i.id",<br />
<br />
);<br />
<br />
function upgrade_1_0_0_rc1_after()<br />
{<br />
echo "Some PHP code triggered after processing of all SQL commands"<br />
return TRUE;<br />
}<br />
<br />
<br />
=== Связь между изменениями ===<br />
<br />
Если любой из оператор SQL генерирует ошибку или некоторая функция возвращает FALSE, выполнение завершается, и ошибка отображается для пользователя. Когда возникает такая ситуация и FreeneIS выйходит из строя, мы рекомендуем вам обратиться к разработчику для восстановления последней рабочей версии базы данных (наряду с снижением версии FreenetIS).<br />
<br />
=== Текущее состояние базы данных ===<br />
<br />
Текущее состояние базы данных хранится в таблице базы данных в поле '''db_schema_version''', которое содержит текущую версию базы данных. Если база данных находится в состоянии ошибки, этот шаг записывается в '''upgrade_midpoint_error'''. Это значение позволяет повторно выполнить обновление с этого шага, таким образом ошибка исправляется и повторно запускается браузера FreenetIS<br />
<br />
=== Связь между изменениями ===<br />
<br />
В этом примере есть пункт'' '$ upgrade_equal_to ['1 .0.0 ~ rc1']'' ', который используется для целей разработки. '' (При слиянии изменений разных частей значение этого поля может заполнено разрабатываемой версией, которая содержит тот же набор команд (и функции). Если база данных находится в состоянии разработки и предлагается версия которая использует это поле относительно версии разработки. Пропустите эту версию. '' 'Файл с изменениями этой версии после выполнения операции будет удален!''')''<br />
<br />
== Переход от старых версий ==<br />
<br />
Старые версии FreeneIS (до версии 1.0.0) включают в себя более раннюю версию механизма (на основе пересмотра SVN) . Если вы выполняете чистую установку новой базы данных , эта проблема вас не касается .<br />
<br />
Переход между этот механизм может быть выполнена с использованием нескольких SVN команд.<br />
<br />
1) Откройте терминал (командная строка) и перейдите в каталог с установкой FreenetISu , обычно :<br />
<br />
$ Cd / Var / WWW / freenetis<br />
<br />
2) Перейдите к последней редакции , чтобы обновить базу данных до выхода версии 1.0.0<br />
<br />
$ Svn up-r 1559<br />
<br />
3) Запуститебраузер FreenetIS и если корректировка осуществляется успешно перейдите к следующему шагу.<br />
<br />
4) Перейти к последней версии FreenetIS . Новый механизм автоматически обнаруживает версию базы данных (старый тип) и осуществляет переход .<br />
<br />
$ Svn up<br />
<br />
Последний шаг однако не рекомендуется потому что начиная с релиза 1.0.0 выпала градация субверсий FreenetIS. Поэтому рекомендуется переустановка коробочной версии системы (Конечно, данные будут сохранены потому что даже при переустановке, вы можете выбрать исходную базу данных)<br />
<br />
<br />
== Безопасное изменение версии до 1.0.0 ==<br />
<br />
До версии FreenetIS 1.0.0 не обеспечивается безопасное одновременное внесение изменений. Эта проблема возникает, когда несколько людей / услуг FreenetIS осуществляют доступ к обновлению базы данных. Выполните следующие действия, чтобы избежать проблем при обновлении базы данных: ('' '. Эта инструкция FreenetIS применима до версии 1.0.0, так как с этой версии (в комплекте) автоматически гарантируется правильная работа''')<br />
<br />
1) Выключите все услуги доступа к FreenetIS (CRON, redirect. QoS, monitoring, ...). Например CRON на Debian следующим образом:<br />
<br />
/ etc / init.d / cron stop<br />
<br />
2) Выключите сервер apache<br />
<br />
/ etc/init.d/apache2 stop<br />
<br />
3) Выполнение обновления<br />
<br />
wget http:// <path_to_mount_directory> ваш FreenetIS><br />
<br />
4) Перезапустите Apache и услуги<br />
<br />
/ etc/init.d/apache2 start<br />
/ etc / init.d / cron start</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_NetBeans&diff=2290
Автоматизированное тестирование в NetBeans
2018-01-31T14:38:58Z
<p>Quimi: Quimi přesunul stránku Ðвтоматизированное теÑтирование в NetBeans na Автоматизированное тестирование в NetBeans…</p>
<hr />
<div>[[cs:Automatické testování v NetBeans]]<br />
[[en:Automatic testing in NetBeans]]<br />
<br />
== Интеграция PHPUnit в NetBeans ==<br />
<br />
=== Установка пакетов ===<br />
<br />
в Ubuntu/Debianu:<br />
<br />
sudo apt-get install phpunit<br />
<br />
в Fedora:<br />
<br />
sudo yum install phpunit<br />
<br />
<br />
=== Установка NetBeans ===<br />
<br />
Введите путь к PHPUnit (/usr/bin/phpunit) вручную или с помощью '''Поиск'''<br />
<br />
Инструменты>Настройки>PHP>Модульное тестирование<br />
<br />
<br />
== Создание тестов ==<br />
<br />
В контекстном меню файла/папки исходного теста, выберите<br />
<br />
Инструменты>Создать PHPUnit тесты<br />
<br />
Введите путь к папке (папки в корневом каталоге с тестами FreenetIS), в котором будет автоматически генерироваться тестовые файлы. Это будет база для создания тестов выбранного файла. В этом файле naimplementujte есть тесты для каждого метода.<br />
<br />
== Выполнение тестов ==<br />
<br />
В окне Свойства проекта, позволит PHPUnit '''Используйте начальной загрузки''' и '''Используйте Bootstrap для создания новых модульных тестов''' как программа начальной загрузки файла, выберите ''index.php'' в корневом каталоге FreenetIS.<br />
<br />
В контекстном меню исходного файла, который вы хотите проверить, выберите ''Test''. Или в меню Run выбрать проект ''Test''. Это позволит автоматически проверять все тесты и просматривать результаты в окне Результаты теста.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8&diff=2289
Настройки
2018-01-31T14:38:42Z
<p>Quimi: Quimi přesunul stránku ÐаÑтройки na Настройки bez založení přesměrování</p>
<hr />
<div>[[cs:Nastavení]]<br />
[[en:Settings]]<br />
<br />
Как и любой другой информации о системе и FreenetIS должны быть возможности различных настроек для пользователя и системы. В настоящее время для этого предназначены две библиотеки:<br />
<br />
application / libraries / settings.php (установить через базу данных)<br />
system / core / config.php (для установки через файл конфигурации)<br />
<br />
= Исходное состояние =<br />
<br />
В первоначальном состоянии Кохана поддерживает только установки в конфигурационном файле, никаких настроек в базе данных нет. Отсюда следует, что система не создает формы настройки - Вы тогда вынуждены эти файлы предварительно сгенерировать => большой риск для безопасности.<br />
<br />
= Текущий статус =<br />
<br />
Почти все настройки были перенесены в базу данных. В файле конфигурации остались только настройки доступа к базе данных.<br />
<br />
= Фактическая реализация =<br />
<br />
== Настройки библиотеки ==<br />
<br />
Все настройки хранятся в таблице конфигурации базы данных.<br />
<br />
=== Переменные ===<br />
<br />
==== Контакт ====<br />
<br />
==== Валюта ====<br />
<br />
- Валюта, которая используется в системе<br />
<br />
- Может быть установлена в меню Настройки - Система - Обмен<br />
<br />
-'' 'По умолчанию''': CZK<br />
<br />
==== Db_schema_version ====<br />
<br />
- Вероятно, наиболее важная переменная - Задает текущую версию схемы базы данных, используемую в [[Autoupdate структуры БД]]<br />
<br />
-'''Не может быть установлена пользователем в системе, определяет сама себя'''<br />
<br />
==== Дебитор ====<br />
==== Default_country ====<br />
- Основная страна, используемая в системе (ID из таблицы стран)<br />
<br />
-'''По умолчанию''': 55 (Чехия)<br />
====Домен====<br />
<br />
- Домен, который работает на FreenetIS<br />
<br />
- Если ваш адрес FreenetISu <nowiki> http://www.mojedomena.cz/freenetis/ </ Nowiki>, эта переменная <nowiki> www.mojedomena.cz </ Nowiki><br />
<br />
-'' 'По умолчанию''': пусто (для URL, используя сервер :: HTTP_HOST ())<br />
<br />
==== Email_default_email ====<br />
<br />
- Электронная почта по умолчанию - все электронные письма, отправленные с FreenetIS будет отправлены с этого адреса<br />
<br />
- Может быть установлена в меню Настройки - Система - электронная почта по умолчанию<br />
<br />
-'' 'По умолчанию''': no-reply@freenetis.org<br />
<br />
====Email_driver====<br />
<br />
- Протокол отправки электронной почты - протокол, по которому будет отправляться электронная почта<br />
<br />
- Возможные варианты - родной (с использованием PHP), SMTP и Sendmail<br />
<br />
- Установить в настройках - Электронная почта - Протокол<br />
<br />
-'' 'По умолчанию''': родной<br />
<br />
====Email_hostname====<br />
<br />
- SMTP хост-сервера<br />
<br />
- Учитывается только тогда, когда установлен SMTP email_driver<br />
<br />
- Установить в настройках - Электронная почта - Имя хоста<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
====Email_port====<br />
<br />
- Порт сервера SMTP<br />
<br />
- Учитывается только тогда, когда установлен SMTP email_driver<br />
<br />
- Установить в настройках - Электронная почта - Порт<br />
<br />
-'''По умолчанию''': 25<br />
<br />
====EMAIL_PASSWORD====<br />
<br />
- Пароль для хост-сервера SMTP<br />
<br />
- Учитывается только тогда, когда установлен SMTP email_driver<br />
<br />
- Установить в настройках - E-MAIL - Пароль<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
====email_username====<br />
<br />
- Имя пользователя для доступа к SMTP хост-серверу<br />
<br />
- Учитывается только тогда, когда установлен SMTP email_driver<br />
<br />
- Установить в настройках - Электронная почта - имя пользователя<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
====шлюз====<br />
<br />
====index_page====<br />
<br />
- Логическая переменная, будет ли отображается index.php в URL<br />
<br />
- 1 => будет отображаться, 0 => не будет отображаться<br />
<br />
- Может быть установлена в меню Настройки - Система - Чистый URL (через отрицание)<br />
<br />
-'' 'По умолчанию''' 1<br />
<br />
====информация====<br />
<br />
====Прерывание========<br />
<br />
====Map_google_maps_api_key====<br />
<br />
- Ключ для Google Maps API, который находится в использовании.<br />
<br />
-'''По умолчанию''': пусто<br />
<br />
====Optional_message====<br />
<br />
====Payment_notice====<br />
<br />
====Протокол====<br />
<br />
- Протокол, который работает на FreenetIS<br />
<br />
- Если ваш адрес FreenetISu <nowiki> http://www.mojedomena.cz/freenetis/ </ Nowiki>, эта переменная <nowiki> HTTP </ Nowiki><br />
<br />
-'' 'По умолчанию''': пусто (для URL используется значение HTTP)<br />
<br />
====Registration_info====<br />
<br />
- Информация, которая появляется поверх экспортируемых приложений<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
====Registration_license====<br />
<br />
- Лицензионные условия, которые появляются в нижней части экспортированных приложений<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
====Self_registration====<br />
<br />
- Логическая переменная - следует ли разрешить самостоятельную регистрацию кандидатов в члены<br />
<br />
- Может быть установлена в меню Настройки - Система - Самостоятельная регистрация<br />
<br />
-'' 'По умолчанию''' 1<br />
<br />
====суффикс====<br />
<br />
- Суффикс домена в URL, где функционирует FreenetIS<br />
<br />
- Если ваш адрес FreenetISu <nowiki> http://www.mojedomena.cz/freenetis/ </ Nowiki>, эта переменная <nowiki> / freenetis / </ Nowiki><br />
<br />
- Всегда должно начинаться и заканчиваться косой чертой (может быть /)<br />
<br />
-'' 'По умолчанию''': пусто (для URL затем используется SUBSTR (Server :: SCRIPT_NAME (), 0, -9))<br />
<br />
====title====<br />
<br />
- Название страницы, которая появляется в заголовке (внутри HTML атрибут названия)<br />
<br />
- Может быть установлена в меню Настройки - Система - Название страницы<br />
<br />
-'' 'По умолчанию''': FreenetIS<br />
<br />
====неизвестное устройство====<br />
<br />
====Загрузочный каталог====<br />
<br />
- Задает каталог для загрузки файлов (импорт, и т.д.)<br />
<br />
-'''По умолчанию''' upload<br />
<br />
====Use_javascript====<br />
<br />
- Логическая переменная, используется ли JavaScript<br />
<br />
- Устаревшая, в будущем будет удалена<br />
<br />
-'''По умолчанию''' 1<br />
====Voip_billing_driver====<br />
- Переменная определяющая драйвер для VoIP<br />
<br />
- В настоящее время поддерживаются только драйвер от NFX z.s.p.o.<br />
для VOIP решения<br />
-'' 'По умолчанию''' 0<br />
<br />
====voip_billing_partner====<br />
<br />
- Переменная содержит имя пользователя для входа в биллинг<br />
<br />
-'' 'По умолчанию''' пусто<br />
<br />
====Voip_billing_password====<br />
- Переменная содержит пароль пользователя для входа в биллинг<br />
<br />
-'' 'По умолчанию''' пусто<br />
<br />
====Voip_number_exclude====<br />
- Переменная содержит девятизначные числа, разделенные точкой с запятой (;)<br />
<br />
- Показатели, представленные в этом списке не предлагаются для выбора для регистрации счета VoIP<br />
<br />
-'' 'По умолчанию''' пусто<br />
<br />
====voip_number_interval====<br />
- Переменная содержит девять-значное число в диапазоне по шаблону XXXXXXXXX XXXXXXXXX<br />
<br />
- Показатели, представленные в этом списке на выбор предлагаются для регистрации счета VoIP<br />
<br />
-'' 'По умолчанию''' пусто<br />
<br />
====Voip_sip_server====<br />
- Переменная содержит строку с сервера SIP хоста. Например. sip.slfree.czf<br />
<br />
- Появляется в VoIP счете в качестве дополнительной информации. Это не имеет никакого влияния на панель управления.<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
====Website_after_redirection====<br />
<br />
===Методы====<br />
<br />
Вся библиотека содержит только два метода - устанавки и получения.<br />
<br />
Контроллер и виды (views) используются для динамического доступа - в верхней части контроллера создается экземпляр библиотеки:<br />
<br />
$ this-> settings = new Settings();<br />
<br />
и затем, как значение переменной суффикс получают следующим образом:<br />
<br />
$ this-> settings->get('suffix');<br />
<br />
В другом приложении (помощники и т.д.) должны использовать статический подход:<br />
<br />
$suffix = Settings::get('suffix');<br />
<br />
====Получить====<br />
<br />
- Возвращает значение, определяемое ключом<br />
<br />
- Если он находит непустое значение, возвращает его<br />
<br />
- Если он находит нулевое значение или возникает непредвиденная ошибка, проверяет, есть ли частный атрибут с таким же названием (т.е. по умолчанию)<br />
<br />
- Если он существует, возвращает его<br />
<br />
- Если есть, попытаться вернуть то же имя переменной из конфигурации (конфигурационного файла)<br />
<br />
====установить====<br />
<br />
- Установка входных переменных с заданными ключами<br />
<br />
- Если возникает непредвиденная ошибка, возвращает ошибку<br />
<br />
- Иначе, если переменная уже существует в базе данных, обновляет ее<br />
<br />
- Если переменной в базе данных не существует, пытается создать ее<br />
<br />
==Библиотека Config==<br />
<br />
Это те параметры, которые записываются в файл конфигурации config.php.<br />
<br />
Это, однако, только с переменные параметров подключения к базе данных.<br />
<br />
===Переменные===<br />
<br />
====Db_type====<br />
<br />
- Тип базы данных (MySQL, PgSQL)<br />
<br />
- Тем не менее, поддерживается только MySQL<br />
<br />
-'''По умолчанию''': MySQL<br />
<br />
====DB_NAME====<br />
<br />
- Имя базы данных FreenetIS<br />
<br />
-'' 'По умолчанию''': freenetis<br />
<br />
====DB_HOST====<br />
<br />
- Адрес хоста, на котором будет работать FreenetIS<br />
<br />
-'''По умолчанию''': local<br />
<br />
====DB_USER====<br />
<br />
- Имя пользователя для подключения к базе данных<br />
<br />
-'''По умолчанию''': freenetis<br />
<br />
====DB_PASSWORD====<br />
<br />
- Пароль пользователя для подключения к базе данных<br />
<br />
-'''По умолчанию''': freenetis<br />
<br />
====Db_table_prefix====<br />
<br />
- Префикс для таблиц FreenetIS<br />
<br />
- Полезно, если вы ,будете использовать общую базу данных для FreenetIS и для других проектов<br />
<br />
-'' 'По умолчанию''': пусто<br />
<br />
===Методы===<br />
<br />
В отличие от настройки библиотек используется только статический подход:<br />
<br />
DB_NAME = $ Config :: get ('db_name')<br />
<br />
====Получить====<br />
<br />
- Возвращает значение из файла конфигурации, в соответствии с указанным ключом<br />
<br />
====Установить====<br />
<br />
- Установите нужное значение для указанного ключа</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%90%D0%B4%D0%BC%D0%B8%D0%BD-%D0%BF%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8C_%D0%BA%D0%B0%D0%BD%D0%B4%D0%B8%D0%B4%D0%B0%D1%82%D0%BE%D0%B2_%D0%B2_%D1%87%D0%BB%D0%B5%D0%BD%D1%8B&diff=2288
Админ-принять кандидатов в члены
2018-01-31T14:38:25Z
<p>Quimi: Quimi přesunul stránku Ðдмин-принÑÑ‚ÑŒ кандидатов в члены na Админ-принять кандидатов в члены bez založení přesměrování</p>
<hr />
<div>[[cs: Admin - nastavení nového uživatele - zájemce]]<br />
[[en: Admin -accept the candidates for membership]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%90%D0%B4%D0%BC%D0%B8%D0%BD_-_%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BA_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&diff=2287
Админ - регулировка настроек нового пользователя
2018-01-31T14:38:10Z
<p>Quimi: Quimi přesunul stránku Ðдмин - регулировка наÑтроек нового Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ na [[Админ - регулировка н…</p>
<hr />
<div>[[cs: Admin - nastavení nového uživatele - zájemce]]<br />
[[en: Admin - adjustment of a new user - interested]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%90%D0%B4%D0%BC%D0%B8%D0%BD_-_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%8E%D1%89%D0%B5%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE&diff=2286
Админ - добавить передающее устройство
2018-01-31T14:37:52Z
<p>Quimi: Quimi přesunul stránku Ðдмин - добавить передающее уÑтройÑтво na Админ - добавить передающее устройство…</p>
<hr />
<div>[[en: Admin - add transmitting device]]<br />
[[cs: Admin - přidat vysílací zařízení]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B0&diff=2285
Установка из исходного кода
2018-01-31T14:37:07Z
<p>Quimi: Quimi přesunul stránku УÑтановка из иÑходного кода na Установка из исходного кода bez založení přesměrování</p>
<hr />
<div>[[cs:Instalace ze zdrojových kódů]]<br />
[[en: Instalation from source code]]<br />
<br />
'''Это руководство предназначено для разработчиков FreenetIS, в целях распространения доступен [http://wiki.freenetis.org/index.php/Instalace установка системы управления].'''<br />
<br />
FreenetIS может работать на любом сервере (включая Windows), но рекомендуемая платформа Linux.<br />
<br />
= Linux =<br />
<br />
В этих инструкциях предполагается использование Debian. Для других дистрибутивов процедура будет аналогичной.<br />
<br />
== Подготовка ==<br />
<br />
Установка PHP, Apache, MySQL и PHPMyAdmin. Вы должны войти в систему с правами администратора.<br />
apt-get install apache2 php5 php5-mysql php5-curl mysql-server phpmyadmin<br />
<br />
'''Поддерживаемые версии'''<br />
<br />
*'''PHP''' версии 5.1.2 и выше<br />
*'''MySQL''' версии 5.1.0 и выше<br />
<br />
=== Язык ===<br />
Для правильной функции сравнения строк в PHP должен быть установлен чешский UTF-8 локали. Итак:<br />
dpkg-reconfigure locales<br />
<br />
Выберите:<br />
<br />
en_US.UTF-8<br />
en_US.UTF-8<br />
<br />
и перезапустить Apache:<br />
<br />
apache2ctl graceful<br />
<br />
<br />
=== Apache ===<br />
<br />
Для корректной работы Apache внесите изменения в конфигурационный файл для VirtualHost. Для Debian можно найти:<br />
* Если у вас не была выполнена настройка то это файл <br />
/ etc/apache2/sites-available/default<br />
* Если у вас уже есть VirtualHost, то он, вероятно, быть сконфигурирован в других файлах в каталоге / etc/apache2/sites-available /<br />
<br />
В этом файле, добавьте строки:<br />
<br />
<VirtualHost *><br />
ServerAdmin webmaster@example.org<br />
ServerName freenetis.example.org<br />
DocumentRoot / Var / WWW / freenetis<br />
<Directory /var/www/freenetis><br />
Options Indexes FollowSymLinks MultiViews<br />
Order allow, deny<br />
позвольте от всех<br />
</ Directory><br />
</ VirtualHost><br />
<br />
где, конечно, вместо ServerAdmin, ServerName введите свои данные.<br />
<br />
Наконец, перезапустить Apache командой:<br />
<br />
/ Etc/init.d/apache2 restart<br />
<br />
== Дополнительно: Включить mod_rewrite ==<br />
<br />
Если он не включен, сделайте это:<br />
<br />
a2enmod rewrite<br />
<br />
В конфигурации виртуального хоста и Apache (точка пересечения), включите доступ к каталогу FreenetIS исправив конфигурационный файл с помощью Apache. Htaccess - Directory раздел, добавить директиву "AllowOverride All". Этот раздел должен конечном итоге выглядеть так:<br />
<br />
<Directory /var/www/freenetis><br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride All<br />
Order allow, deny<br />
allow from all<br />
</ Directory><br />
<br />
Наконец, перезапустить Apache командой:<br />
<br />
/ Etc/init.d/apache2 restart<br />
<br />
=== MySQL ===<br />
<br />
Для установки базы данных MySQL можно использовать многочисленные инструменты и процедуры. В любом случае вам нужно будет ввести имя пользователя и пароль для сервера MySQL. После установки, есть только один пользователь - root и пустой пароль. <br />
<br />
dpkg-reconfigure mysql-server-VERSION<br />
<br />
где VERSION номер версии сервера MySQL. В более новых версиях это обычно 5.1 для тех, кто старше 5.0.<br />
<br />
====Использование phpMyAdmin====<br />
<br />
[http://cs.wikipedia.org/wiki/PhpMyAdmin PhpMyAdmin] этосовременный инструментарий для управления MySQL через ВЭБ-интерфейс. После инсталяции доступен:<br />
<br />
<nowiki> http://printer_ip_address/ server / phpMyAdmin / </ nowiki><br />
<br />
или если у вас локальный хост:<br />
<br />
<nowiki> http://localhost/phpmyadmin/ </ nowiki><br />
<br />
Кликните Разрешения, затем Добавить Нового пользователя. Введите любое имя (рекомендуется freenetis). Выберите локальный компьютер (из соображений безопасности). Задайте сильный пароль, предпочтительно случайно сгенерированный (хороший пример случайного генератора паролей [http://www.converter.cz/passgen/pswdgen.php здесь]. Выберите “Создать базу данных с темже именем и дать полный доступ” и справа внизу нажмите Выполнить.<br />
<br />
====Использование консоли====<br />
<br />
Если не использовать PhpMyAdmin то можно создать базу данных вручную. Сначала необходимо залогиниться в MySQL с правами суперпользователя<br />
<br />
mysql-u root-p<br />
<br />
Затеми наберите команду<br />
<br />
create database freenetis;<br />
create user 'freenetis' @ 'localhost' IDENTIFIED BY 'password';<br />
grant all on freenetis. * it 'freenetis' @ 'localhost';<br />
<br />
==Загрузка==<br />
===Загрузка с SVN===<br />
<br />
Если у вас не установлен SVN клиент<br />
apt-get install subversion<br />
<br />
Теперь вы можете загрузить FreenetIS в каталог /var/www/freenetis (это наиболее стабильная версия, другие используются для разработуи и тестирования) <br />
<br />
cd / var / www<br />
svn checkout - username = username <nowiki> svn + ssh :/ / username@svn.code.sf.net / p / freenetis / code / freenetis / trunk freenetis </ nowiki><br />
<br />
Откройте доступ на запись в каталог freenetis/upload и создайте каталог для логов<br />
<br />
cd / var / www / freenetis<br />
chmod ugo + w. upload<br />
mkdir-m 0777 logs<br />
<br />
FreenetIS посоянно развивается. Команда для загрузки изменений:<br />
<br />
cd / var / www / freenetis<br />
svn update<br />
<br />
(загружаются только измененные файлы)<br />
<br />
===Фиксирующие логи===<br />
Логи основной стабильной версии <br />
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/trunk/kohana/?view=доступны здесь].<br />
<br />
В настоящее время мы используем систему разработки паралельно несколькими ветвями (например тестирование и т.д.) и основной ветвью и обменом изменениями между ними. Поэтому количество ошибок меньше чем было раньше.<br />
<br />
Итоговые логи для всех ветвей здесь<br />
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/?view=log].<br />
<br />
===Инсталяция===<br />
<br />
Теперь если ввести в бравзере ваш адрес FreenetIS откроется стартовое окно инсталятора.<br />
<br />
===Конфигурация===<br />
<br />
Сначала инсталятор проинформирует вас, что необходимо создать файл config.php. Нажмите Следующий Шаг.<br />
<br />
Теперь инсталятор предложит вам ввеести данные для доступа к серверу MySQL. Введите данные, которые вы использовали при подготовке MySQL и нажмите Отправить.<br />
<br />
Если вы ввели правильную информацию, инсталятор проинформирует вас что конфигурация завершена. В противном случае сообщит, что не смог подключиться к базе данных и укажет вероятную причину проблемы.<br />
<br />
После исправления ошибки нажмите Следующий Шаг.<br />
<br />
====Дополнительно: Создание config.php вручную====<br />
<br />
Если у вас нет доступа на запись в каталог, freenetis, программа установки сгенерирует код, который необходимо скопировать и сохранить в файле config.php в каталоге freenetis. '''Пока вы этого не сделаете, установка будет прекращена!'''<br />
<br />
===Инсталяция===<br />
<br />
Теперь перед вами появится форма с информацией о вашей ассоциации. После ее заполнения установка будет завершена.<br />
<br />
====Дополнительно: Создание вручную Htaccess====<br />
<br />
Если вы установили флажок Read URL и у вас нет доступа на запись в каталог freenetis, программа установки cгенерирetn код, который необходимо скопировать и сохранить в файле Htaccess в каталоге freenetis. '''Если вы этого не сделаете, ваша установка может не работать должным образом!'''<br />
<br />
===Подключение планировщика===<br />
<br />
FreenetIS имеет пользовательский планировщик для которого должен быть установлен Cron:<br />
<br />
#FreenetIS scheduler<br />
* * * * * root wget -O /dev/null http://<hostname>/cs/scheduler/run<br />
<br />
Если вы используете SSL с несанкционированным или недействительным сертификатом, используйте:<br />
<br />
#FreenetIS scheduler<br />
* * * * * root wget -O /dev/null https://<hostname>/cs/scheduler/run --no-check-certificate</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%BE%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&diff=2284
Установка и настройка адресов сервера
2018-01-31T14:36:45Z
<p>Quimi: Quimi přesunul stránku УÑтановка и наÑтройка адреÑов Ñервера na Установка и настройка адресов сервера be…</p>
<hr />
<div>[[cs: Instalace a nastavení serveru adresních bodů]]<br />
[[en:Instalation and settings of address point server]]<br />
<br />
==Информация==<br />
<br />
= Установки сервера =<br />
<br />
==Подготовка к инсталяции==<br />
Установка всех необходимых пакетов<br />
<br />
apt-get install unzip git apache2 php5 php5-mysql mysql-server<br />
<br />
Перезапустить Аpache<br />
<br />
service apache2 restart<br />
<br />
==Получение иссходного кода==<br />
Загрузите исходный код вэб-приложения в любую папку<br />
<br />
git clone https://github.com/freenetis/freenetis-address.git<br />
<br />
==База данных==<br />
Создайте базу данных используя sql скрипт файл db_structure.sql<br />
<br />
mysql -u username -ppassword jmeno_database < db_structure.sql<br />
<br />
== Установка ==<br />
Запустите с административными правами инсталяционный скрипт из папки с исходным кодом<br />
<br />
./install.sh<br />
<br />
Введите свои регистрационне данные в базу данных. После этого файлы копируются в /var/www/freenetis-addresses и генерируэтся роль CRON, и после этого ежедневно в 5:00 проверяетс база данных и при необходимости обновляется до последней версии<br />
<br />
==Начальна загрузка базы данных==<br />
<br />
Запустите скрипт<br />
./import.sh<br />
<br />
Время импорта зависист от скорости диска и количества адресов в базе данных и может занять более 30 минут. Процес импорта индицируется на консоли.<br />
<br />
= Установки FreenetIS =<br />
В установках FreenetIS, в секции System укажите ваш адрес веб-приложения<br />
<br />
http://sdruzeni.net/freenetis-addresses/<br />
<br />
= Сообщения об ошибках скрипта импорта =<br />
<br />
Config file not found - Невозможно найти файл /etc/freenetis-addresses.ini , решение - перестартовать скрипт ./Install.sh.<br />
<br />
Can not get latest date database - Невозможно определить дату с сервера cuzk.cz. Сайт недоступен или изменилась структура страницы так что невозможно определить дату.<br />
<br />
Database is up to date - база данных актуальна и не требует обновления.<br />
<br />
Database is not up to date and will be updated - база данных неактуальна и будет обновлена.<br />
<br />
Can not download addresses - Невозможно загрузить архив базы данных с сервера cuzk.cz.<br />
<br />
Can not extract addresses - Ошибка извлечения базы данных во временный файл.<br />
<br />
Can not prepare addresses - Ошибка удаления неиспользуемых колонок, изменения кодов или номеров домов. Ошибка связана с изменением формата данных в базе данных.<br />
<br />
Can not clean temporary table - Ошибка при удалении временных файлов.<br />
<br />
Can not import addresses - Ошибка при импорте адресов базы данных. Ошибка может быть вызвана изменением формата данных в базе данных.<br />
<br />
Can not update database - Ошибка возникает во время замены временных адресов таблицы производственной базы данных.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%BC&diff=2283
Управления коммутатором
2018-01-31T14:36:29Z
<p>Quimi: Quimi přesunul stránku Ð£Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼ÑƒÑ‚Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ na Управления коммутатором bez založení přesměrování</p>
<hr />
<div>[[cs: Managovatelný switch]]<br />
[[en: Management switch]]<br />
<br />
Переключатели имеют внутренний интерфейс подключенный к сети любого микроконтроллера, который реализует конфигурацию переключателей управления = Логику переключения (коммутации)<br />
<br />
Внутренний интерфейс подключен к коммутационной матрице, также как и другие порты<br />
<br />
[ [File : freenetis - manageswitch.png ] ]<br />
<br />
Большинство коммутаторов может управлять внутренним интерфейсом, чтобы сформировать любое количество интерфейсов VLAN, чтобы позволить управлять доступом к любой VLAN.<br />
<br />
Так управляемый переключатель в FreenetIS зарегистрирован как устройство, которое имеет один внутренний (= не на задней панели) LAN интерфейс и 24 порта.<br />
При условии ели интерфейс LAN скрыт, так что запись сегмента невозможна, флаг FreenetIS не установлен - на данный момент необходимо создать хотя бы скрытый сегмент, на рисунке это стрелка "LAN интерфейс" и "Внутренний порт".<br />
<br />
Предложена процедура Quimi:<br />
<br />
Или есть возможность создать сегмент взаимосвязи внутреннего порта - управления локальной сетью. Затем добавить порт устройства Inerní порт LAN и интерфейс управления, на самом деле подключиться на этом сегменте. Кроме управления интерфейсом ЛВС мы создаем отдельные интерфейсы VLAN (принадлежащий VLAN) - к ним то мы назначим IP адреса managovací.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%B8&diff=2282
Удаление ветви
2018-01-31T14:36:12Z
<p>Quimi: Quimi přesunul stránku Удаление ветви na Удаление ветви bez založení přesměrování</p>
<hr />
<div>[[cs:Smazání větve]]<br />
[[en:Deleting branches]]<br />
<br />
Если ветвь завершена, и добавлена в основную ветку, удалите ее из SVN командой:<br />
<br />
svn delete https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/имя_ветки -m "Ветка удаляется потому что она объединена с главной ветвью"</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A7%D1%82%D0%BE_%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D0%BE_%D0%B1%D1%8B%D1%82%D1%8C_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%BD%D0%BE_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8&diff=2281
Что должно быть сделано после установки
2018-01-31T14:35:55Z
<p>Quimi: Quimi přesunul stránku Что должно быть Ñделано поÑле уÑтановки na [[Что должно быть сделано после установк…</p>
<hr />
<div>[[cs:Co je třeba udělat po instalaci]]<br />
[[en:What should be done after installation]]<br />
<br />
<br />
Предполагается что вы успешно и правильно установили FreenetIS и заполнили инсталяционную форму. Большинство из этих установок может быть изменено позже в системе или вручную в базе данных (если вы знаете как это делать). После инсталяции если вы вошли в систему как админ вы не будете иеть досту к некоторым возможностям. Это потому, что первый член является специальным и некоторые особенности логически не будут доступны, по сравнению с другими членами. Первый член будет представлять ассоциацию. Первоначальная конфигурация не должна использоваться кем-то другим, кроме администратора. Вы можете найти более подробную информацию о возможностях и концепции во внутренней помощи программы. Это небольшой знак вопроса в синем круге, который будет появлятьсяться над теекстом над которым вы разместили курсор мыши.<br />
<br />
==Адрес пункта ==<br />
FreenetIS использует адреса пунктов. Мы доработали пользовательский интерфейс и теперь новые названия улиц и городов могут быть добавлены во время добавления нового члена и оборудования. Это может быть выполнено зеленой кнопкой «Plus»<br />
<br />
== Сборы ==<br />
Для правильной работы системы все основные сборы должны быть заполнены Теперь каждый член может иметь различные уровни вклада. По умолчанию тарифы членских взносов управляются тарифом пользователя с ID 1, который представляет саму ассоциацию.<br />
<br />
== Шаблоны устройства ==<br />
<br />
Во время добавления устройства вы можете использовать шаблон устройства. В нем заданы предопределенные параметры устройства в зависимости от выбранного устройства. Вы также можете импортировать интерфейс шаблонов.<br />
Если вы не хотите, создавать все шаблоны с нуля, вы можете использовать наши [https://dl.dropbox.com/u/2293737/freenetis/device_templates.json предопределенные шаблоны] и экспортировать их в систему.<br />
<br />
== Ссылки и подсети ==<br />
<br />
Благодаря улучшеному пользовательскому интерфейсу, теперь можно добавить новые строки во время добавления интерфейса подсети, IP-адреса или устройства.<br />
<br />
== Устройства принадлежащие Ассоциации ==<br />
<br />
Устройства принадлежащие Ассоциации включают любые активные элементы сети, которые принадлежат Ассоциации. Например точки доступа, маршрутизаторы, коммутаторы, серверы и т.д.<br />
Хорошо иметь резервную копию, прежде чем добавлять новые устройства самостоятельно.Одно устройство может иметь несколько интерфейсов, один интерфейс может иметь несколько IP-адресов, что полезно для точки доступа или маршрутизатора. Домашние компьютеры обычно имеют один интерфейс и один IP адрес.<br />
<br />
== Члены ==<br />
Теперь вы можете добавлять членов. Член с ID 1, созданный после установки, особенный. Он не имеет кредитного счета, но имеет остальные счета, его тарифы определяют тарифы других членов. Этот пользователь представляет вашу ассоциацию в системе. Теперь, хотя пользователь не должен ввходить как администратор, но каждый менеджер, инженер, член правления, администратор должен иметь свое собственное регистрационное имя.<br />
<br />
== Пользовательские устройства ==<br />
Пользовательские устройства также должны быть зарегистрированы после добавления нового члена. Обычно это коробка и один или более компьютеры. Для добавления устройства вы должны использовать "Добавить устройство" (это означает одно устройство с интерфейсами, IP-адресами и ссылками с другими устройствами, согласно шаблона устройства.)<br />
<br />
== Пользователи ==<br />
Нет необходимостидобавить добавлять нового пользователя. Как правило, один пользователь создается когда добавляется новый член, и это, как правило, достаточно.<br />
<br />
== Финансы == Спросите, если оно все такое же<br />
Как только вы зарегистрировали всех членов, можно импортировать выписки из банковских счетов. Поддерживаются HTML выписки из Raiffeissenbank и FIO. Затем можно назначить некоторые неидентифицированные платежи. Когда вы посчитаете нужным, вы можете начать снимать деньги со счета. Это позволит узнать всех пользователей с задолженностью. Увлечение вкладов происходит в середине каждого месяца. Так что вам необходимо делать это каждый месяц с начала функционирования ассоциации. Оптимальным считается 16-й день месяца. Тогда вы добьетесь, что каждый член будет знать состояние его кредита, будет ли он плачтить вовремя или как должник.<br />
<br />
== Перенаправление ==<br />
<br />
После того как вы полностью зарегистрировали свои сети, всех членов, проимпортировали платежи, то вы можете начать перенаправление. Включение перенаправления подсети найдет всех неидентифицированных или незарегистрированных подключенных людей. Включение подсети означает, что подсеть начинает фильтровать центральный шлюз. Те IP-адреса, которые захотят выйти в интернет, а не в базу данных будут заблокированы (перенаправлены). После этого можно приступать к перенаправлению пользователей с долгом, или других, которых вы хотите уведомить (отправить уведомление).</div>
Quimi
https://wiki.freenetis.org/index.php?title=Logov%C3%A1n%C3%AD&diff=2280
Logování
2018-01-31T14:34:55Z
<p>Quimi: </p>
<hr />
<div>[[en:Logging]]<br />
[[ru:Логин]]<br />
FreenetIS obsahuje několik druhů logování. Některá jsou defaultně součástí systému, jiné je nutné dodatečně doinstalovat.<br />
<br />
Nastavení logování je dostupné v nastavní FreenetISu v sekci logování.<br />
<br />
== Logování akcí (audit) ==<br />
<br />
Logování akcí umožňuje logovat uživatelské akce v systému a uchovávat je po dobu 31 dní. Obsahuje informaci o provedené akci, čas akce, modifikovaná data a uživatele, který ji provedl.<br />
<br />
== Logování přihlášení ==<br />
<br />
Logování uživatelských přístupů k systému a zaznaménávání přístupových IP adres.<br />
<br />
== Logování provozu ==<br />
<br />
Logování provozu jednotlivých členů a jejich IP adres je podporován pomocí nástroje '''ulogd'''. Pomocí provozu se potom odvozuje rozdělení členů na aktivní a ostatní (aktivní = stahovač), hranice rozdělení lze konfigurovat v nastavení. Různé statistiky lze potom sledovat v sekci provoz.<br />
<br />
Instalace '''ulogu''' je posána [http://wiki.slavicin.unart.cz/index.php/Ulogd zde]. Jako přístupové údaje k databázi uveďte údaje o Vaší FreenetISové databázi a hodnotu procedure na '''UPDATE_CT'''.<br />
<br />
== Logování zařízení (Syslog) ==<br />
<br />
FreenetIS lze napojit na logování zařízení pomocí Syslogu. Návod na instalaci API pro syslog-ng je [http://dev.quimi.cz/projects/syslog-ng-mysql-api/wiki zde].<br />
<br />
Návod pro instalaci a konfiguraci syslog-ng je [http://wiki.slavicin.unart.cz/index.php/Syslog-ng zde].<br />
<br />
'''Jak nastavit Mikrotik RB''' <br />
/system logging action add name=fisremote remote=10.133.xx.xx src-address=10.133.yy.yy target=remote<br />
/system logging add action=fisremote prefix=vysilac_RB1 topics=warning,wireless,error,info, interface <br />
<br />
(remote je adresa stroje s běžícím syslog-ng + API, src-address je adresa sledovaného RBčka, prefix je pojmenování, ale není nutné)<br />
<br />
Po nainstalování a konfiguraci v nastavení FreenetISu jsou logovací zprávy dostupné u jednotlivých zařízení - objeví se nový odkaz.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9B%D0%BE%D0%B3%D0%B8%D0%BD&diff=2279
Логин
2018-01-31T14:34:38Z
<p>Quimi: </p>
<hr />
<div>[[cs:Logování]]<br />
[[en:Logging]]<br />
<br />
FreenetIS содержит несколько типов логов. Некоторые из них - стандартные составляющие системы, другие добавляются при инсталяции.<br />
<br />
== Регистрация событий == <br />
<br />
Регистрация событий позволяет пользователю вести регистрацию событий и сохранять ее на протяжении 31 дня. Она содержит информацию о действиях, времени действия, изменении даты и пользователя, выполнившего это.<br />
<br />
==Регистрация входа==<br />
<br />
Регистрирует доступ пользователя к системе и доступ с IP-адресов.<br />
<br />
==Регистрация операций==<br />
<br />
Регистрация операций с индивидуального номера и его IP-адреса поддерживается для использования 'ulogd'''. .......<br />
Потом в операциях можно увидеть можно просматривать различную статистику.<br />
<br />
Установка '' 'Ulog''' описана в [http://wiki.slavicin.unart.cz/index.php/Ulogd zde]<br />
Так доступ к данным в базе данных дает информацию о памяти базы данных FreenetIS и значение процедуры'' 'UPDATE_CT'''.<br />
<br />
== Логин оборудование (Syslog) ==<br />
<br />
FreenetIS может быть подключен к регистрации в системноом журнале. Инструкции по установке<br />
[http://dev.quimi.cz/projects/syslog-ng-mysql-api/wiki zde].<br />
После установки и настройки параметров FreenetIS регистрации сообщений доступны для каждого устройства.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%9B%D0%BE%D0%B3%D0%B8%D0%BD&diff=2278
Логин
2018-01-31T14:34:08Z
<p>Quimi: Quimi přesunul stránku Логин na Логин bez založení přesměrování</p>
<hr />
<div>[[cs:Logování]]<br />
[[en:Login]]<br />
<br />
FreenetIS содержит несколько типов логов. Некоторые из них - стандартные составляющие системы, другие добавляются при инсталяции.<br />
<br />
== Регистрация событий == <br />
<br />
Регистрация событий позволяет пользователю вести регистрацию событий и сохранять ее на протяжении 31 дня. Она содержит информацию о действиях, времени действия, изменении даты и пользователя, выполнившего это.<br />
<br />
==Регистрация входа==<br />
<br />
Регистрирует доступ пользователя к системе и доступ с IP-адресов.<br />
<br />
==Регистрация операций==<br />
<br />
Регистрация операций с индивидуального номера и его IP-адреса поддерживается для использования 'ulogd'''. .......<br />
Потом в операциях можно увидеть можно просматривать различную статистику.<br />
<br />
Установка '' 'Ulog''' описана в [http://wiki.slavicin.unart.cz/index.php/Ulogd zde]<br />
Так доступ к данным в базе данных дает информацию о памяти базы данных FreenetIS и значение процедуры'' 'UPDATE_CT'''.<br />
<br />
== Логин оборудование (Syslog) ==<br />
<br />
FreenetIS может быть подключен к регистрации в системноом журнале. Инструкции по установке<br />
[http://dev.quimi.cz/projects/syslog-ng-mysql-api/wiki zde].<br />
После установки и настройки параметров FreenetIS регистрации сообщений доступны для каждого устройства.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D0%B8&diff=2277
Версии
2018-01-31T14:33:20Z
<p>Quimi: Quimi přesunul stránku ВерÑии na Версии bez založení přesměrování</p>
<hr />
<div>[[cs:Verzování]]<br />
[[en:Versioning]]<br />
<br />
Для нумерации версий FreenetIS используется трехзначное число (то есть, XXX).<br />
<br />
* Первое число всегда 1'' (версия 2 должна быть написана на Java EE и пока не предвидится)''<br />
<br />
* Второе число является наиболее важным, так как оно сообщает о существенных изменениях и дополнительных функциях. (Можно увидеть в [плане развития http://dev.freenetis.org/projects/freenetis/roadmap])<br />
<br />
* Третье число указывает на патчи и незначительные изменения во втором номере версии.<br />
<br />
Текущая версия FreenetISu хранится в файле'' '/ version.php'''.<br />
<br />
== Версии разработки ==<br />
<br />
Вышеуказанные номера версий предназначена для пользователей. Для целей разработки добавлено еще один пункт версии с префиксом ''' ~ '''. В этом пункте может быть одно из следующих:<br />
<br />
*''' Dev ''' относится к развитию версии - находится за пределами тестовой ветви (включая нестабильные и неполные реализации новой версии)<br />
<br />
*''' Альфа ''' указывает альфа-версии - расположена в тестовой ветви , в основном на стадии тестировании (в том числе с частично завершенной реализацией)<br />
<br />
*''' Бета ''' обозначает бета-версии - расположена в отрасли , в основном в тестировании <br />
<br />
*''' Rc '' ' означает релиз-кандидат версии - находится в стадии тестирования (сделано отлаженную реализацию заключительного теста )<br />
<br />
По пункту все еще может быть номер, который позволяет создавать несколько версий одного и того же пункта. Сортировка версии (используется, например , в [ http://wiki.freenetis.org/index.php/Autoupdate_DB_struktury Autoupdate_DB_struktury ] ) совпадает с порядком в списке (т.е. разработчика < альфа < бета < RC) . Все версии развития сортируются до выхода финальной версии (XXX) .<br />
<br />
=== Пример развития номеров версий ===<br />
<br />
Рассмотрим текущую версию 1.5.0. Мы постепенно развиваем версию 1.6.0, наш прогресс в версии может быть следующий:<br />
<br />
* Несколько версий развития в отдельной ветке (1.6.0 ~ dev1, dev2 ~ .6.0, ...).<br />
* В результате разработка постепенно альфа-версии (1.6.0 ~ alpha1, 1.6.0 ~ alpha1, ...).<br />
* После завершения всех основных изменений, мы объединяем версии в тестировании и отладке которое мы обозначим как ~ 1.6.0 бета и выпускаэм бета-версию.<br />
* После отладки предлагаем пользователям принять участие в тестировании RC Если Вы обнаружили ошибки, исправляем их и выпускаем еще один RC (1.6.0 ~ rc1 ...).<br />
* Если все в порядке, мы объединяем результаты и выпускаем главную версию (1.6.0)<br />
* Если вы нашли после выхода некоторые ошибки мы публикуем их в качестве версий 1.6.1, 1.6.2, ... до тех пор, пока вы не объявляем о прекращении поддержки версии.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80_-_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B9_%D1%80%D0%BE%D0%BB%D0%B8_%D0%BA%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D1%8F&diff=2276
Системный администратор - установки пользовательской роли казначея
2018-01-31T14:33:03Z
<p>Quimi: Quimi přesunul stránku [[СиÑтемный админиÑтратор - уÑтановки пользовательÑкой роли к…</p>
<hr />
<div>[[cs: SystemAdmin - nastavení Uživatelská role Pokladník]]<br />
[[en: System Admin - User role treasurer setting]]<br />
<br />
== Администрация - Права доступа - Добавить новое правило ==<br />
<br />
Описание, например'' Казначей может видеть / добавлять / изменять все финансовые документы''<br />
<br />
'''ACO:'''<br />
<br />
Редактировать все записи<br />
<br />
Редактировать собственные записи<br />
<br />
Добавить все записи<br />
<br />
Добавить свои собственные записи<br />
<br />
Просмотреть все записи<br />
<br />
Смотреть собственные записи<br />
<br />
'' 'ARO:'''<br />
<br />
казначей<br />
<br />
'''AXO:'''<br />
<br />
96 Accounts_Controller accounts Счета<br />
<br />
135 Accounts_Controller bank_accounts Банковские счета<br />
<br />
163 Accounts_Controller bank_statements Банковская отчетность<br />
<br />
134 Accounts_Controller bank_transfers Банковские переводы<br />
<br />
55 Accounts_Controller invoices Счета<br />
<br />
95 Accounts_Controller transfers Переводы<br />
<br />
136 Accounts_Controller unidentified_transfers Неидентифицированны переводы<br />
<br />
106 Members_Controller currentcredit Текущий кредит<br />
<br />
107 Members_Controller en_fee первоначальный взнос<br />
<br />
108 Members_Controller en_fee_left Оставшаяся входная оплата<br />
== Администрирование - Управление пользовательскими группами - Добавить новую группу ==<br />
<br />
Назовите ее “Казначей”<br />
<br />
Родители: “Все члены”<br />
<br />
сохраните<br />
<br />
В пользовательских группах выберите строку Кассир, кликните “Редактировать” и выберите пользователей которые будут казначеями, перемещая стрелку вправо и сохраняя.<br />
<br />
130 Settings_Controller fees Платежи<br />
<br />
<br />
<br />
Сохранить</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&diff=2275
Руководство пользователя
2018-01-31T14:32:38Z
<p>Quimi: Quimi přesunul stránku ÐкономичеÑкое руководÑтво na Руководство пользователя bez založení přesměrování</p>
<hr />
<div>[[cs:Uživatelská příručka]] <br />
[[en:User guide]]<br />
<br />
==Меню Финансы==<br />
<br />
Оно содержит все, что связано с деньгами в ассоциации. Права доступа имеют только руководство и администраторы.<br />
<br />
По умолчанию, только совет директоров и администраторов имеет права доступа к этому модулю. Права доступа могут быть отредактированы в модуле прав доступа.<br />
<br />
==Работа==<br />
Участники могут предложить свои работы. Работы могут быть отправлены сетевыми администраторами, техниками, временными работниками или другими активными членами. Каждая работа будет сохраняется как неподтвержденная. Работа подтверждается путем голосования между членами Правления. Никто не может подтвердить работу в одиночку. После того, как работа будет утверждена, будет сгенерирован трансфер со счета Ассоциации на счет пользователя.<br />
<br />
==Расписание==<br />
Расписание похоже на работу. Разница в том, что расписания имеет больше работ. Расписание может быть ежемесячным или неограниченным по времени. По сравнению с работой, здесь пользователь имеет режиме разработки, что позволяет завершить работу, прежде чем отправить ее на голосование.<br />
<br />
==Неопределеные платежи==<br />
Содержит все неопределенные платежи. Платежу, как правило, присваивается идентификатор (номер телефона). Если он заполнен неправильно, то платеж будет неопределенным. Система фиксирует все счета членов банка. Если обычный пользователь сделал ошибку в идентификаторе, то этот платеж может быть идентифицирован по предыдущим платежам пользователя из банковского счета.<br />
<br />
<br />
* Банковский счет объединения<br />
<br />
Существует только один банковский счет объединения в системе после установки. Однако можно добавить еще один. Очень важным является импорт выписки из банка.<br />
<br />
Здесь находятся банковские счета членов. Пользователь не может добавить счет вручную, он создается при импорте. Затем пользователь может видеть банковские переводы, которые не являются двойными. Банковские счета могут быть использованы в случае, если пользователь сделал ошибку в идентификации, так что платеж может быть идентифицирован, если банковский счет пользователя хорошо известен.<br />
<br />
== Двойной счет ==<br />
<br />
* Кредитные счета<br />
<br />
Это наиболее важный вид счета двойной записи. Каждый член имеет один кредитный счет. Платежи будут оплачены с этого счета. В то же время члены регулярно платят с этого счета. Сальдо расчитывается по всем входящим и исходящим переводам. Если баланс отрицательный, пользователь будет об этом уведомлен. В этом случае он будет отключен от Интернета, пока долг не будет оплачен. Если баланс положительный, то это означает, что у пользователя нет долгов.<br />
<br />
*Счет проекта<br />
Каждый активный пользователь имеет право на реализацию проекта. Другие пользователи могут перечислять деньги на этот проект со своих счетов.<br />
<br />
* Оформленный заказ<br />
<br />
Двойная учетная запись указывает на зарегистрированный заказ.<br />
<br />
* Подписчики<br />
<br />
Система двойного расчетного счета, которой клиент будет пользоваться для платежей, например, для обучения, организованного ассоциацией.<br />
<br />
* Расчетный счет<br />
<br />
Все членские взносы перечисляются каждый месяц со счетов членов на расчетный счет. Существует только один расчетный счет в системе, принадлежащий Ассоциации. С этого счета деньги идут на счета инфраструктуры, поставщиков, банковские платежи и т.д.<br />
<br />
*Счета инфраструктуры<br />
<br />
Или счета сетевых инвестиций. На него поступают средства от членских взносов и с расчетных счетов. Деньги от него затем идет в двойные счета поставщиков на развитие сети.<br />
<br />
* Счета поставщиков<br />
<br />
На этот двойной счет поступают средства от всех поставщиков для различных счетов.<br />
<br />
<br />
* Банковские платежи<br />
<br />
Все платежи с банковского счета двойной записи поступают на двойной счет,<br />
который всегда принадлежит только одному банковскому счету Ассоциации.<br />
<br />
* Банковский процент<br />
Во время сделки от двойного банковский счет для двойной счет вступления объединение, коалиция принимает процентных ставок. Всегда принадлежит одной из реальных банковской ассоциацией.<br />
<br />
<br />
* Банковские счета<br />
<br />
Это двойной счет, также называют банковский счет двойной записи. Он всегда корреспондируется только с одним банковским счетом Ассоциации. Идентифицированные платежи поступают с этого счета на счета пользователя для банковских платежей и т.д. На него поступают деньги со счетов двойной записи, банковские проценты и т.д.<br />
<br />
* Прием членских взносов<br />
<br />
Двойные счета, которые представляют все банковские счета всех членов.Членские взносы поступают с них на двойные банковские счета.<br />
<br />
<br />
== История ==<br />
Содержит список всех объектов учета в порядке убывания от новых переводов к старым. Трансферы двойной записи, и совершаются между счетами двойной записи.<br />
<br />
Regular membership fee is subtracted from members card account.<br />
<br />
Регулярный членский взнос списывается с карточонго счета членов.<br />
<br />
<br />
==Денежный поток==<br />
<br />
==Счета==</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%AD%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%B0&diff=2274
Экономика
2018-01-31T14:32:22Z
<p>Quimi: Quimi přesunul stránku Ðкономика na Экономика bez založení přesměrování</p>
<hr />
<div>[[cs:Ekonomika]]<br />
[[en:Economy]]<br />
<br />
= Введение =<br />
Подтверждение членских взносов является типичной проблемой для двойной бухгалтерии. Почему? Потому что http://en.wikipedia.org/wiki/Double-entry_bookkeeping_system# Приблизительно в 12.-13. веке, когда двойная запись впервые появился в письменных упоминаниях,&nbsp; еще никто не cмог придумать лучшей и более простой системы внутренней финансовой отчетности для любого субъекта (индивидуального предпринимателя, НПО, компания или университет ...).<br />
<br />
Принцип двойной бухгалтерии довольно прост: для каждой финансовой сделки он имеет вид<br />
<br />
______________________ Количество ____________________<br />
|Счет-источник | ----------> | Счет-получатель|<br />
| ___________ | | ______________ |<br />
<br />
Например. когда Франта Сиска, печислит ассоциации 1000 крон, то это может отражаться следующим образом:<br />
<br />
______________________ 1000 крон ____________________<br />
| Franta Siska | ----------> | Наш счет в банке|<br />
| ______________________ | | ______________ |<br />
<br />
Или вот так:<br />
______________________ 1000 крон ____________________<br />
| Клиентское извещение | ----------> | Кредит Franta Siska |<br />
| ___________________ | | _______________ |<br />
<br />
Примечание: что означает во втором способе учета "клиентское извещение"?<br />
<br />
Деньги при двойной записи не могут поступить из “ниоткуда”. Учет должен вестись с обеих сторон.<br />
<br />
Преимущество такой запис в том, что если все членские взносы перечисляются на счет "Членские взносы" то текущее состояние этого счета показывает, сколько взносов мы собрали. Баланс счета получается с помощью одного запроса в стиле:<br />
SELECT balance FROM accounts WHERE accounts.name="Членские взносы".<br />
<br />
= DB схема =<br />
При двойном учете мы сами можем открывать нужные счета<br />
<br />
Пример: Вы хотите знать, сколько тратите на кабели UTP. Создайте счет "UTP кабели" на котором будут накапливаться все суммы каждой покупки кабеля UTP.<br />
<br />
В FreenetIS двойные счета, хранятся в '''таблице счетов'''.<br />
<br />
После установки FreenetISu счетов таблица содержит лишь около 5 счетов, но со временем их число растет, потому что каждый платящий пользователь автоматически создает "свой" двойной счет, на ктором хранятся его срадства.<br />
<br />
В FreenetISu пользователь может открыть другой счет двойной записи - это счета проектов, но об этом в следующий раз.<br />
<br />
Переводы между счетами двойной записи хранятся в '''таблице''' '''переводв'''. Ее столбцы :<br />
* Origin_id , destination_id : ID счетов из таблицы счетов<br />
* Previous_transfer_id : ID предыдущей транзакции в сложных операциях, состоящих из нескольких транзакций. Например, движение средств по счету-фактуре отображается двумя транзакциями. Чтобы было понятно, что эти две сделки "должны быть вместе " , установленный во второй транзакции previous_transfer_id и указывать на первую .<br />
* Member_id : ID пользователя, со счета которого берет свое начало сделка . Может показаться, что эта колонка не нужна, потому что в каждом счете пользователя также указан member_id . Но наличие member_id в таблице переводов полезно при многоступенчатой передачи. Например, учета оплаты членского взноса в нашей ассоциации выполняется пятью транзакциями, из которых только в одной присутствует счет пользователя. Мы хотим увидеть, что другие транзакции тоже "вызваны" этим конкретным членом - мы могли бы это выяснить более сложным путем через previous_transfer_id.<br />
* User_id : ID пользователя , который создал эту операцию . В FreenetISu право доступа к экономической части может иметь много людей , поэтому важно знать , кто из них совершил передачу.<br />
* type: 1 = Регулярный ежемесячный взнос , 2 = первоначальный взнос , 4 = пополнения VOIP кредит ...<br />
* datetime : дата и время совершения операции. Например . в банковской он-лайн выписке будут указаны эти дату и время. Дата выставления счета связана с налогооблагаемой операцией .<br />
* Creation_datetime : дата и время , когда передача была введена в FreenetISu<br />
text, amount - назначение платежа и сумма<br />
<br />
Специалисты бухгалтерии, обратите внимание,: Таблица переводов на самом деле это общий журнал учета - такой же, как мой дед 50 лет назад вел на бумаге ...<br />
<br />
==Таблица account_attributes==<br />
Раз уже зашла речь о двойно учете, то неплохо бы выяснить его "совместимость" с законодательством нашей страны.<br />
<br />
Использование Вами счетов двойного учета во FreenetIS дает Вам большую экономию во времени.<br />
<br />
Для достижения совместимости системы с законодательством для каждого счета двойного учета необходимо найти соответствующий счет стандартного учета в соответствии с законодательством.<br />
<br />
Стандартный учет согласно законодательству предусматривает использование т.н. план счетов.<br />
<br />
План счетов представляет собой перечень возможных счетов двойного учета в организации. Для каждого счета в плане счетов определяется его стандартное имя, номер и другие атрибуты.<br />
<br />
План счетов для некоммерческих организаций мало чем отличается для бизнеса, немного отличается для правительства.<br />
<br />
В FreenetIS план счетов хранится в таблице account_attributes как план счетов для некоммерческих организаций. Другие виды планов счетов (например, бизнес) предусмотрены в инсталяции FreenetIS, но до сих пор не были востребованы.<br />
<br />
Больше всего интересует с каким стандартным учетом будут связаны кредитные счета.<br />
<br />
Двойной кредитный счет может быть членом по плану счетов для некоммерческих организаций для реализации либо<br />
# Субстандартный счет "членские взносы" (стандартный номер в план счетов = 684000)<br />
# Субстандартный счет "банковских счетов" (№ 221000)<br />
<br />
В FreenetIS используется второй вариант, потому что он одинаков как для некоммерческих организаций, так и для других лиц,<br />
<br />
Более подробное описание можно найти в этой презентации:<br />
* [Http :/ / zamestnanci.fai.utb.cz / ~ dulik/unart/hospodareni_v1_5.pdf в формате PDF]<br />
* [Http :/ / zamestnanci.fai.utb.cz / ~ dulik/unart/hospodareni_v1_5.odp в формате ODP]<br />
<br />
На слайде 13 показано, как членские взносы будут взиматься в UnArtu (импорт из EBANK).<br />
<br />
===Типы счетов двойного учета, используемые при импорте из банка ===<br />
<br />
* Account_attribute_Model :: MEMBER_FEES - тип "членские взносы"<br />
* Account_attribute_Model :: SUPPLIERS - тип "подрядчики"<br />
* Account_attribute_Model :: OPERATING - операционные счета, на которые поступают все некатегоризованные платежи доходов и расходов Ассоциации<br />
* Account_attribute_Model :: CASH - счета для денежных выплат (наличными)<br />
<br />
== Контроль банковских счетов ==<br />
В отличие от обычных систем учета (Pohoda, Money S3) FreenetIS лучше контролирует показатели банковских счетов членов - FreenetIS позволяет отслеживать все банковские счета каждого члена. Это часто помогает нам определить платежи с неточными или запутанными данными - многие члены (=семей) платят банку со счета жены, который зарегистррован на ее девичью фамилию (отличается от фамилии семьи). мы можем через зарегистрированные банковские счета сразу узнать, членом какой семьи является создатель таких платежей.<br />
<br />
Банковские счета записываются в таблицу'' 'bank_accounts'''.<br />
<br />
После установки FreenetIS в таблице будет только банковский счет Ассоциации.<br />
<br />
Другие записи банковских счетов создаются при импорте из е-банка. В платежах с правильными реквизитами а также сгенерированных при импорте счетам автоматически определяется владелец.<br />
<br />
Если вы хотите импортировать банковские выписки, которые не содержат банковские счета, то вам придется в таблице "bank_accounts" создавать счета как "неизвестные"<br />
<br />
Почему? Читайте в следующей главе:<br />
<br />
== Подтверждение банковских выписок ==<br />
Выписки из банковских счетов заносятся в таблицу '''bank_statement'''.<br />
<br />
Каждая банковская выписка состоит из различных банковских операций.<br />
Банк проводит операции между банковскими счетами.<br />
Таким образом, мы записываем в виде двойной записи переводов между счетами - с помощью таблицы '''bank_transfers''', которая содержит следующие столбцы:<br />
* Origin_id, destination_id: ID банковских счетов таблицы bank_accounts<br />
* Transfer_id: ID записи таблицы переводов. Каждый банковский перевод должен быть идентифицирован дважды т.е. соответствовать к двойной записи. Если Вы не идентифицируете некоторые банковские переводы, будет ошибкой учета - статус двойной записи счета “банковский счет” не будет соответствовать фактическому состоянию банковского счета<br />
* Bank_statement_id ссылка на таблицу банков<br />
* Number: номер строки или номер пункта списка банков<br />
* Variable_symbol, constant_symbol, specific_symbol - это, вероятно, ясно<br />
* Примечание - любой комментарий по учету оплаты<br />
<br />
Дата, время и текст платежей мы решили записывать не в этой таблице, а в таблиц переводов - потому что каждый bank_transfer всегда соответствует переводу, они имели бы то же имя, столбцов в таблице bank_transfers.<br />
<br />
= Терминология =<br />
* Код использует смесь английского "Проще говоря" и официальную бухгалтерскую терминологию.<br />
* Соответствие официальной английской и чешской бухгалтерской терминологии описывается здесь ** [http://ofirme.info/ofirmeinfo/frame3/zakazky/banka/1/Czech-English% 20Dictionary.doc glossary]<br />
PhD work in ** Radek Vogel MUNI Brno].<br />
<br />
= Выписки других банков =<br />
FreenetIS в настоящее время может импортировать выписки HTML ebanka / Райффайзен банка и записей в формате CSV.<br />
Большая часть работы в этой области выполняют анализаторы - особенно HTML парсер ebanka. Поэтому анализаторы написаны так, что они не имеют зависимость от фреймворка Kohana или FreenetIS - это полностью отдельные библиотеки<br />
<br />
В следующих статьях описано:<br />
* [[Подготовка к импорту данных]]<br />
* [[Райффайзенбанк]]<br />
* [[Fio банка]]<br />
* [[Сохранение данных в базу данных]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C_%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C&diff=2273
Изменить пароль
2018-01-31T14:31:54Z
<p>Quimi: Quimi přesunul stránku Изменить пароль na Изменить пароль bez založení přesměrování</p>
<hr />
<div>[[cs:Změnit heslo]]<br />
[[en:Change password]]<br />
<br />
Пользователь может изменить пароль самостоятельно или это может быть выполнено авторизованным администратором. Зашифрованный пароль помещается в базу данных и не может быть восстановлен.<br />
<br />
Для изменения пароля пользователь должен перейти по ссылке Изменение пароля на стрнице своего профиля - после этого откроется новое окно, в котором пользователь может ввести новый пароль, подтвердить его и сохранить изменения.</div>
Quimi
https://wiki.freenetis.org/index.php?title=Zm%C4%9Bna_zapomenut%C3%A9ho_hesla&diff=2272
Změna zapomenutého hesla
2018-01-31T14:30:52Z
<p>Quimi: Quimi přesunul stránku ZmÄ›na zapomenutého hesla na Změna zapomenutého hesla bez založení přesměrování</p>
<hr />
<div>FreenetIS umožnuje vygenerovat nové heslo skrze e-mail přímo členovi/uživateli, který heslo zapomněl. Tato možnost musí být povolena v nastavení.<br />
Heslo může též uživateli změnit administrátor.<br />
<br />
Přimo v databázi lze potom změnit heslo následovně.<br />
<br />
UPDATE users SET PASSWORD = sha( 'nejakeHeslo' ) WHERE id = IDuzivatele<br />
<br />
kde IDuzivatele je celé číslo a vidíte ho ve Freenetisu u daného uživatele ve sloupci ID</div>
Quimi
https://wiki.freenetis.org/index.php?title=Zaji%C5%A1t%C4%9Bn%C3%AD_kvality_slu%C5%BEeb_(QoS)&diff=2271
Zajištění kvality služeb (QoS)
2018-01-31T14:30:32Z
<p>Quimi: Quimi přesunul stránku ZajiÅ¡tÄ›nà kvality služeb (QoS) na Zajištění kvality služeb (QoS) bez založení přesměrování</p>
<hr />
<div>[[en: Quality of service]]<br />
[[ru: Качество обслуживания]]<br />
<br />
Zajištění kvality služeb (QoS) umožnuje jednotlivým členům nastavit různé garantované a maximální rychlosti a pomáhá zaručit kvalitu služeb (např. VoIP). U každého člena je možné explicitně nastavit garantovanou a maximální rychlost a pro dedikované služby lze definovat seznam prioritních IP adres.<br />
<br />
Toto chování je vytvořeno pomocí deamonu, který pravidelně načítá data (definice svého chování) z FreenetiISu, a dle těchto dat ustavuje nástroji iptables a ipset pravidla, které zaručují definované chování.<br />
<br />
== Instalace ze zdrojových kódů ==<br />
<br />
'''Tento postup instalace je zde pro vývojářské účely. Koncový uživatelé by měli instalovat pomocí balíku [http://wiki.freenetis.org/index.php/Instalace#Bal.C3.ADk_freenetis-qos frenetis-qos].'''<br />
<br />
=== Závislosti ===<br />
<br />
apt-get install wget ipset iptables<br />
<br />
=== Instalace ===<br />
<br />
Skripty a konfigurační soubor nalezneme ve složce '''/application/vendors/qos''' ve zdrojových souborech FreenetISu. Postup instalace:<br />
<br />
1) Zkopírujeme soubory<br />
<br />
sudo mkdir /etc/freenetis<br />
cd ./application/vendors/qos<br />
sudo cp ./freenetis-qos.init.sh /etc/init.d/freenetis-qos<br />
sudo cp ./freenetis-qos-sync.sh /usr/sbin/freenetis-qos-sync<br />
sudo cp ./freenetis-qos.conf /etc/freenetis<br />
<br />
2) Nastavit práva pro spouštění<br />
<br />
sudo chmod +x /etc/init.d/freenetis-qos<br />
sudo chmod +x /usr/sbin/freenetis-qos-sync<br />
<br />
3) Přidat automatické spouštění po bootu<br />
<br />
sudo update-rc.d freenetis-qos defaults<br />
<br />
=== Konfigurace ===<br />
<br />
V konfiguračním souboru ''(/etc/freenetis/freenetis-qos.conf)'' '''je nutné nastavit cestu ke FreenetISu ''(proměnná PATH_FN)''.'''<br />
<br />
Dále potom vstupní a výstupní rozhraní (poměnné '''INPUT_INTERFACE''', '''OUTPUT_INTERFACE''').<br />
Vstupním rozhraním se rozumí rozhraní na které se aplikují pravidla pro download a výstupní pro upload pravidla.<br />
<br />
== Spuštění a správa ==<br />
<br />
Skript je spouštěn automaticky po startu systému.<br />
<br />
Manuální spuštění:<br />
<br />
sudo /etc/init.d/freenetis-qos start<br />
<br />
Manuální zastavení:<br />
<br />
sudo /etc/init.d/freenetis-qos stop<br />
<br />
Aktuální stav monitoringu:<br />
<br />
sudo /etc/init.d/freenetis-qos status</div>
Quimi
https://wiki.freenetis.org/index.php?title=Vytvo%C5%99en%C3%AD_tagu&diff=2270
Vytvoření tagu
2018-01-31T14:30:12Z
<p>Quimi: Quimi přesunul stránku VytvoÅ™enà tagu na Vytvoření tagu bez založení přesměrování</p>
<hr />
<div>Tag se vytváří při vydání stabilní verze z trunku, pomocí svn copy.<br />
<br />
svn copy --username=<váš login> svn+ssh://<váš login>@svn.code.sf.net/p/freenetis/code/freenetis/trunk \<br />
svn+ssh://<váš login>@svn.code.sf.net/p/freenetis/code/freenetis/tags/<verze> -m "Release <verze>"</div>
Quimi
https://wiki.freenetis.org/index.php?title=Vypln%C4%9Bn%C3%AD_%C5%BE%C3%A1dosti_o_p%C5%99ipojen%C3%AD&diff=2269
Vyplnění žádosti o připojení
2018-01-31T14:29:54Z
<p>Quimi: Quimi přesunul stránku VyplnÄ›nà žádosti o pÅ™ipojenà na Vyplnění žádosti o připojení bez založení přesměrování</p>
<hr />
<div>#REDIRECT [[Vyplnění žádosti o registraci zařízení do sítě]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=VoIP(%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=2268
VoIP(русский)
2018-01-31T14:29:26Z
<p>Quimi: Quimi přesunul stránku VoIP(руÑÑкий) na VoIP(русский) bez založení přesměrování</p>
<hr />
<div>[[cs:VoIP]]<br />
[[en:VoIP (english)]]<br />
<br />
FreenetIS позволяет управлять VoIP счетами. Система может быть подключена к Asterisk (или [http://www.iptel.org/ser/ SER] и его производным), а затем к биллингу.<br />
== Общая информация == <br />
В системе FreenetIS каждый участник может зарегистрировать только один номер. Если вам нужны дополнительные платежи, требуется регистрация другого пользователя. Пользователь можете изменить информацию о счете VoIP такие как пароль и настройки голосовой почты. Если модуль биллинга активен, то можно отображать список звонков или погашений кредитов.<br />
<br />
== Установка == <br />
Для корректной работы VoIP важно установить в FreenetIS диапазон номеров, которые пользователь может зарегистрировать. Кроме того, можно настроить SIP-прокси-сервер, который будет отображаться в учетной записи пользователя VoIP. Если любой из диапазона чисел не может быть предложен для регистрации, то он должен быть определен из пропущенных номеров.<br />
<br />
== Интеграция с Asterisk ==<br />
<br />
Установите необходимые пакеты (Debian и его производные).<br />
<br />
apt-get install mysql asterisk asterisk-mysql<br />
<br />
Для интеграции с Asterisk создайте представление таблицы voip_sips:<br />
<br />
Прежде всего, необходимо создать базу данных для Asterisk:<br />
<br />
MySQL> create database asterisk;<br />
<br />
А потом представление в базе данных FreenetIS:<br />
<br />
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `asterisk`.`sip` AS select `freenetis`.`voip_sips`.`id` AS `id`,<br />
`freenetis`.`voip_sips`.`name` AS `name`,<br />
`freenetis`.`voip_sips`.`amaflags` AS `amaflags`,<br />
`freenetis`.`voip_sips`.`accountcode` AS `accountcode`,<br />
`freenetis`.`voip_sips`.`callgroup` AS `callgroup`,<br />
`freenetis`.`voip_sips`.`callerid` AS `callerid`,<br />
`freenetis`.`voip_sips`.`canreinvite` AS `canreinvite`,<br />
`freenetis`.`voip_sips`.`context` AS `context`,<br />
`freenetis`.`voip_sips`.`defaultip` AS `defaultip`,<br />
`freenetis`.`voip_sips`.`dtmfmode` AS `dtmfmode`,<br />
`freenetis`.`voip_sips`.`fromuser` AS `fromuser`,<br />
`freenetis`.`voip_sips`.`fromdomain` AS `fromdomain`,<br />
`freenetis`.`voip_sips`.`fullcontact` AS `fullcontact`,<br />
`freenetis`.`voip_sips`.`host` AS `host`,<br />
`freenetis`.`voip_sips`.`insecure` AS `insecure`,<br />
`freenetis`.`voip_sips`.`language` AS `language`,<br />
`freenetis`.`voip_sips`.`mailbox` AS `mailbox`,<br />
`freenetis`.`voip_sips`.`md5secret` AS `md5secret`,<br />
`freenetis`.`voip_sips`.`nat` AS `nat`,<br />
`freenetis`.`voip_sips`.`deny` AS `deny`,<br />
`freenetis`.`voip_sips`.`permit` AS `permit`,<br />
`freenetis`.`voip_sips`.`mask` AS `mask`,<br />
`freenetis`.`voip_sips`.`pickupgroup` AS `pickupgroup`,<br />
`freenetis`.`voip_sips`.`port` AS `port`,<br />
`freenetis`.`voip_sips`.`qualify` AS `qualify`,<br />
`freenetis`.`voip_sips`.`restrictcid` AS `restrictcid`,<br />
`freenetis`.`voip_sips`.`rtptimeout` AS `rtptimeout`,<br />
`freenetis`.`voip_sips`.`rtpholdtimeout` AS `rtpholdtimeout`,<br />
`freenetis`.`voip_sips`.`secret` AS `secret`,<br />
`freenetis`.`voip_sips`.`type` AS `type`,<br />
`freenetis`.`voip_sips`.`username` AS `username`,<br />
`freenetis`.`voip_sips`.`disallow` AS `disallow`,<br />
`freenetis`.`voip_sips`.`allow` AS `allow`,<br />
`freenetis`.`voip_sips`.`musiconhold` AS `musiconhold`,<br />
`freenetis`.`voip_sips`.`regseconds` AS `regseconds`,<br />
`freenetis`.`voip_sips`.`ipaddr` AS `ipaddr`,<br />
`freenetis`.`voip_sips`.`regexten` AS `regexten`,<br />
`freenetis`.`voip_sips`.`cancallforward` AS `cancallforward`,<br />
`freenetis`.`voip_sips`.`setvar` AS `setvar`,<br />
`freenetis`.`voip_sips`.`auth` AS `auth` from `freenetis`.`voip_sips`;<br />
<br />
Кроме того, мы создаем представление для голосовой почты:<br />
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `asterisk`.`voicemail_users` AS select `freenetis`.`voip_voicemail_users`.`id` AS `uniqueid`,<br />
`freenetis`.`voip_voicemail_users`.`customer_id` AS `customer_id`,<br />
`freenetis`.`voip_voicemail_users`.`context` AS `context`,<br />
`freenetis`.`voip_voicemail_users`.`mailbox` AS `mailbox`,<br />
`freenetis`.`voip_voicemail_users`.`password` AS `password`,<br />
`freenetis`.`voip_voicemail_users`.`fullname` AS `fullname`,<br />
`freenetis`.`voip_voicemail_users`.`email` AS `email`,<br />
`freenetis`.`voip_voicemail_users`.`pager` AS `pager`,<br />
`freenetis`.`voip_voicemail_users`.`stamp` AS `stamp` from<br />
`freenetis`.`voip_voicemail_users` where (`freenetis`.`voip_voicemail_users`.`active` = _utf8'1');<br />
<br />
=== Конфигурация MySQL ===<br />
Asterisk может иметь непосредственный доступ к mysq.<br />
<br />
В '''/etc/asterisk/res_mysql.conf''' добавьте<br />
<br />
[general]<br />
dbhost = localhost<br />
dbname = asterisk<br />
dbuser = username<br />
dbpass = password<br />
dbport = 3306<br />
dbsock = /var/run/mysqld/mysqld.sock<br />
<br />
=== Конфигурация Asterisk ===<br />
Все файлы находятся в /etc/asterisk/<br />
В '''extconfig.conf''' некоторые установки читаются из базы данных - они должны быть pre<br />
<pre><br />
sippeers => mysql,asterisk,sip<br />
voicemail => mysql,asterisk,voicemail_users<br />
;extensions => mysql,asterisk, extensions - not yet implemented in FreentIS!!<br />
</pre><br />
Для тестирования соединения с MySQL подключитесь к консоли<br />
<br />
asterisk-rvvv<br />
<br />
и запустите <b>realtime mysql status</b><br />
<br />
sip*CLI> realtime mysql status<br />
Connected to asterisk@localhost, port 3306 with username asterisk for 4 seconds.<br />
<br />
Мы протестировали функционирование соединения.<br />
<br />
Теперь asterisk интегрирован с FreentIS и после добавления VoIP аккаунта в FreenetIS вы можете подключаться к рабочему столу используя программное и техническое обеспечение клиентаt. Статус подключения может быть просмотрен в FreenetIS аккаунт в VoIP<br />
<br />
Затем мы делаем установки Asterisk в зависимости от требований пользователя. Пример конфигурации для Prunk от NFX s.z.p.o.:<br />
<br />
[general]<br />
static=yes<br />
writeprotect=no<br />
userscontext=default<br />
<br />
[default]<br />
<br />
;контекст по умолчанию, он перекрывает все установки других контекстов<br />
exten => s,1,Answer()<br />
exten => s,n,Wait(2)<br />
exten => s,n,Playback(slfree-cal-no-there)<br />
exten => s,n,Hangup()<br />
<br />
[internal]<br />
;контекст по умолчанию для наших номеров<br />
<br />
;Если мы вызываем 11 то мы попадаем на нашу почту<br />
exten => 11,1,Goto(mailbox,s,1)<br />
<br />
;Если мы вызываем экстренную линию то мы попадаем в экстренный контекст<br />
exten => 112,1,Goto(emergency,${EXTEN},1)<br />
exten => 150,1,Goto(emergency,${EXTEN},1)<br />
exten => 155,1,Goto(emergency,${EXTEN},1)<br />
exten => 158,1,Goto(emergency,${EXTEN},1)<br />
<br />
<br />
<br />
==Billing API==<br />
<br />
Billing zapišťuje dobíjení kreditu, tarifikaci hovorů, výpis hovorů aj. Do FreenetISu bylo zaintegrováno LBilling API. LBilling API bylo vyvynuto pro potřeby NFX s.z.p.o. a jeho specifinace je dostupná na interních stránkách NFX. Samotný billing byl ale navržen tak, aby byl univerzální a pouze se měnil ovladač billungu.<br />
<br />
Aktuálně je implementován pouze driver pro Lbilling API NFX. Další API lze dle potřeby doprogramovat.<br />
<br />
=== Instalace synchronizačního skriptu ===<br />
<br />
Synchronizační skript zproztředkovává pro FreenetIS dobíjení kreditu a synchronizaci VoIP uživatelů.<br />
<br />
Před instalací zkontrolujte zda-li máte nainstalovaný na SIP serveru '''perl'''.<br />
<br />
1) Vytvořte MySQL pojmenovanou '''lbilling''' na stejném DB serveru jako máte databázi FreenetISu.<br />
<br />
2) Vytvořte pohledy do FreenetIS databáze (pokud se FreenetIS databáze nejmenuje freenetis, změňte všechny hodnoty '''`freenetis`''' na jméno Vaší databáze, popřípadě změňte i uživatele, který definuje pohledy).<br />
<br />
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `transfers` AS select `freenetis`.`transfers`.`id` AS `id`,`freenetis`.`transfers`.`origin_id` AS `origin_id`,`freenetis`.`transfers`.`destination_id` AS `destination_id`,`freenetis`.`transfers`.`previous_transfer_id` AS `previous_transfer_id`,`freenetis`.`transfers`.`member_id` AS `member_id`,`freenetis`.`transfers`.`user_id` AS `user_id`,`freenetis`.`transfers`.`type` AS `type`,`freenetis`.`transfers`.`datetime` AS `datetime`,`freenetis`.`transfers`.`creation_datetime` AS `creation_datetime`,`freenetis`.`transfers`.`text` AS `text`,`freenetis`.`transfers`.`amount` AS `amount` from `freenetis`.`transfers`;<br />
<br />
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `voip_lbilling_accounts` AS select `voip_lbilling_accounts`.`id` AS `id`,`voip_lbilling_accounts`.`userid` AS `userid`,`voip_lbilling_accounts`.`cid` AS `cid`,`voip_lbilling_accounts`.`state` AS `state`,`voip_lbilling_accounts`.`limit` AS `limit`,`voip_lbilling_accounts`.`tarif` AS `tarif`,`voip_lbilling_accounts`.`descr` AS `descr` from `freenetis`.`voip_lbilling_accounts`;<br />
<br />
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `voip_lbilling_payments` AS select `voip_lbilling_payments`.`id` AS `id`,`voip_lbilling_payments`.`userid` AS `userid`,`voip_lbilling_payments`.`date` AS `date`,`voip_lbilling_payments`.`value` AS `value`,`voip_lbilling_payments`.`state` AS `state`,`voip_lbilling_payments`.`descr` AS `descr` from `freenetis`.`voip_lbilling_payments`;<br />
<br />
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `voip_lbilling_users` AS select `voip_lbilling_users`.`id` AS `id`,`voip_lbilling_users`.`type` AS `type`,`voip_lbilling_users`.`state` AS `state`,`voip_lbilling_users`.`limit` AS `limit`,`voip_lbilling_users`.`currency` AS `currency`,`voip_lbilling_users`.`descr` AS `descr` from `freenetis`.`voip_lbilling_users`;<br />
<br />
2) Na SIP server umístěte následující soubory [[lbilling-synchronization.pl]] a [[html.tt]] do složky '''/usr/local/bin/lbilling/'''<br />
<br />
3) Nastavte práva pro synchronizační skript:<br />
<br />
chmod a+x /usr/local/bin/lbilling/lbilling-synchronization.pl<br />
<br />
4) Nakonfigurujte proměnné ve skriptu [[lbilling-synchronization.pl]] (sekce configuration).<br />
<br />
nano /usr/local/bin/lbilling/lbilling-synchronization.pl<br />
<br />
5) Přidejte synchronizační skript (následující řádky) do CRONu (/etc/crontab):<br />
<br />
#lBilling synchronization<br />
30 22 * * * root perl /usr/local/bin/lbilling/lbilling-synchronization.pl -s<br />
*/5 * * * * root perl /usr/local/bin/lbilling/lbilling-synchronization.pl -p<br />
<br />
<br />
?????А ДЕ ПЕРЕКЛАД “==Billing API==”???</div>
Quimi
https://wiki.freenetis.org/index.php?title=Verzov%C3%A1n%C3%AD_FreenetISu&diff=2267
Verzování FreenetISu
2018-01-31T14:29:02Z
<p>Quimi: Quimi přesunul stránku Verzovánà FreenetISu na Verzování FreenetISu bez založení přesměrování</p>
<hr />
<div>#PŘESMĚRUJ [[Verzování]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=Verzov%C3%A1n%C3%AD&diff=2266
Verzování
2018-01-31T14:28:41Z
<p>Quimi: Quimi přesunul stránku Verzovánà na Verzování bez založení přesměrování</p>
<hr />
<div>[[en:Versioning]]<br />
[[ru:Версии]]<br />
<br />
FreenetIS používá třímístné verzovací číslo (tj. x.x.x).<br />
<br />
* První číslo je vždy 1 ''(verze 2 má být napsána v Java EE a je zatím v nedohlednu)''<br />
<br />
* Druhé číslo je nejdůležitějším, jelikož informuje o rozsáhlých změnách a přidané funkcionalitě. (lze pozorovat v [http://dev.freenetis.org/projects/freenetis/roadmap plánu vývoje])<br />
<br />
* Třetí číslo informuje o záplatách a drobných změnách ve verzi dané druhým číslem.<br />
<br />
Aktuální verze instance FreenetISu je uložena v souboru '''/version.php'''.<br />
<br />
== Vývojářské verze ==<br />
<br />
Výše zmíněné verzování je určeno pro distribuci mezi uživatele (tj. ve větvi trunk). Pro vývojářské účely je přidána další položka verze uvozená znakem '''~'''. Za tímto znakem může být uvedena právě jedna z následujících položek:<br />
<br />
* '''dev''' označuje vývojářskou verzi - nachází v branchích mimo testing (obsahuje nestabilní a neúplné implementace nových verzí)<br />
<br />
* '''alpha''' označuje aplha verzi - nachází se v branchích, převážně v testingu (obsahuje částečně hotové implementace)<br />
<br />
* '''beta''' označuje beta verzi - nachází se v branchích, převážně v testingu (obsahuje hotové implementace vhodné pro otestování)<br />
<br />
* '''rc''' označuje Release Candidate verzi - nachází se v testingu (hotové odladěná implementace k finálnímu otestování)<br />
<br />
Za položkou může být ještě číslo, které umožňuje vytvářet více verzí se stejnou položkou a řadit je za sebou. Řazení verzí (použité např. při [http://wiki.freenetis.org/index.php/Autoupdate_DB_struktury Autoupdate_DB_struktury]) je shodné s pořadím v seznamu (tj. dev < alpha < beta < rc). Všechny vývojářské verze jsou řazeny před finální verze (x.x.x).<br />
<br />
=== Příklad verzování vývojové verze ===<br />
<br />
Mějme aktuální verzi 1.5.0. Chceme postupně vyvinout verzi 1.6.0, náš postup ve verzování by mohl být například následující:<br />
<br />
* Několik vývojových verzi v samostatné branchi (1.6.0~dev1, .6.0~dev2, ...).<br />
* Výsledek vývoje vydáme postupně jako alpha verze (1.6.0~alpha1, 1.6.0~alpha1, ...).<br />
* Po dokončení všech hlavních změn uděláme merge do testingu, který označíme jako 1.6.0~beta, a do odladění vydáváme další beta verze.<br />
* Po odladění nabídneme v testingu uživatelům ještě RC, pokud narazíme na chyby, opravíme je a vydáme další RC (1.6.0~rc1, ...).<br />
* Pokud je vše OK provedeme merge do trunku a vydáme verzi (1.6.0)<br />
* Pokud po vydání jsou nalezeny nějaké chyby vydáváme je jako verze 1.6.1, 1.6.2, ... do doby, dokud verzi neprohlásíme za nepodporovanou.</div>
Quimi
https://wiki.freenetis.org/index.php?title=V%C3%BDvojov%C3%A1_prost%C5%99ed%C3%AD_(IDE)&diff=2265
Vývojová prostředí (IDE)
2018-01-31T14:28:25Z
<p>Quimi: Quimi přesunul stránku Vývojová prostÅ™edà (IDE) na Vývojová prostředí (IDE) bez založení přesměrování</p>
<hr />
<div>[[en:Integrated Development Environment (IDE)]]<br />
=V čem vyvíjíme a proč?=<br />
Část vývojářů FreenetISu používá Eclipse, část Netbeans.<br />
<br />
Důvody pro Eclipse:<br />
*Výborný debugger<br />
*Dobrý napovídač kódu<br />
*Pluginy pro SVN i GIT<br />
Ve srovnání s Netbeans má Eclipse tyto výhody:<br />
*lepší odezvy<br />
*menší zátěž CPU<br />
*menší spotřeba paměti<br />
<br />
Důvody pro Netbeans:<br />
*Když nemáte rádi Eclipse :-)<br />
<br />
=Eclipse=<br />
Momentálně používáme Eclipse 3.5 (Galileo).<br />
Eclipse 3.6 (Helios) má totiž nějakou závadu v napovídači - místo souborové databáze nově používá nějakou Java DB, která způsobuje při psaní kódu velkou zátěž CPU a nepříjemné prodlevy po napsání každého slova/písmena.<br />
<br />
==Integrace SVN==<br />
Je možné použít Subclipse i Subversive.<br />
Subversive má funkční graf revizí a hlavně editor rozdílů pro řešení konfliktů, což se mi se Subclipse nepodařilo zprovoznit.<br />
<br />
Install/Update site pro Subversive v Eclipse 3.5 je zde:<br />
http://download.eclipse.org/technology/subversive/0.7/update-site/ <br />
SVN connectors pro tuto verzi Subversive jsou zde:<br />
http://community.polarion.com/projects/subversive/download/eclipse/archive/I20091009-1900/<br />
<br />
=Netbeans=</div>
Quimi
https://wiki.freenetis.org/index.php?title=V%C3%BDpis_rozhran%C3%AD_norm%C3%A1ln%C3%ADch_%C4%8Dlen%C5%AF_maj%C3%ADc%C3%AD_v%C3%ADce_ne%C5%BE_jednu_IP_adresu&diff=2264
Výpis rozhraní normálních členů mající více než jednu IP adresu
2018-01-31T14:28:00Z
<p>Quimi: Quimi přesunul stránku Výpis rozhranà normálnÃch Älenů majÃcà vÃce než jednu IP adresu na Výpis rozhraní normálních členů mající více než jednu IP adresu bez založení přesměrování</p>
<hr />
<div>Následující SQL skript vypíše členy, zařízení a rozhraní mající více než jednu IP adresu. Z výpisu jsou vyřazeni zařízení patřící uživateli s ID 1 (tj. patřící sdružení).<br />
<br />
select * from (select m.id as ID, m.name as jmeno, d.id as zarizeni_ID, d.name as zarizeni_jmeno, ic.mac, count(ip.ip_address) as pocet_ip_adres from ifaces ic<br />
left join ip_addresses ip on ic.id = ip.iface_id<br />
left join devices d on ic.device_id = d.id<br />
left join users u on d.user_id = u.id<br />
left join members m on u.member_id = m.id<br />
where d.user_id <> 1<br />
group by ic.id) as q<br />
where pocet_ip_adres > 1<br />
order by q.pocet_ip_adres desc</div>
Quimi
https://wiki.freenetis.org/index.php?title=Ukl%C3%A1d%C3%A1n%C3%AD_dat_do_datab%C3%A1ze&diff=2263
Ukládání dat do databáze
2018-01-31T14:27:12Z
<p>Quimi: Quimi přesunul stránku Ukládánà dat do databáze na Ukládání dat do databáze bez založení přesměrování</p>
<hr />
<div>=Ochrana proti vícenásobnému importu=<br />
Mohlo by se stát, že uživatel omylem naimportuje jeden výpis 2x. Nemusí to být chyba z nepozornosti typu "import 2x stejného souboru", klidně je možné, že naimportuje týdenní výpis a pak měsíční výpis, ve kterém je ten týden už také obsažen. V každém případě výsledkem bude několik desítek až stovek transakcí v tabulkách transfers a bank_transfers, které tam nepatří.<br />
<br />
První řešení, které nás napadlo pro ošetření této chyby, je použití UNIQUE indexu přes všechny sloupce tabulky bank_transfers, které dohromady tvoří unikátní klíč. Bohužel jsme zjistili, že řádky výpisů z ebanky unikátní nejsou - běžně se nám stává, že ve stejné sekundě přijdou 2 platby od jednoho člena, které mají stejnou částku, variabilní symbol i text.<br />
<br />
Proto jediné možné řešení spočívá v tomto přístupu:<br />
* při ukládání každé bankovní transakce do databáze je nutné se podívat, jestli stejná transakce už v databázi není z nějakého minulého importu. Čas importu je zaznamenán v podvojném zaúčtování každé bankovní transakce, tj. v záznamu v tabulce transfers, který je s každým bank_transfer-em svázán. <br />
* budeme tedy testovat, zda není splněná podmínka: <br />
bank_transfer_exist() && bank_transfer->transfer->datetime != čas_aktuálního_importu<br />
*test "bank_transfer_exist()" ovšem znamená, že budeme muset procházet všechny bank_transfers (tj. tisíce řádků) a porovnávat údaje ze všech sloupců na shodu. Aby tato operace byla co nejrychlejší, je potřeba tabulku bank_transfers vhodně naindexovat - vytvořit index přes více sloupců. Problematiku vícesloupcových indexů [http://blog.decaresystems.ie/index.php/2007/05/21/how-to-create-a-successful-multi-column-index-from-first-principals/ vysvětluje tento článek], při výrobě tohoto indexu potřebujeme statistiky, o kterých píše [http://blog.decaresystems.ie/index.php/2007/06/11/a-sample-query-to-determine-relative-cardinality/ tento článek].<br />
<br />
Ve FreenetISu kontrolu duplicit v tabulkách bank_transfers JOIN transfers řeší funkce<br />
public static function get_duplicities($data)<br />
která je v souboru<br />
freenetis/.../application/models/bank_transfer.php<br />
<br />
Tato funkce je dostatečně efektivní.<br />
<br />
Příklad: naše tabulka "bank_transfers" má teďka 20684 záznamů, tj. počet bank. převodů za 3 roky. Tabulka "transfers" má kolem 120tis. záznamů.<br />
<br />
Přitom SQL dotaz pro hledání duplicitního řádku výpisu je bleskový. Vypadá takto (příklad našich reálných dat):<br />
<br />
SELECT t.datetime, t.creation_datetime, t.text, bt . *<br />
FROM bank_transfers AS bt<br />
JOIN transfers AS t ON bt.transfer_id = t.id<br />
AND t.datetime = '2010-10-01 07:54:00'<br />
AND t.text = 'Prispevek 2010 - Karel V., Horní Dolní 23'<br />
AND bt.number = '20'<br />
AND bt.variable_symbol = 1234567<br />
<br />
Zobrazeny záznamy 0 - 0 (1 celkem, dotaz trval 0.0211 sekund)<br />
<br />
SQL dotaz "explain" vysvětluje, proč je to tak rychlé:<br />
id select_type table type possible_keys key key_len ref rows Extra<br />
1 SIMPLE t ref PRIMARY,datetime datetime 773 const,const 1 Using where<br />
1 SIMPLE bt ref transfer_id,number transfer_id 5 freenetis.t.id 1 Using where<br />
<br />
Tj. nejdřív se v tabulce "transfers" pomocí multicolumn indexu (s hloupě zvoleným jménem) "datetime", který je vytvořen nad sloupci "datetime" a "text" najdou všechny transfery ze zadaného data se zadaným textem platby. To je typicky 1, max. 2 záznamy. Multicolumn používám proto, že by to mělo být efektivnější než 2 nezávislé indexy.<br />
<br />
S těmito 1-2ma transfery se pak udělá JOIN na bank_transfers, kde jsou velmi rychle dohledány opravdové duplicity. Jak vidíš, multicolumn index "number" nakonec mysql asi nepoužije, protože pro 1-2 joinované položky už je to zbytečné.<br />
<br />
==Proč nepoužívám hash==<br />
V některých parserech jsem viděl kontrolu duplicit řešeno pomocí md5 hashe.<br />
<br />
Pokud bych použil (md5) hash, pak bych tuto hash v databázi - jako každou součást join podmínky - určitě taky indexoval a abych tam neměl falešné duplicity (jakýkoli hash - tedy i md5 - může mít kolize, tj. že hash(x) == hash(y), přičemž x!=y), stejně bych v tom dotazu v případě shody hashů musel testovat i shodu všech hashovaných údajů.<br />
<br />
Tj. ve výsledku by ten dotaz byl ještě o jednu AND podmínku delší a v tabulce bank_transfers bych měl o jeden sloupec víc.<br />
<br />
Proto jsem hash nakonec vůbec nepoužil.<br />
<br />
=Tvorba převodů mezi podvojnými účty=<br />
Pokud se díváte na kód importu (application/controllers/import.php), tak se prosím radši ani nedívejte na funkci<br />
public function store_transfer_ebanka($data)<br />
neboť to je naprosto strašný kód, vzniklý šílenými nápady naší SR, která chtěla, aby se za každou platbu členovi strhl poplatek 30 Kč, ale zároveň aby bankovní poplatek (teď myslím 7 Kč?) eBanky mu byl "darován" sdružením zpátky a aby to opravdu ve výpise transakcí člen viděl jako 2 řádky (-30 Kč, pak +7 Kč).<br />
<br />
Kromě této hrůzy, která naštěstí byla novou SR uznána jako kravina a u FIO účtu už nebude provozvána, je tam další velký kus kódu, který se snaží z kombinací částek, poplatků a textu plateb sám poznat, zda je v položce výpisu členský příspěvek, úrok, bank. poplatek, operace s termínovaným vkladem, platba dodavateli atd.<br />
Rozpoznané typy plateb pak správně podvojně zaúčtuje.</div>
Quimi
https://wiki.freenetis.org/index.php?title=U%C5%BEivatel_-_p%C5%99idat_za%C5%99%C3%ADzen%C3%AD_-_p%C5%99ipojen_bezdr%C3%A1tov%C4%9B_s_NATem&diff=2262
Uživatel - přidat zařízení - připojen bezdrátově s NATem
2018-01-31T14:26:54Z
<p>Quimi: Quimi přesunul stránku Uživatel - pÅ™idat zaÅ™Ãzenà - pÅ™ipojen bezdrátovÄ› s NATem na Uživatel - přidat zařízení - připojen bezdrátově s NATem bez založení přesměrování</p>
<hr />
<div>[[en: User - add devices - connect with wireless to NAT]]<br />
[[ru: Пользователь - добавить устройства - устанавливать беспроводное соединение с NAT]]<br />
<br />
Připojení k síti je možno vytvořit několika způsoby:<br />
<br />
a) jsi v místě, kde je např. optická síť LAN, nebo kabelová síť připojená přímo k vysílacímu bodu, počítač je připojen přímo, nebo prostřednictvím domácího routeru drátového nebo WiFi <br />
<br />
b) jsi připojen bezdrátově k nějakému vysílači zařízením, které provádí překlad adres, tzv. NAT - připojené zařízení má adresu od poskytovatele, počítače v síti mají adresy vnitřní sítě, <br />
<br />
c) jsi připojen bezdrátově k nějakému vysílači zařízením, které neprovádí překlad adres, tzv. bridge - připojené počítače mají adresy ze sítě poskytovatele<br />
<br />
<br />
<br />
Tento text popisuje variantu '''b) - bezdrátové připojení s NATem'''<br />
<br />
<br />
1) Vstup do detailu člena<br />
<br />
[[Soubor:U-detailclena.PNG]]<br />
<br />
<br />
<br />
2) Zobraz zařízení klienta<br />
<br />
[[Soubor:U-zarizeniclena.PNG]]<br />
<br />
<br />
<br />
3) Klikni na '''Přidat zařízení''' a vyplň informace pouze u bezdrátového rozhraní a vyber ze seznamu zařízení to, ke kterému jsi připojen, pokud to víš.<br />
<br />
[[Soubor:U-novezarizeni.PNG]]<br />
<br />
<br />
<br />
<br />
<br />
[[Soubor:U-klientrozhrani.PNG]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
[[Soubor:U-klientulozeno.PNG]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=Tvorba_parseru_bankovn%C3%ADch_v%C3%BDpis%C5%AF&diff=2261
Tvorba parseru bankovních výpisů
2018-01-31T14:25:15Z
<p>Quimi: Quimi přesunul stránku Tvorba parseru bankovnÃch výpisů na Tvorba parseru bankovních výpisů bez založení přesměrování</p>
<hr />
<div>Tento návod popisuje jak vytvořit parser bankovních výpisů integrovaný do systému FreenetIS.<br />
<br />
== Postup parseru pro import ze souboru ==<br />
<br />
Budeme vytvářet parser pro banku ABC, který je schopný parsovat výpisy ve formátu CSV.<br />
<br />
* Ve složce '''/application/libraries/importers''' vytvoříme soubor '''Abc_Csv_Bank_Statement_File_Importer.php''', do kterého vložíme kostru PHP třídy reprezentující parser a jejíž metody implementujeme:<br />
<br />
<?php defined('SYSPATH') or die('No direct script access.');<br />
/*<br />
* This file is part of open source system FreenetIS<br />
* and it is released under GPLv3 licence.<br />
* <br />
* More info about licence can be found:<br />
* <nowiki>http://www.gnu.org/licenses/gpl-3.0.html</nowiki><br />
* <br />
* More info about project can be found:<br />
* <nowiki>http://www.freenetis.org/</nowiki><br />
* <br />
*/<br />
<br />
/**<br />
* Parser for ABC bank that parses CSV files.<br />
* <br />
* @author <vaše jméno><br />
*/<br />
class Abc_Csv_Bank_Statement_File_Importer extends Bank_Statement_File_Importer<br />
{<br />
protected function check_file_data_format()<br />
{<br />
<br />
}<br />
<br />
protected function get_header_data()<br />
{<br />
<br />
}<br />
<br />
protected function parse_file_data()<br />
{<br />
<br />
}<br />
<br />
protected function store(&$stats = array())<br />
{<br />
<br />
}<br />
}<br />
<br />
* Metoda '''check_file_data_format''' kontroluje formát vstupního souboru, jehož obsah ve formě řetězce lze získat pomocí volání '''$this->get_file_data()'''. Metoda vrací '''TRUE''' pokud je soubor v pořádku jinak '''FALSE'''.<br />
<br />
* Metoda '''get_header_data''' slouží pro získání hlavičky výpisu (číslo bank. účtu, zůstatky, apod.). Hlavičkou je míněna instance třídy '''Header_Data'''. Příklad implementace metody:<br />
<br />
protected function get_header_data()<br />
{<br />
// parsování hlavičky z get_file_data ....<br />
<br />
$hd = new Header_Data(<číslo bank. účtu>, <číslo banky>);<br />
// nepovinné vlastnosti, které se mohou používat v dalších metodách<br />
$hd->currency = 'CZK';<br />
$hd->openingBalance = <poč stav>;<br />
$hd->closingBalance = <konečný stav>;<br />
$hd->dateStart = <datum od>;<br />
$hd->dateEnd = <datum do>;<br />
// ...<br />
<br />
return $hd;<br />
}<br />
<br />
* Metoda '''parse_file_data''' realizuje samotné parsování výpisu a dočasné uložení jeho obsahu v libovolném formátu uvnitř vytvořené třídy. K uloženému obsahu poté přistupujeme (ukládáme) v poslední metodě '''store'''. Obvykle si pro potřeby uložení vytvoříme ve třídě členskou proměnnou. Funkce vrací '''TRUE''' pokud parsování proběhlo v pořádku jinak '''FALSE'''. Chyby lze jako u ostatních metod hlásit zděděnými metodami '''add_error(message)''' nebo '''add_exception_error(exception)'''.<br />
<br />
* Metoda '''store''' ukládá připravená rozparsovaná data do databáze FreenetISu. Při její implementaci je nutné znát vnitřní mechanismy účtování FreenetISu. Nejjednodušší implementace, která umožňuje pouze přijímat členské příspěvky je následující:<br />
<br />
protected function store(&$stats = array())<br />
{<br />
$statement = new Bank_statement_Model();<br />
$ba = $this->get_bank_account();<br />
$user_id = $this->get_user_id();<br />
<br />
try<br />
{<br />
/* header */<br />
<br />
$statement->transaction_start();<br />
$header = $this->get_header_data();<br />
<br />
// bank statement<br />
$statement->bank_account_id = $ba->id;<br />
$statement->user_id = $this->get_user_id();<br />
$statement->type = $this->get_importer_name();<br />
$statement->from = $header->dateStart;<br />
$statement->to = $header->dateEnd;<br />
$statement->save_throwable();<br />
<br />
/* transactions */<br />
<br />
// preparation of system double-entry accounts<br />
$member_fees = ORM::factory('account')->get_account_by_attribute(Account_attribute_Model::MEMBER_FEES);<br />
$operating = ORM::factory('account')->get_account_by_attribute(Account_attribute_Model::OPERATING);<br />
$account = $ba->get_related_account_by_attribute_id(Account_attribute_Model::BANK);<br />
<br />
// model preparation<br />
$bt = new Bank_transfer_Model();<br />
$fee_model = new Fee_Model();<br />
<br />
// statistics preparation<br />
$stats['unidentified_nr'] = 0;<br />
$stats['invoices'] = 0;<br />
$stats['invoices_nr'] = 0;<br />
$stats['member_fees'] = 0;<br />
$stats['member_fees_nr'] = 0;<br />
$stats['interests'] = 0;<br />
$stats['interests_nr'] = 0;<br />
$stats['deposits'] = 0;<br />
$stats['deposits_nr'] = 0;<br />
<br />
// miscellaneous preparation<br />
$now = date('Y-m-d H:i:s');<br />
$number = 0;<br />
<br />
// saving each bank listing item<br />
foreach ($this->preparedData as $item) //// ZDE PŘISTUPUJEME K PŘEDPARSOVANÝM DATŮM<br />
{<br />
// try to find counter bank account in database<br />
$counter_ba = ORM::factory('bank_account')->where(array<br />
(<br />
'account_nr' => $item['protiucet'],<br />
'bank_nr' => $item['kod_banky']<br />
))->find();<br />
<br />
// counter bank account does not exist? let's create new one<br />
if (!$counter_ba->id)<br />
{<br />
$counter_ba->clear();<br />
$counter_ba->set_logger(FALSE);<br />
$counter_ba->name = $item['nazev_protiuctu'];<br />
$counter_ba->account_nr = $item['protiucet'];<br />
$counter_ba->bank_nr = $item['kod_banky'];<br />
$counter_ba->member_id = NULL;<br />
$counter_ba->save_throwable();<br />
}<br />
<br />
// inbound transfer - member fee<br />
<br />
// let's identify member<br />
$member_id = $this->find_member_by_vs($item['vs']);<br />
<br />
if (!$member_id)<br />
{<br />
$stats['unidentified_nr']++;<br />
}<br />
<br />
// double-entry incoming transfer<br />
$transfer_id = Transfer_Model::insert_transfer(<br />
$member_fees->id, $account->id, null, $member_id,<br />
$user_id, null, $item['datum'], $now, $item['zprava'],<br />
abs($item['castka'])<br />
);<br />
// incoming bank transfer<br />
$bt->clear();<br />
$bt->set_logger(false);<br />
$bt->origin_id = $counter_ba->id;<br />
$bt->destination_id = $ba->id;<br />
$bt->transfer_id = $transfer_id;<br />
$bt->bank_statement_id = $statement->id;<br />
$bt->transaction_code = $item['id_pohybu'];<br />
$bt->number = $number;<br />
$bt->constant_symbol = $item['ks'];<br />
$bt->variable_symbol = $item['vs'];<br />
$bt->specific_symbol = $item['ss'];<br />
$bt->save();<br />
<br />
// assign transfer? (0 - invalid id, 1 - assoc id, other are ordinary members)<br />
if ($member_id && $member_id != Member_Model::ASSOCIATION)<br />
{<br />
$ca = ORM::factory('account')->where('member_id', $member_id)->find();<br />
// has credit account?<br />
if ($ca->id)<br />
{<br />
// add affected member for notification<br />
$this->add_affected_member($member_id);<br />
<br />
// assigning transfer<br />
$a_transfer_id = Transfer_Model::insert_transfer(<br />
$account->id, $ca->id, $transfer_id, $member_id,<br />
$user_id, null, $item['datum'], $now,<br />
__('Assigning of transfer'), abs($item['castka'])<br />
);<br />
<br />
// transaction fee<br />
$fee = $fee_model->get_by_date_type($item['datum'], 'transfer fee');<br />
if ($fee && $fee->fee > 0)<br />
{<br />
$tf_transfer_id = Transfer_Model::insert_transfer(<br />
$ca->id, $operating->id, $transfer_id,<br />
$member_id, $user_id, null, $item['datum'],<br />
$now, __('Transfer fee'), $fee->fee<br />
);<br />
}<br />
<br />
if (!$counter_ba->member_id)<br />
{<br />
$counter_ba->member_id = $member_id;<br />
$counter_ba->save_throwable();<br />
}<br />
}<br />
}<br />
// member fee stats<br />
$stats['member_fees'] += abs($item['castka']);<br />
$stats['member_fees_nr']++;<br />
<br />
// line number increase<br />
$number++;<br />
}<br />
<br />
// done<br />
$statement->transaction_commit();<br />
<br />
// return<br />
return $statement;<br />
}<br />
catch (Duplicity_Exception $e)<br />
{<br />
$statement->transaction_rollback();<br />
throw $e;<br />
}<br />
catch (Exception $e)<br />
{<br />
$statement->transaction_rollback();<br />
Log::add_exception($e);<br />
$this->add_exception_error($e);<br />
return NULL;<br />
} <br />
}<br />
<br />
Implementace metody '''store''' je složitější, a proto je vhodné ji konzultovat s vývojáři zodpovědnými za účetnictví.<br />
<br />
=== Použití zhotoveného parseru (třídy) ===<br />
<br />
Parser je strukturován do výše uvedených pevně předepsaných metod, aby bylo možné jeho životní cyklus řídit automaticky dalšími částmi systému. Nemusíme díky tomu řešit načítání souboru, hlášení chyb, oznámení o přijaté platbě, aj.<br />
<br />
Implementovaný parser je nutné zaregistrovat v souboru '''/application/libraries/Bank_Statement_File_Importer.php''' v proměnné '''$drivers'''. Příklad:<br />
<br />
private static $drivers = array<br />
(<br />
// .....<br />
<br />
/* ABC - CSV - Obtained from ABC e-banking */<br />
array<br />
(<br />
'name' => 'ABC CSV importer', // název<br />
'class' => 'Abc_Csv_Bank_Statement_File_Importer', // třída<br />
'bank_type' => Bank_account_Model::TYPE_ABC,<br />
'extensions' => array('csv')<br />
)<br />
);<br />
<br />
Pokud není typ banky ABC v systému zaveden, je nutné v souboru '''/application/models/Bank_account_Model.php''' typ dodefinovat, což obnáší definici nové konstanty pro typ a název typu v proměnné '''$type_name'''. Typem se zajišťuje, aby nebyl použit pro import výpisu nevhodný parser vzhledem k bankovnímu účtu.<br />
<br />
Posledním krokem je modifikace kontroleru '''import''' ('''/application/controllers/import.php'''), ve kterém se lze plně inspirovat jeho částí pro FIO parser.<br />
<br />
== Postup parseru pro import z API ==<br />
<br />
Značně se liší dle příslušného API. Oproti souboru je navíc nutné implementovat nastavení přístupu k API u bank. účtu a někdy také v parseru implementovat metodu '''before_download''', která připravuje půdu pro stáhnutí souboru z API. Příklad hledejte u FIO parseru.</div>
Quimi
https://wiki.freenetis.org/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F&diff=2260
Технические условия
2018-01-31T14:24:51Z
<p>Quimi: Quimi přesunul stránku TехничеÑкие уÑÐ»Ð¾Ð²Ð¸Ñ na Технические условия bez založení přesměrování</p>
<hr />
<div>[[cs: Specifikace]]<br />
[[en: Specifications]]<br />
<br />
== FreenetIS 1.0 ==<br />
<br />
[http://freenetis.svn.sourceforge.net/viewvc/freenetis/freenetis/branches/qcodo/wwwroot/doc/FreeNetIS-specifikace_v_0-6.pdfПо умолчанию] спецификация, которая была использована для двух диссертаций и основывалась на других разработчиках. Данная спецификация, но в настоящее время действующая. Там было много изменений, например платежи в конечном итоге были решены и реализованы совершенно по-разному.<br />
<br />
Диссертации, в результате реализации основных членов и платежей.<br />
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Danek-MVC-Freenetis.pdf DP Petra Daňka]<br />
Диссертации, в результате реализации основного оборудования.<br />
* [http://zamestnanci.fai.utb.cz/~dulik/diplomky/2007-2008/Rozehnal-MVC-freenetis.pdf DP Marka Rozehnala]<br />
<br />
Документация для дальнейшего расширения и модификации системы была создана другими программистами, может быть найдена только на этой вики или непосредственно в исходном коде.<br />
<br />
Вводная презентация по реализации экономики:<br />
*[[Media:Hospodareni.odp|formát ODP]]<br />
*[[Media:Hospodareni.pdf|formát PDF]]<br />
<br />
Девиз FreenetIS 2 "система без компромиссов" - то есть, мы хотим избежать компромиссных решений которые мы сделали в FreenetIS 1 и сегодня мы дорого расплачиваемся за это все большим числом компромиссов.<br />
<br />
Весь FreenetIS должны быть созданы в Java EE.<br />
<br />
===Схема базы данных===<br />
<br />
Примечание: Чтобы нарисовать ER диаграммы, есть несколько проектов с открытым кодом - их оценка на [[Editory ERD]].<br />
<br />
*[[Adresář|Address book]]<br />
*[[Síť|Network]]<br />
<br />
===ORM===<br />
<br />
Одна из структур обеспечения Java API (например, Hibernate)<br />
<br />
===Просмотры===<br />
<br />
Выбор между JPS, JSF, RichFaces, ...</div>
Quimi
https://wiki.freenetis.org/index.php?title=SystemAdmin_-_nastaven%C3%AD_U%C5%BEivatelsk%C3%A9_role_Pokladn%C3%ADk&diff=2259
SystemAdmin - nastavení Uživatelské role Pokladník
2018-01-31T14:23:56Z
<p>Quimi: Quimi přesunul stránku SystemAdmin - nastavenà Uživatelská role PokladnÃk na SystemAdmin - nastavení Uživatelské role Pokladník bez založení přesměrování</p>
<hr />
<div>[[en: System Admin - User role treasurer setting]]<br />
[[ru: Системный администратор - установки пользовательской роли казначея]]<br />
<br />
Pokladník by měl mít přístup ke všem finančním transakcím, asi by ale neměl mít právo mazat ani svoje ani cizí záznamy.<br />
<br />
<br />
== Administrace - Přístupové skupiny uživatelů - Přidat novou skupinu ==<br />
<br />
Nějak ji pojmenuj, např. ''Pokladník''<br />
<br />
Rodič: ''Řádní členové''<br />
<br />
Uložit<br />
<br />
<br />
V tabulce Skupin uživatelů vyber řádek Pokladník a klikni na Upravit a vyber uživatele, který bude pokladníkem, šipkou jej přesuň vpravo a ulož.<br />
<br />
<br />
<br />
== Administrace - Přístupová práva - Přidat nové pravidlo ==<br />
<br />
Popis např. ''Pokladník smí vidět/přidat/upravit všechny finanční záznamy''<br />
<br />
'''ACO:'''<br />
<br />
Upravovat všechny záznamy<br />
<br />
Upravovat vlastní záznamy<br />
<br />
Přidávat všechny záznamy<br />
<br />
Přidávat vlastní záznamy<br />
<br />
Vidět všechny záznamy<br />
<br />
Vidět vlastní záznamy<br />
<br />
<br />
<br />
'''ARO:'''<br />
<br />
Pokladník<br />
<br />
<br />
'''AXO:'''<br />
<br />
96 Accounts_Controller accounts Accounts<br />
<br />
135 Accounts_Controller bank_accounts Bank accounts<br />
<br />
163 Accounts_Controller bank_statements Bank statements<br />
<br />
134 Accounts_Controller bank_transfers Bank transfers<br />
<br />
55 Accounts_Controller invoices Invoices<br />
<br />
95 Accounts_Controller transfers Transfers<br />
<br />
136 Accounts_Controller unidentified_transfers Unidentified transfers<br />
<br />
106 Members_Controller currentcredit Current credit<br />
<br />
107 Members_Controller en_fee vstupní příspěvek<br />
<br />
108 Members_Controller en_fee_left Entrance fee left<br />
<br />
130 Settings_Controller fees Fees<br />
<br />
<br />
Uložit</div>
Quimi
https://wiki.freenetis.org/index.php?title=Str%C5%BEen%C3%AD_vstupn%C3%ADch_p%C5%99%C3%ADsp%C4%9Bvk%C5%AF&diff=2258
Stržení vstupních příspěvků
2018-01-31T14:23:32Z
<p>Quimi: Quimi přesunul stránku Strženà vstupnÃch pÅ™ÃspÄ›vků na Stržení vstupních příspěvků bez založení přesměrování</p>
<hr />
<div>Pro správnou práci se členskými příspěvky je potřeba mít u každého člena správně nastaveny výši vstupního příspěvku, případně výši měsíční splátky. Tyto údaje by měl správně vyplnit technik již během přidávání nového člena do systému. Přednastavená hodnota, která se objeví ve formuláři přidání člena do systému, lze měnit v Nastavení systému.<br />
<br />
Podle konkrétního příkladu - v o.s. UnArt Slavičín je vstupní příspěvek 2000 Kč, ovšem v některých obcích a lokalitách se z různých důvodů neplatí. V tomto případě výjimky by měl technik vyplnit výši členského příspěvku jako nulovou.<br />
<br />
Další důležitou položkou je měsíční výše splátky. Pokud je ponechána jako nulová, nebo je nastavena na výši vstupního příspěvku (např. 2000 Kč), pak se nic nemění a vstupní příspěvek je stržen v jedné splátce. Pokud je však částka menší než 2000, např. 600 Kč, tak je tento vstupní příspěvek strháván postupně, tedy po první tři měsíce od vstupu člena se strhne třikrát 600 Kč (celkem 1800 Kč) a ve čtvrtém měsíci od data vstupu člena je už stržena částka chybějící do 2000 Kč, v tomto příkladě 200 Kč.<br />
<br />
Pro správce financí z tohoto plyne:<br />
* po zaevidování všech členů včetně jejich správné výše vstupního příspěvku a případně správné výše splátky je možné strhnout vstupní příspěvky.<br />
* pak je spolu se strháváním členských příspěvků provádět toto strhávání pravidelně minimálně však jednou za měsíc. Členové, jimž už bylo správně strženo správné množství peněz z kreditu, jsou již při dalším spouštění této funkce ignorováni.</div>
Quimi
https://wiki.freenetis.org/index.php?title=Str%C5%BEen%C3%AD_%C4%8Dlensk%C3%BDch_p%C5%99%C3%ADsp%C4%9Bvk%C5%AF&diff=2257
Stržení členských příspěvků
2018-01-31T14:23:04Z
<p>Quimi: Quimi přesunul stránku Strženà Älenských pÅ™ÃspÄ›vků na Stržení členských příspěvků bez založení přesměrování</p>
<hr />
<div>Umožňuje strhávat členské příspěvky v daném měsíci daného roku. Strhávat členské příspěvky je vhodné provádět až po zaevidování všech členů v systému. Je třeba též mít pro dané období předem nastavené výše členských příspěvků. Člen si svými členskými příspěvky platí svůj kredit. Tento kredit mu je ovšem pravidelně každý měsíc strháván. Kladná hodnota určuje, na jak dlouho má člen zaplaceno dopředu, záporná oznamuje výši dluhu vůči sdružení, je-li člen na nule, pak má zaplaceno akorát do konce aktuálního měsíce.<br />
<br />
Členské příspěvky jsou strhávány všem, kteří mají aktivní členství v daném měsíci. Nestrhává se členům s právě přerušeným členstvím, speciálním typům členů jako je Nečlen, Neplatící řádný člen, Čestný člen. Hraničním datem je 15. den v měsíci. Do 15. dne daného měsíce se ještě tento měsíc nezapočítává, od 16. už ano.<br />
<br />
Postup pro správce financí v systému je následující:<br />
* Jakmile jsou zaevidováni všichni členové a jsou správně nastaveny výše členských příspěvků, pak je možné provést zpětné stržení od data založení sdružení měsíc po měsíci až po současnost.<br />
* Pak je potřeba strhávat každý měsíc pravidelně. Vhodné provádění této činnosti je v polovině měsíce.<br />
<br />
Dojde-li u některého člena k chybě nebo změně údajů, například zpětné přidání přerušeného členství, změna typu člena atd., je možné u převodů jednoho člena provést individuální přepočet členských příspěvků a údaje o placení členských příspěvků člena tak uvést do pořádku.</div>
Quimi
https://wiki.freenetis.org/index.php?title=SNMP_(%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=2256
SNMP (русский)
2018-01-31T14:22:08Z
<p>Quimi: Quimi přesunul stránku SNMP (руÑÑкий) na SNMP (русский) bez založení přesměrování</p>
<hr />
<div>[[en:SNMP (english)]]<br />
[[cs:SNMP]]<br />
<br />
Следующая статья описывает инструкции, как включить SNMP демон, для того, чтобы он работал с FreenetIS.<br />
<br />
==Linux==<br />
<br />
1. Первая инсталяция:<br />
<br />
apt-get install snmpd<br />
<br />
2. Во вторых Чтобы разрешить обнаружение информации от FreenetIS добавьте in/etc/snmd/snmpd.conf<br />
'''в секцию ACCESS CONTROL''' следующую строку (действительно зависит от размещения, из собственного опыта могу утверждать что, например, в конце файла она не работает)<br />
<br />
rocommunity public X.X.X.X<br />
<br />
где X.X.X.X ia это IP адрес вашего FreenetISu<br />
<br />
3. По умолчанию демон слушает только localhost, поэтому необходимо в /etc/default/snmpd<br />
<br />
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'<br />
<br />
до<br />
<br />
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid X.X.X.X'<br />
<br />
где X.X.X.X это IP адрес вашего роутера.<br />
<br />
4. рестарт демона<br />
<br />
/etc/init.d/snmpd restart<br />
<br />
Конечно разрешите на файерволе UDP порт 161<br />
<br />
= Mikrotik =<br />
<br />
Во-первых вы должны разрешить SNMP в IP - SNMP:<br />
<br />
[[Soubor:Snmp-mikrotik1.png]]<br />
<br />
И затем кликнув по Communities установить правильное умолчание для community public:<br />
<br />
[[Soubor:Snmp-mikrotik2.png]]<br />
<br />
Вместо X.X.X.X добавьте IP адрес вашего FreenetISu.</div>
Quimi
https://wiki.freenetis.org/index.php?title=Smaz%C3%A1n%C3%AD_v%C4%9Btve&diff=2255
Smazání větve
2018-01-31T14:21:51Z
<p>Quimi: Quimi přesunul stránku Smazánà vÄ›tve na Smazání větve bez založení přesměrování</p>
<hr />
<div>[[en:Deleting branches]]<br />
[[ru:Удаление ветви]]<br />
Pokud je větev hotova a sloučená do hlavní větve, odstraníme ji z SVN příkazem:<br />
<br />
svn delete https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/branches/název_větve -m "Větev mažu, protože už je hotová a sloučená do hlavní větve"</div>
Quimi
https://wiki.freenetis.org/index.php?title=S%C3%AD%C5%A5&diff=2254
Síť
2018-01-31T14:21:27Z
<p>Quimi: Quimi přesunul stránku SÃÅ¥ na Síť bez založení přesměrování</p>
<hr />
<div>Zde jsou specifikace DB schematu sítě:<br />
<br />
*[[Linux QoS DB schema]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=Registrace_a_p%C5%99ihl%C3%A1%C5%A1en%C3%AD_do_syst%C3%A9mu&diff=2252
Registrace a přihlášení do systému
2018-01-31T14:20:36Z
<p>Quimi: Quimi přesunul stránku Registrace a pÅ™ihlášenà do systému na Registrace a přihlášení do systému bez založení přesměrování</p>
<hr />
<div>'''První krůčky s FreenetISem'''<br />
<br />
* Pokud máte zájem zaregistrovat se v systému [http://wiki.freenetis.slfree.net/index.php/Co_je_to_Freenetis%3F FreenetIS] a tím se stát členem občanského sdružení [http://www.unart.cz/ Unart] (Z čehož plyne možnost využívat připojení k internetu pomocí [http://www.slfree.net/ Slfree].) navštivte stránky [https://freenetis.slfree.net/cs/members/show/1342 FreenetISu].<br />
<br />
''Jsem tu co teď?''<br />
<br />
* Po zadání adresy (www.freenetis.slfree.net) do vašeho internetového prohlížeče se vám zobrazí stránka vyžadující po Vás [https://freenetis.slfree.net/cs/members/show/1342 login a heslo].<br />
<br />
* Pokud již login s heslem máte můžete se přihlásit, pokud ne musíte se zaregistrovat. Registrace se provádí pomocí formuláře, který se skrývá pod odkazem [https://freenetis.slfree.net/cs/registration Nový člen]. <br />
* Aby registrace proběhla úspěšně, je nutnné vyplnit všechny položky ve formuláři (Pouze email není povinný). <br />
<br />
Další důležitou podmínkou je existence unikátního loginu (V systému se login musí vyskytovat pouze jednou - <br />
proto je pravděpodobné, že pouze křestní jméno nebo přijmení v systému již budou obsazeny). <br />
Neméně důležité je zvolit si silné a pro Vás zapamatovatelné heslo (Doporučuje se kombinace velkých a malých písmen s čísly,<br />
slovníková slova jsou nedostatečná).<br />
<br />
* Po úspěšné registraci se můžete směle přihlásit do systému a využívat všech jeho služeb.<br />
<br />
--[[Uživatel:Pap|Pap]] 21:16, 30. 7. 2008 (UTC)</div>
Quimi
https://wiki.freenetis.org/index.php?title=Diskuse:Registrace_a_p%C5%99ihl%C3%A1%C5%A1en%C3%AD_do_syst%C3%A9mu&diff=2253
Diskuse:Registrace a přihlášení do systému
2018-01-31T14:20:36Z
<p>Quimi: Quimi přesunul stránku Diskuse:Registrace a pÅ™ihlášenà do systému na Diskuse:Registrace a přihlášení do systému bez založení přesměrování</p>
<hr />
<div>Vůbec jsem to nepochopil:<br />
<br />
* su člen UNART<br />
* do přihlášky jsem vyplnil nějaký nick, ale samozřejmě žádné heslo<br />
* tak jsem se chtěl zaregistrovat jako nový člen<br />
* poctivě jsem vyplnil všechny údaje, nerozhodilo mě to, že to chce i povinnou ulici (kterou navzdory tomu u nás na dědinách ji vůbec povinně nevedeme) a přehlédl jsem i to, že se to ptá na Město, i když lepší by bylo tam psát Obec (holt "slepičínocentrismus" :-) )<br />
* pak mi systém oznámil, že moje telefonní číslo a mail už v db má - a tím jsem skončil<br />
* tož co teď?<br />
* taky by se měl ošetřit nějak certifikát serveru. Normální běloch se lekne, když mu Mozilla při vstupu na https://freenetis.slfree.net/cs/login píše o tom, že je to nezabezpečný server...<br />
[[Soubor:Slfree vyjimka mozilla.gif]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=Nastaven%C3%AD_VoIP_-_integrace_s_%C3%BAst%C5%99ednou_a_billingem&diff=2251
Nastavení VoIP - integrace s ústřednou a billingem
2018-01-31T14:18:25Z
<p>Quimi: Quimi přesunul stránku Nastavenà VoIP - integrace s ústÅ™ednou a billingem na Nastavení VoIP - integrace s ústřednou a billingem bez založení přesměrování</p>
<hr />
<div>#PŘESMĚRUJ [[VoIP]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_verze_FreenetISu&diff=2250
Povýšení verze FreenetISu
2018-01-31T14:17:40Z
<p>Quimi: Quimi přesunul stránku Povýšenà verze FreenetISu na Povýšení verze FreenetISu bez založení přesměrování</p>
<hr />
<div>Tato stránka pojednává o povýšení verzí FreenetISu pomocí [http://repository.freenetis.org/ Debian repozitářů].<br />
<br />
== Povýšení z 1.0 na 1.1 == <br />
<br />
Pro povýšení FreenetISu verze 1.0.* na 1.1.* je nutné změnit v souboru ''/etc/apt/sources.list'' repozitář nastavený pro FreenetIS z:<br />
<br />
deb <nowiki>http://repository.freenetis.org/debian/final/</nowiki> <codename> main<br />
<br />
na:<br />
<br />
deb <nowiki>http://repository.freenetis.org/debian/stable/</nowiki> <codename> main<br />
<br />
Poté přeinstalovat balík freenetis na novější verzi z nového repozitáře:<br />
<br />
apt-get update && apt-get install freenetis<br />
<br />
Po povýšení doporučujeme ihned zamířit do nastavení systému a zkontrolovat, zda jsou povoleny všechny potřebné moduly (ve verzi 1.1 je možné vypínat některé části systému).<br />
<br />
== Povýšení po vydání 1.1 ==<br />
<br />
Pokud budete využívat '''stable''' repozitář:<br />
<br />
deb <nowiki>http://repository.freenetis.org/debian/stable/</nowiki> <codename> main<br />
<br />
budete mít vždy aktuální stabilní verzi FreenetISu. Například po vydání verze 1.2 Vám bude nabídnuta aktualizace na tuto novou verzi.<br />
<br />
== Zakázání povýšení ==<br />
<br />
Pokud byste si nepřáli aktualizovat. Můžete aktualizace balíku zakázat nebo začít využívat repozitář '''oldstable''', který obsahuje předchozí stabilní vydání (po vydání 1.2 bude tedy obsahovat verzi 1.1).</div>
Quimi
https://wiki.freenetis.org/index.php?title=Pov%C3%BD%C5%A1en%C3%AD_syst%C3%A9mu&diff=2249
Povýšení systému
2018-01-31T14:17:25Z
<p>Quimi: Quimi přesunul stránku Povýšenà systému na Povýšení systému bez založení přesměrování</p>
<hr />
<div>#PŘESMĚRUJ [[Povýšení verze FreenetISu]]</div>
Quimi
https://wiki.freenetis.org/index.php?title=Po%C5%A1ta&diff=2248
Pošta
2018-01-31T14:17:01Z
<p>Quimi: Quimi přesunul stránku PoÅ¡ta na Pošta bez založení přesměrování</p>
<hr />
<div>Modul pošta slouží ke komunikaci členů skrze FreenetIS. S jeho pomocí lze poslat zprávu jakémukoliv členovi (nebo uživatelovi).<br />
<br />
= Uživatelský pohled =<br />
<br />
== Vzhled ==<br />
<br />
Skládá se ze 3 základních částí:<br />
<br />
=== Doručená pošta ===<br />
<br />
Zobrazuje doručenou počtu uživatele řazenou chronologicky od nejnovější zprávy po tu nejstarší.<br />
<br />
Mimo to obsahuje jednoduché ovládání zpráv - je možné je hromadně mazat nebo je hromadně označovat jako přečtené nebo nepřečtené.<br />
<br />
Je to vstupní část - dá se sem vstoupit přes kliknutí na obálku v horní části stránky nebo kliknutím na Moje pošta v menu Můj profil.<br />
<br />
=== Odeslaná pošta ===<br />
<br />
Zobrazuje všechny odeslané zprávy uživatele řazené chronologicky od nejnovější zprávy po tu nejstarší.<br />
<br />
Mimo to obsahuje jednoduché ovládání zpráv - je možné je hromadně mazat.<br />
<br />
=== Napsat novou zprávu ===<br />
<br />
Obsahuje formulář pro napsání nové zprávy. Obsahuje 3 pole:<br />
<br />
'''Komu''' - textové pole, musí obsahovat login příjemce; nebo loginy příjemců (oddělené čárkou) TODO: Dodělat nějaké klikátko, kde si člověk bude moct naklikat příjemce.<br />
<br />
'''Předmět''' - textové pole předmět zprávy<br />
<br />
'''Text''' - samotný text zprávy, ve formě WYSIWYG editoru<br />
<br />
Kromě psání nových zpráv se tento formulář používá pro psání odpovědí (automaticky do formuláře doplní login původního odesílatele/příjemce a cituje text původní zprávy).<br />
<br />
== Signalizace ==<br />
<br />
Na novou doručenou poštu je uživatel upozorněn změnou barvy obálky v horní části stránky (z bílé na zelenou).<br />
[[Soubor:Nova_posta.jpg]]<br />
<br />
== Systémové použití ==<br />
<br />
Jedním ze základním důvodů, proč zavést poštu do FreenetISu, byla potřeba vytvořit způsob, jakým bude systém upozorňovat na některé události. V praxi to funguje tak, že uživatelovi přijde zpráva od uživatele s ID 1 (freenetis).<br />
<br />
Příklady - uživatel upozorněn, když:<br />
<br />
- někdo jiný přidal/editoval/smazal jeho práci<br />
- pokud někdo přidal/editoval/smazal práci (může-li hlasovat)<br />
- pokud někdo přidal/editoval/smazal hlas k práci (je-li jeho nebo může-li hlasovat)<br />
- pokud byla práce schválena/zamítnuta (je-li jeho nebo může-li hlasovat)<br />
- atd.<br />
<br />
Systém se samozřejmě snaží inteligentně a neposílat zprávu v případech, kdy uzná, že to není nutné. Příklad - nepošle uživatelovi zprávu, přidal-li si práci sám, atd.<br />
<br />
= Programátorský pohled =<br />
<br />
== Databázový popis ==<br />
<br />
Všechny zprávy pošty jsou uloženy v tabulce mail_messages. Ta obsahuje sloupce:<br />
<br />
'''id''' - jednoznačný identifikátor zprávy (primární klíč)<br />
<br />
'''from_id''' - ID uživatele-odesílatele<br />
<br />
'''to_id''' - ID uživatele-příjemce<br />
<br />
'''subject''' - předmět zprávy<br />
<br />
'''body''' - text zprávy<br />
<br />
'''time''' - čas odeslání<br />
<br />
'''readed''' - příznak, zda-li byla zpráva přečtená<br />
<br />
'''from_deleted''' - odesílatel tuto zprvu smazal<br />
<br />
'''to_deleted''' - příjemce tuto zprávu smazal<br />
<br />
== Mazání zpráv ==<br />
<br />
Protože je každá zpráva pro dvě strany, neprobíhá její mazání jako obvykle. Kdyby totiž uživatel A poslal zprávu uživateli B a poté A zprávu smazal ze svých odeslaných zpráv, zpráva by zmizela i B z jeho doručených.<br />
<br />
Z toho důvodu musely být zavedeny sloupce from_deleted a to_deleted. Ty pak popisují, jestli příjemce/odesílatel smazal tuto zprávu. Teprve až v případě, že oba budou pravdivé, dojde ke skutečné smazání zprávy z databáze.</div>
Quimi