Преимущества и особенности

Каждая CMS имеет свои преимущества и особенности. Но в целом все CMS уже давно стандартизированы и направлены каждая под свою область применения.

Что-то революционного создать в современно мире невозможно. Но улучшить уже созданное более чем выполнимая задача.

ELFIUM CMS предлагает разработчикам набор инструментов, который поможет не только быстро, но и гибко создавать проекты практически любой сложности.

В ELFIUM CMS, так же, закладывается и возможности для разработчиков, которые не владеют навыками программирования.

#> Безопасность

Каждый метод любого класса проходит проверку. Мод или плагин, перед тем как добавить в общий доступ, проверяется на уязвимости.

SQL
Сознательно было отказано в уже существующих методам безопасности в угоду ее усиления. Все параметры, которые передаются в классы баз данных проходят обработку. Все данные сохраняемые в БД конвертируются и хранятся в виде, который исключает SQL инъекции.

Elfium
В ELFIUM CMS существует строгое разделение классов, которые отвечают за административную часть и за часть, которая формирует данные сайта (страницы, содержимое). Невозможно использовать классы и методы, которые предназначены для административной части, при создании проекта сайта.

Методы передачи
Все методы, которые передают данные от пользователя, в ELFIUM CMS, проходят очистку. Cookies, _POST, _GET, _FILES, строка адреса - все проходит дополнительную проверку.

Логи
Все действия посетителя и администратора логируются. Логи поделены по группам, среди которых есть такие, которые выводят возможные попытки взлома.

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

Разделение административной и пользовательской части
Для большей безопасности, по умолчанию, ELFIUM CMS разделяет доменные имена на административный и на общий. Под общим подразумевается просто сайт, какой у него адрес не суть важно. Что бы попасть в административную часть, необходимо создать отдельный алиас (поддомен, домен), который ведет в папку проекта, и прописать этот алиас в конфигурацию. И только по этому адресу администратор сможет попасть в административную часть. Конечно, в конфигурации можно записать домен такой же как и основной сайт, это ничем не запрещается. Помимо алиасов (их может быть множество) для административной части, можно ограничивать вход по IP адресу.

Защита от взлома
Если допустить, что был скомпрометирован адрес административной части, то по умолчанию включен аналог Unix приложения fail2ban. При определенном количестве неверных логинов, включается ограничение доступа.

Дополнительно
В качестве дополнительных возможностей можно ограничить сессию тем IP адресом, с которого был произведен логин.

Конечно, на 100% никто не сможет гарантировать безопасность своего продукта. Это делают либо дилетанты, либо обманщики. Всегда найдется дыра, ошибка, человеческий фактор, диверсия. Однако в ELFIUM CMS сделано все, что бы усложнить "взлом", и сохранить данные своего пользователя.

#> Простота

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

Разработка
В ELFIUM CMS изначально заложены методы, которые позволят упростить понимание задачи и ее выполнение.

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

К примеру
Одним из самых сложных процессов - это постраничный вывод. Во многих движках необходимо проделать множество действий, что бы сформировать строку со страницами и обеспечить переход по ним. В ELFIUM CMS реализован метод, в котором Вы просто заполняете откуда брать данные, количество на страницу, текущая страница и небольшой шаблон вывода. Всего лишь несколько строк кода, и функционал полностью настроен.

Мы стараемся создать продукт, в котором будет удобно и быстро создавать любой проект.

#> Быстрота

На рынке прав тот, кто быстрее на него выйдет. И чем быстрее будет создан объект, благодаря которому выход на рынок ускорится, тем быстрее будет отдача и заработок.

С ELFIUM CMS сайт можно запустить достаточно быстро из-за гибкости кода и его возможностей.

Интуитивность
Все методы и классы описаны таким образом, что бы разработчик всегда понимал, как они работают. Даже если он что-то забудет, то интуитивно сможет менять параметры метода, и в большинстве своем разработчику не потребуется лишний раз заглядывать в документацию.

Юзабилити
Формирование шаблонов настроена таким образом, что бы разделить их на группы, где разработчик сможет сформировать набор стилей, с которыми его заказчик сможет работать уже самостоятельно.

Подобие
Все методы разработки в современном сайтостроении уже давно известны. В ELFIUM CMS они собраны в удобный набор классов и библиотек. Многие из них объединены в удобный функционал одного метода, который не только не запутает разработчика, но и увеличит скорость создания проекта.

#> Мультиязычность

Все, кто что-то продает или разрабатывает, планируют помимо своего региона выходить и за его рамки. И очень часто требуется проект на разных языках с одинаковым оформлением.

Языки
В ELFIUM CMS изначально заложена возможность менять язык не только административной части, но и сайта.

Интеграция
Разработчик создает языковой файл для основных частей шаблона. Далее необходимо создать базу для иного языка и сделать синхронизацию с основным сайтом. При добавлении новой страницы на основной сайт, она сразу же появляется во всех остальных базах. Затем приступают к работе переводчики, которые редактируют разделы и делают перевод.

Таким образом обеспечивается быстрота создания страниц на всех необходимых языках.

#> Уровни доступа

Если административной частью пользуются множество пользователей, тогда рано или поздно возникает необходимость разделить возможности для администраторов.

Доступы
Например Вы владелец Интернет-магазина. У вас есть менеджеры, есть руководители и администраторы. Менеджерам доступ разрешен только к каталогу товаров. Руководителям к каталогу товаров и новостным разделам. Администраторы либо ко всем разделам сайта, либо к его отдельным частям.

Как разделить уровни доступа, что бы обеспечить отдельный доступ на каждого пользователя? В ELFIUM CMS реализован Unix метод разграничения прав.

Создаются группы доступа. Аналог группам Unix. В каждую группу добавляются созданные пользователи административной части. Далее на каждый каталог (папку) сайта можно назначить права. Достаточно войти в свойства и на вкладке "Права" выбрать уровень "Нет доступа", "Чтение", "Чтение и запись" на пользователя, группу и для всех. Аналогично Unix-системам: 000, 777, 755, 700.

Пароли
Дополнительно, можно назначать пароль на каталог, и пользователь, не знающий пароля, не сможет отредактировать ни саму директорию, ни те, что находятся внутри.

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

Сайт
На сайте, конечно, доступ вида Unix-систем, делать не целесообразно. Но назначить пароль доступа к разделу более чем возможно.

#> Гибкость кода

Очень многие CMS предлагают свои способы вывода информации и генерации страниц. Исключением из этого ELFIUM CMS не стала.

Возможности
Одной из основных возможностей ELFIUM CMS стало возможность использовать методы не только программистам, но и обычным верстальщикам.

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

Однако и те и другие тоже хотят создавать свои проекты. Если программистам проще, так как они просто берут движок (или пишут свой), вешают на него дизайн. То людям, не разбирающимся в программировании, это будет достаточно трудно. Остается лишь скачать что-то готовое, или просить знакомых программистов о помощи.

Код
В ELFIUM CMS было учтено данное упущение. И с самого начала разработки были заложены такие методы, что бы их мог использовать как программист, так и человек далекий от этого, но знающий HTML-код.

Все методы вывода и генерации страницы имеют аналоги в виде HTML-тэгов.

PHP HTML
<?=e2::e2('news:date')?>
<elfium var="news:date" />
while($list=e2::e2()->structList(array(
  'struct' => 1234,
  'order' => 'align',
  'asc' => 'DESC'
))) {
?>
  <p>
    <div>
      <?=$list->struct->title?>
    </div>
    <div>
      <?=$list->news->date?>
    </div>
  </p>
<?
}
<elfium mode="structList" struct="1234" order="align" asc="ASC">
  <p>
    <div>
      <list var="struct:title" />
    </div>
    <div>
      <list var="news:date" />
    </div>
  </p>
</elfium>

Тэги
Вид HMTL-тэгов не вводит в путаницу, так как к тэгам привыкли абсолютно все разработчики, и просто появляется новые. Точнее один - с закрывающим тэгом и без:

<!--С закрывающим тэгом-->
<elfium mode="" params>
    <!--params, tmpl-->
</elfium>

<!--Без закрывающего тэга-->
<elfium var="" />

Таким образом, обеспечивается гибкость кода разработки. И человек, не разбирающийся в программировании, никак не ограничен в возможностях.

#> Стили оформления

Важной частью ELFIUM CMS является возможность создавать свои собственные стили оформления для административной части.

Юзабилити
Разработчики, часто сталкиваются с тем, что конечный потребитель (заказчик) долго не может разобраться и вникнуть в функционал. Что замедляет работу и вводит сильную путаницу.

Клиентоориентированность
В ELFIUM CMS заложена возможность написать свой собственный упрощенный стиль. Например, надо создать стиль, где необходимо просто войти в административную часть, сразу же перейти в категорию новостей, нажать кнопку "Добавить", заполнить поля и сохранить. При необходимости удалить или отредактировать. Таким пользователям не нужен остальной функционал и лишние действия. Разработчик, создавая упрощенный стиль, делает все за него, давая заполнить лишь те поля, которые необходимы.

Что-то свое
Возможность менять стиль административной части, так же, открывает возможность создать для ELFIUM CMS свой собственный, фирменный, стиль. И при желании разместить на проекте, что бы другие разработчики могли его использовать.

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

Функционал
В ELFIUM CMS заложена возможность менять стиль, буквально просто создавая другой каталог и копируя туда предыдущий дизайн. Или можно создать новый дизайн с нуля. Далее просто прописать в конфигурации, какой стиль будет использовать.

Со временем возможности будут расти. Но уже сейчас некоторые классы и методы перенесены на языки программирования Java, C++, и кто знает, во что превратится проект в итоге.

Каждый из вас может принять участие и стать соавтором!

Просто начните работать с ELFIUM CMS!