Документация Elgg (master)
Elgg (произношение) — это фреймворк быстрой разработки с открытым исходным кодом для социально-ориентированных веб-приложений. Он отлично подходит для создания любых приложений, где пользователи входят в систему и обмениваются информацией.
Возможности
Хорошо документированный базовый API, который позволяет разработчикам быстро начать новый проект с простой кривой обучения
Composer — это предпочтительный менеджер пакетов, который значительно упрощает установку и обслуживание ядра Elgg и плагинов
Гибкая система событий, которая позволяет плагинам расширять и изменять большинство аспектов функциональности и поведения приложения
Расширяемая система представлений, которая позволяет плагинам совместно работать над слоем представления приложения и создавать сложные пользовательские темы
Кэшируемая система статических ресурсов, которая позволяет темам и плагинам обслуживать изображения, таблицы стилей, шрифты и скрипты, обходя движок
Аутентификация пользователей работает на основе подключаемых модулей аутентификации, которые позволяют приложениям реализовывать собственные протоколы аутентификации
Безопасность обеспечивается встроенной защитой от CSRF, строгими фильтрами XSS, подписями HMAC и современными криптографическими подходами к хешированию паролей
Клиентский API, работающий на асинхронных модулях ES и встроенном сервисе Ajax для лёгкого взаимодействия с сервером
Гибкая система сущностей, которая позволяет приложениям создавать прототипы новых типов контента и пользовательских взаимодействий
Структурированная модель данных с консолидированным слоем API, которая позволяет разработчикам легко взаимодействовать с базой данных
Система контроля доступа, которая позволяет приложениям создавать детализированные политики доступа к контенту, а также строить частные сети и интранет
Группы — встроенная поддержка пользовательских групп
Хранилище файлов, работающее на гибком API, который позволяет плагинам хранить пользовательские файлы и обслуживать/транслировать их без загрузки движка
Сервис уведомлений, который позволяет приложениям подписывать пользователей на уведомления на сайте и по email, а также реализовывать интеграции со сторонними сервисами
RPC веб-сервисы, которые можно использовать для сложных интеграций с внешними приложениями и мобильными клиентами
Интернационализация и локализация приложений Elgg проста и может быть интегрирована со сторонними сервисами, такими как Transifex
Сообщество Elgg, которое может помочь с любыми возникающими вопросами и содержит репозиторий 1000+ плагинов с открытым исходным кодом
Под капотом:
Elgg — это модульный ООП-фреймворк, управляемый сервисами внедрения зависимостей (DI)
Совместимость с NGINX или Apache
Symfony2 HTTP Foundation обрабатывает запросы и ответы
Модульный JavaScript с модулями ECMAScript
Symfony Mailer обрабатывает исходящую электронную почту
Фильтры XSS htmLawed
DBAL
Миграции базы данных Phinx
Imagine для манипуляций с изображениями
Обработка ошибок с Monolog
Примеры
Он использовался для создания всевозможных социальных приложений:
открытые сети (аналогично Facebook)
тематические (как сообщество Elgg)
частные/корпоративные интранет
знакомства
образовательные
корпоративный блог
Это каноническая документация для проекта Elgg.