Документация 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.

Продолжить чтение