Сегодня установил MajorDoMo на удаленном web-сервер под управлением FreeBSD для теста. У меня уже подключено к Ардуине с NetShield несколько датчиков температуры/влажности и проброшены порты к web-серверу (пока что нет выделенного локального сервера для экспериментов с УД). Чтобы не изобретать свой "велосипед", решил попробовать соединить датчики с MajorDoMo. После установки появилось несколько предложений/пожеланий для разработчиков (хотя до сопряжения с датчиками дело еще не дошло - разбираюсь):
1. После установки скриптов, создания базы и настройки config.php получил ошибку: "Fatal error: Call to a member function DbSafe() on a non-object in ...html/lib/mysql.class.php on line 355". У пользователя, далекого от программирования на php, такая ошибка может вызвать желание отказаться от дальнейшего использования MajorDoMo. Исправил у себя заменой Define('DB_HOST', '127.0.0.1'); на Define('DB_HOST', 'localhost'); Предлагаю выводить пользователю сообщение об ошибке, которое помогло бы ему решить проблему, а не белый экран (по умолчанию сообщения об ошибках не выводятся).
2. Вытекает из пункта 1 - почему, например, в config.php, или даже лучше в index.php по умолчанию не включено:
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', 1);
Неужели лучше держать пользователя в "счастливом неведении" о существующих ошибках кода? В сетапе/настройках сайта, например, предоставить пользователю возможность отключить вывод сообщений об ошибках?
3. Почему в index.php используется include_once("./config.php"); а не REQUIRE_once './config.php'; и другие include? Скрипт не сможет работать без данных файла config.php, поэтому Fatal Error, а не Warning с дальнейшим неопределенным поведением скриптов?
4. Начал разбираться, как поставить пароль на вход в настройки, размещено то все таки в открытом доступе... Решил, что быстрее поставить пароль через .htpasswd, зашел через панель управления сайтом, установил пароль, и получил ошибку HTTP 50X (не помню точно номер, точно что 500ая)
Проблема оказалась в том, что скрипт панели управления (на web-сервере) затер последнюю строчку .htaccess </FILES>, записывая строки для пароля .htpasswd. Рекомендую в конце .htaccess оставлять пустую 1-2 строки, чтобы не возникало таких проблем у других.
Критиковать, конечно, легче, чем что-то сделать


P.S. запустил ./cycle.php из под локального, не привилегирированного, пользователя сервера, и не известно, все ли под ним работает как нужно - есть лог ошибок по заданиям?