На страницу 1, 2 След. |
|
|
Приветствую!
Как я уже неоднократно упомянал, я использую движок собственной разработки для быстрого развертывания и ведения собственных блогов/сплогов. И вот, в последние два месяца я потихоньку стал вести дело к публичному релизу проекта. Де-факто, я закончил с разработкой всех спецификаций и документаций сегодня ночью. До этого момента я все время прикручивал что-то новое, но вот уже все отточено и работает идеально. Но, увы, идеально и понятно только для меня Именно поэтому я и затеял документирование и стандартизацию.
В этом топике я хочу совещаться со всеми потенциальными пользователями движка (напоминаю, что он выйдет в реализации OpenSource и совершенно бесплатным).
Начать согласования я бы хотел со структуры папок.
В корневом каталоге движка размещается одна папка с названием "v' (правда остроумно? )
В ней находится три папки:
/embed/engine/ - для всех папок и файлов движка
/embed/style/ - для папок с темами и темплетами
/embed/user/ - для папок и файлов пользователей
В первой папке я разложил все в следующем порядке:
/embed/engine/api/ - файлы API
/embed/engine/ajax/ - файлы обработчиков AJAX
/embed/engine/def/ - файлы системы "по умолчанию" - отсюда берутся файлы, если вдруг в пользовательских файлах возникла ошибка, либо какого-то файла не хватает. Это своего рода "защита от дурака".
/embed/engine/js/ - яваскрипты
/embed/engine/ui/ - элементы пользовательского интерфейса, виджеты
/embed/engine/log/- журналирование
/embed/engine/backup/- система бекапов
/embed/engine/cache/ - Зеркалирование. Хранилище кэшированых страниц, на случай проблем в работе PHP или MySQL на хостинге
/embed/engine/fix/ - склад патчей
/v/engine/plugins/ - системные плагины
/embed/engine/docs/ - документация
Пользовательские папки шаблонов:
/embed/style/default/ - папка темплета (в данном случае "default")
/embed/style/default/css/ - css-файлы темплета
/embed/style/default/js/ - JavaScript файлы темплета (не обязательно)
/embed/style/default/ui/ - Элементы дизайна (картинки, кнопки, флешки)
/embed/style/default/*.tpl - собственно набор файлов темплетов
И третья папка - загружаемые пользовательские файлы (/embed/user/)
Есть ли какие-то предложения по модификации структуры? |
|
|
|
|
|
Есть. Мне кажется, выше уровнем нужно вынести log и docs. Да, и кстати, зачем вообще нужна v, если всё в ней?
Лишнее звено, IMHO.
Дополнил: backup ещё тоже отдельно, может? |
|
|
|
|
|
V - это вендетта! (с)
ну или V - это Vazlav (Вацлав) в данном случае. |
|
|
|
|
|
Хотелось бы не по структуре сказать.
У вордпресса на мой взгляд есть один минус (минусов много, но сейчас об одном только будет речь ), он заключается в том, то по умолчанию юзернейм - admin получается хакерам нужно подобрать только пасс и все.
И вопрос, шаблоны wp совместимы? Или надо будет свои рисовать? |
|
|
|
|
|
Цитата: |
У вордпресса на мой взгляд есть один минус (минусов много, но сейчас об одном только будет речь ), он заключается в том, то по умолчанию юзернейм - admin получается хакерам нужно подобрать только пасс и все.
|
Хоть я лично WP вообще не перевариваю, но сейчас скажу в защиту: это не минус WP, а минус владельца, если у него не хватает ума сменить имя юзера. Да и "только пасс и все", что, это просто что ли? Кстати, WP явно взламывают не подбором паролей. |
|
|
|
|
|
инъекцией в мускул вроде бы... но об этом низзя. |
|
|
|
|
|
да заем знаем, даже кто то на своем блоге статью писал как востановить пароль, тот же принцып, но только без доступа к фтп. |
|
|
|
|
|
Какая собственно разница, как называются папки?
Всё, к чему можно придраться - темы и шаблоны это нечто большее, чем style. И, по возможности, можно было бы назвать папки так же, как в вордпрессе. |
|
|
|
|
|
samedi, мне есть разница. Бесит когда разбираешься в структуре чужих проектов, а там все обозвано черти-как. Для любого уважающего себя проекта иметь документированные namespaces - это признак хорошего тона. |
|
|
|
|
|
Ну тогда назови всё по примеру вп. Там всё годами складывалось. |
|
|
|
|
|
samedi, ты WP ковырял вглубь? Увы, всем старым движкам свойственно тянуть за собой (из-за необходимости обратной совместимости) очень неудобную структуру. Такие решения, именуюся программистами - "костыли" |
|
|
|
|
|
А может дать возможность юзеру самому выбрать расположение и название папок? Типа есть дефолт и есть возможность поменять. С точки зрения безопасности, это имхо только + |
|
|
|
|
|
pepper, да я думал об этом. Но:
1. 99% юзеров один хрен будут оставлять установки по умолчанию (или не делать их вовсе и принудительно заставить вводить значения в пустые поля).
2. Потребуется рекомпиляция некоторых объектов (для прописывания путей), что чревато срывом инсталяции. На многих виртуалах ограничение php max execution time не более 30 секунд. А за это время слабенький хостинг может не успеть дешифровать и зашифровать обратно ява скрипты и данные. |
|
|
|
|
|
Вацлав,
1. Как ни печально, многие так и поступают. Заставить вводить значения - в какой-то мере снизить юзерсфрейндли.
2. Шифрование в опенсорсном продукте? Что за уникальная идея скрыта в коде?! |
|
|
|
|
|
pepper, гхм. некоторые функции клоакинга, например Впрочем, чтобы не было сомнений, я приложу и исходные коды и шифратор, чтобы можно было собрать свои фишки. Насчет шифрации я не совсем верно выразился. Не шифрация, а упаковка ява-кода по Base64 / (p)(a)(c)(k)(e)(r) которая. Для уменьшения размера и соответственно скорости загрузки. |
|
|
|
|
|
|
|