• Главная
  • Карта сайта
Не найдено

Особливості та можливості

  1. Відкритий код і потужне API
  2. сучасне ядро
  3. продуктивність
  4. Унікальна схема розробки та успадкування
  5. Дистрибуція і оновлення рішень
  6. Гнучка безпечно розширюється архітектура
  7. Аміро.Маркет
  8. готова інфраструктура
  9. Інфоленти
  10. Сучасні універсальні шаблони
  11. асинхронний інтерфейс
  12. спадкування шаблонів

Amiro.CMS 6 надає професійні ефективні інструменти розробки, модифікації і створення розширень для будь-якого проекту незалежно від його масштабу - від невеликого сайту-візитки до великих інтернет-магазинів, контент-проектів, сайтів ЗМІ, складних веб-додатків.

Відкритий код і потужне API

Довгий час Amiro Довгий час Amiro.CMS була відома як відмінна, але закрита система, в якій користувач може реалізувати всі свої потреби без програмування. Навіть будучи закритою системою Amiro.CMS входить в ТОПИ найбільш популярних CMS.

Тепер Amiro.CMS це платформа з відкритим кодом, що дає найширші можливості розробникам для розширення функціоналу під потреби найвимогливіших споживачів.

З відкриттям системи виникають нові перспективи зростання для працюючих з Amiro.CMS розробників. Вони отримують доступ до всіх інструментів і технологій, що використовуються компанією Аміро для розвитку ядра CMS.

Вихідний код Amiro.CMS 6 доступний для завантаження в складі дистрибутивів всіх редакцій включаючи Amiro.CMS FREE.

сучасне ядро

При створенні ядра Amiro При створенні ядра Amiro.CMS 6 використані сучасні підходи до архітектури і розробці. Звичайно, це повноцінний MVC, події, різні точки входу в варіанті, розрахованому на максимальну зручність модифікації зі збереженням оновлень, аж до дистрибуції. У новому ядрі збережений акцент на продуктивність і економію ресурсів.

Ядро Amiro.CMS пройшло ретельну налагодження і тестування на тисячах сайтів - велика частина адміністративної панелі Amiro.CMS з 2012 року реалізована на даному ядрі, який працював паралельно ядру попереднього покоління.

На відміну від інших CMS, при всіх масштабних зміни та нові можливості Amiro.CMS 6 назад сумісна з попереднім поколінням системи. Власникам сайтів і розробникам для переходу на Amiro.CMS 6 не доведеться гаяти час на переписування своїх проектів.

З подробицями можна ознайомитися в розділі Ядро Amiro.CMS 6 і в FAQ по міграції модулів з Amiro.CMS 5 .

продуктивність

Amiro Amiro.CMS - високопродуктивна платформа, за швидкістю випереджальна всі інші коробкові російські CMS, що доведено даними досліджень рейтингу iTrack.

Висока продуктивність платформи досягається за рахунок використання комбінованого підходу. Ідеологія продуктивності проходить крізь всю систему:

Початковий баланс декомпозиції бази даних і коду. Вся розробка платформи ведеться з акцентом на швидкість і продуктивність.

Відкладене завантаження ресурсів не тільки в класах, але і всюди - ядро робить тільки мінімально необхідний обсяг роботи для виконання завдання: навіть при великій кількості динамічного контенту відпрацьовує тільки ту частину, яка безпосередньо потрібна для отримання результату. При цьому, якщо можливо, отриманий результат ще й кешируєтся.

Швидкі запити ядра: прямо з коробки система повністю оптимізована і може робити вибірки по великій базі за розумний час. Інші системи часто вимагають значних доопрацювань для забезпечення оптимальної продуктивності.

Оптимізація завантаження JS / CCS шляхом стиснення ресурсів в мінімум файлів.

Можливість вибору оточення (повне, легке) виходячи із специфіки завдання. Легке оточення використовується для виклику швидких функцій, які не потребують ініціалізації всього ядра.

При використанні важких функцій (наприклад, обрахування цін, знижок, складних фільтрів) застосовується повне оточення: воно вміє компілювати і кешувати запити.

Власний шаблонизатор, глибоко інтегрований в ядро. Така інтеграція дозволяє істотно збільшити продуктивність і гнучкість: на відміну від зовнішніх шаблонизатор тут не потрібно зайвий рівень абстракції. Можна провести аналогію з ADODB - це зручний універсальний механізм, але він працює в рази повільніше «рідних» драйверів і не дає можливості використовувати специфіку конкретної бази.

Використання асинхронних викликів для отримання даних / виконання будь-яких операцій. Оновлення інформації відбувається через перерисовку конкретних компонент, при цьому між користувачем і сервером передається мінімальний набір даних - знижується навантаження на канал і на сервер.

Унікальна схема розробки та успадкування

Архітектура Amiro Архітектура Amiro.CMS 6 розроблена, щоб дати максимально можливу кількість альтернатив реалізації виходячи з стоїть перед розробником завдання: будь-яке місце можна успадкувати, замінити, декількома способами змінити функціональність на тому рівні, де це в даний момент потрібно. Архітектура дозволяє розробнику працювати в концепції «пиши тільки м'ясо»: максимально перевикористати наявний готовий функціонал та інфраструктуру платформи, писати свій код тільки для реалізації необхідного замовнику функціоналу, уникаючи рутини для тривіальних операцій, що виникають при використанні інших CMS.

Amiro.CMS 6 пропонує унікальну об'єктну модель з трирівневої схемою успадкування гіпермодуль-конфігурація-екземпляр:

  • Гіпермодуль - це загальна кодово-шаблонна база групи модулів,
  • Конфігурації реалізують відмінності конкретного типу від загальної бази,
  • Примірник - це встановлений модуль конкретного типу. Можливо встановити декілька незалежних примірників модуля однієї конфігурації. При цьому екземпляр може працювати як з кодом своєї конфігурації, так і мати свій локальний код, де функціонал конфігурації може бути розширений або змінений.

Як правило, для конкретного завдання зручніше модифікувати конкретний екземпляр. Якщо передбачається багаторазове використання і тиражування, то модифікується конфігурація або навіть сам гіпермодуль.

Розглянемо можливості модифікації функціоналу Amiro.CMS.

Якщо рухатися від простого до складного - від клієнта до ядра, то у розробника є можливості:

  • змінювати налаштування;
  • змінювати шаблони;
  • модифікувати JS-код на клієнті;
  • використовувати AJAX і REST API.

Якщо клієнтських можливостей не вистачає для реалізації, то розробник може працювати на стороні сервера:

  • створювати свої обробники подій;
  • простим натисканням кнопки отримувати з готового примірника модуля пронаследованний від нього локальний код і змінювати в ньому необхідні методи;
  • аналогічним чином можна успадковувати і змінювати системні класи, в результаті чого всі інстальовані в системі модулі будуть працювати з модіціфіцірованной версією бібліотеки.

Далі - більше: можна створити повністю свій екземпляр, свою конфігурацію або навіть свій гіпермодуль. Втім, це може знадобитися, тільки якщо необхідно організувати дистрибуцію тиражируемого рішення. Якщо робиться реалізації під конкретний проект, то досить просто виконати успадкування.

Останній рівень модифікації - можливість внести зміни у відкритий код ядра, але в цьому випадку відбувається втрата можливості оновлення системи. На всіх попередніх рівнях модифікації система залишається повністю оновлюється, так як загальні файли залишаються без змін. Дуже мала кількість CMS надає настільки широкий вибір можливостей модифікації

Таким чином, розробник піднімається на рівень абстракції рівно на стільки, на скільки це необхідно для вирішення поставленого завдання. І це знову дозволяє працювати в концепції «пиши тільки м'ясо»: розробляти тільки те, що безпосередньо необхідно.


Дистрибуція і оновлення рішень

Багато CMS-системи дозволяють встановлювати рішення, розширення, плагіни або модулі, розроблені сторонніми розробниками. Зазвичай подібна схема має на увазі, що у модуля може бути тільки 2 стани: встановлено / не встановлено, з чого випливає, що кожен модуль може бути встановлений тільки в одному екземплярі.

Унікальною особливістю архітектури Amiro.CMS є мультіекземплярность модулів. Amiro.CMS оперує збірками модулів, які дозволяють встановлювати будь-яку кількість екземплярів модуля.

Ілюстрацією такого підходу є Інфоленти , Які входять в стандартну поставку системи. Це модулі управління контентом (новини, блоги, фотоальбоми і т.д.) з широким набором функціоналу (теги, коментарі, рейтинги і ін.)

Наприклад, користувач може встановити з дистрибутива кілька стрічок новин, перевизначивши при цьому зовнішній вигляд, настройки і навіть код кожної з них і включивши в кожної свій унікальний набір додаткового функціоналу.

Мультіекземплярность і широкі можливості модифікації стали можливі завдяки використанню в архітектурі об'єктної моделі з трирівневої схемою успадкування гіпермодуль-конфігурація-екземпляр.

Дистрибутив являє собою targz-архів з трьома складовими: загальний код, інструкції установника і маніфест з інформацією про дистрибутиві.

У Amiro.CMS довгий час застосовується ретельно відпрацьована унікальна система поновлення: автоматично відбувається оновлення фронту за допомогою спеціального парсеру. Завдяки цій схемі на відміну від інших систем оновлення проходять безболісно, ​​користувачі Amiro.CMS не бояться оновлювати свої сайти на актуальну версію програмного забезпечення. Тепер весь функціонал автоматичної системи оновлення стає доступний розробникам рішень для Amiro.CMS.

Гнучка безпечно розширюється архітектура

Вся робота сторонніх рішень з ядром відбувається через API Вся робота сторонніх рішень з ядром відбувається через API. Модулі не взаємодіють між собою за допомогою прямих викликів методів. Взаємодія відбувається через систему подій: модуль може підписатися на події і сам ініціювати нові події. Такий підхід гарантує, що додавання нового модуля «не зламати» роботу інших модулів.

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

Наприклад, модуль рейтингів був реалізований пізніше інших модулів Amiro.CMS, але він автоматично підключився до всіх модулів системи без будь-яких змін в них, так як для роботи цього модулю потрібно тільки модель списку і модель деталей.

У Amiro.CMS 6 для розробників рішень передбачені широкі можливості як для розробки клієнтської частини рішень, так і для управліннями цими рішеннями в панелі адміністратора. API дозволяє не тільки реалізовувати секції для адміністрування своїх модулів, але створювати розширення, що створюють нові аспекти для всіх об'єктів панелі адміністратора, наприклад, додають нові групові операції над об'єктами або контролюючі індексацію сторінок в пошукових системах.

Аміро.Маркет

Разом з Amiro Разом з Amiro.CMS 6 на ринок виведено новий продукт - Аміро.Маркет . Це магазин готових рішень, що дозволяє розробникам заробляти на продажу створених ними рішень для Amiro.CMS.

Аміро.Маркет значно розширює аудиторію користувачів рішень Amiro.CMS: завдяки використанню API Аміро.Маркет рішення отримують можливість автоматичної установки і стають доступні не тільки професіоналам, але і кінцевим користувачам, які не володіють навичками програмування.

В майбутньому частина функціоналу з Amiro.CMS перейде в Аміро.Маркет у вигляді завантажуваних рішень. Оформлення функціоналу у вигляді завантажуваних з Аміро.Маркет рішень дозволяє не перевантажувати встановлену у користувача CMS надлишковим функціоналом, дає можливість оптимізувати систему, встановлюючи тільки те, що дійсно необхідно конкретним проектом. Як наслідок - система працює ще швидше, споживається менше ресурсів, при цьому інтерфейс адміністратора стає простіше.

готова інфраструктура

При розробці ядра Amiro При розробці ядра Amiro.CMS 6 однією з основних задач було дати розробникам всю необхідну готову інфраструктуру, таку як MVC, авторизація, робота з формами, валідація даних, структури даних і тд.

Розробнику залишається тільки писати код, який реалізує безпосередньо логіку, необхідну бізнес-користувачам. Детальніше про наданої інфраструктурі .

Автогенерація коду: відсутність необхідності розробнику вручну створювати всі файли і структуру класів. Всі скелети користувальницьких дистрибутивів створюються вбудованим генератором коду

Генератор коду може зробити дистрибутив будь-якого модуля натисненням однієї кнопки. На основі отриманого коду розробник може легко збирати свій модуль, реалізуючи код тільки для тих змін, які йому дійсно необхідні.

Інфоленти

У Amiro У Amiro.CMS 6 застосований новий принцип реалізації тематичних модулів (новини, блоги, статті тощо). Раніше у цих модулів була єдина узагальнена монолітна реалізація, затруднявшая їх роздільну модифікацію. У новій версії ядра виконано поділ логіки управління контентом на рівні абстракції з використанням нової 3-рівневої схеми спадкування ( гіпермодуль-конфігурація-екземпляр ).

Новий гіпермодуль ami_multifeeds реалізує функціонал, на основі якого можна навіть без написання коду (а при необхідності - і c написанням) створювати свої конфігурації, які є закінченими функціональними модулями.

Розглянемо стрічку новин, блог і фотоальбом. Гіпермодуль ami_multifeeds містить в собі вичерпний функціонал і велика кількість розширень (теги, коментарі, рейтинги і ін.) Для різноманітних сценаріїв роботи з контентом.

На основі гіпермодуля ami_multifeeds можна в 1 клік реалізувати новинну стрічку. За своєю сутністю стрічка новин це Інфолента, в якій відключені категорії, тому стрічка новин це просто конфігурація гіпермодуля інфолент, в якій відключено розширення категорій.

Розглянемо блог, що відрізняється від стрічки новин тим, що у нього по-замовчуванням включені коментарі і голосування. Блог просто є конфігурацією Інфоленти, в якій прописана дана специфіка.

Фотоальбом - це Інфолента, у якій за замовчуванням включено розширення «Зображення».

Шаблони оформлення цих модулів можуть відрізнятися між собою, що можна легко реалізувати за допомогою CSS.

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

Припустимо, що потрібно трохи змінити поведінку фотоальбому, наприклад, змінити принцип категоризації контенту в ньому. Можна автоматично створити успадкованих екземпляр фотоальбому і просто дописати в нього код, відсутній в гіпермодуле. Але в усьому іншому вийшов об'єкт продовжує залишатися гіпермодулем - він підпорядковується загальній логіці роботи гіпермодуля Інфолент і автоматично отримує всі оновлення, які розробники Amiro.CMS вносять в Інфоленти з виходом нових версій.

Необхідність писати свій гіпермодуль може виникнути, тільки якщо потрібно написати кардинально інший функціонал. Щоб розробник не виходив за концепт системи, передбачений ряд готових гіпермодулей, який в подальшому буде розширюватися:

  • порожній гіпермодуль ami_clean, в якому нічого немає, він використовується для наслідування;
  • гіпермодуль Інфолент ami_multifeeds, який реалізує різноманітні сценарії роботи з контентом.

Зараз за допомогою інфолент в ядрі Amiro.CMS реалізовані модулі: «Новини», «Блог», «Статті», «Фотоальбоми» та інші. Детальніше з ними можна познайомитися в регулярно поповнюється документації .

Про переведення тематичних модулів на інфоленти читайте в FAQ з питань міграції модулів з 5-ої на 6-ю версію Amiro.CMS .

Сучасні універсальні шаблони

У Amiro У Amiro.CMS 6 реалізований новий підхід до організації шаблонів. Налаштування дизайну будь-якого модуля практично повністю може бути виконана через CSS. Універсальна верстка дає широкі можливості налаштування зовнішнього вигляду роботи шаблону через настройку CSS без змін самих шаблонів.

Шаблони Інфолент створені спочатку так, щоб вся настройка дизайну могла бути повністю виконана засобами CSS. Це рекомендований оптимальний спосіб управління зовнішнім виглядом модулів.

Наприклад, модулі новини, блог, фотоальбом працюють фактично на одному базовому шаблоні, а індивідуальний вид і стиль відображення налаштовані за допомогою власного CSS кожного модуля, тобто один шаблон універсальний для різних модулів.

Інший приклад універсальності шаблонів - адаптація відображення модуля для різних пристроїв з різним дозволом екрану (в тому числі мобільних) тільки за допомогою CSS.

асинхронний інтерфейс

У Amiro У Amiro.CMS 6 реалізований механізм асинхронних викликів для отримання даних або виконання будь-яких операцій.

Переваги асинхронного інтерфейсу в тому, що оновлення інформації відбувається через перерисовку конкретних компонент, при цьому між користувачем і сервером передається мінімальний набір даних, що робить лаг в роботі в рази меншим, ніж при перезавантаженні всієї сторінки. Підвищується продуктивність і швидкодії системи - знижується навантаження на канал і на сервер.

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

Основні доступні асинхронні компоненти: фільтр, список, форма.

Є можливість розробки і використання користувальницьких компонент, наприклад, висновок текстової інформації, обробники яких-небудь дій і т.д.

Приклад сервісу, побудованого за допомогою асинхронного інтерфейсу - «Особисті повідомлення».

Асинхронний інтерфейс рекомендується використовувати для елементів, які не потребують пошукової індексації, наприклад, для динамічного завантаження призначених для користувача даних, форм запиту і т.п.

спадкування шаблонів

Оформлення модуля береться з базового шаблону, що входить в дистрибутив модуля Оформлення модуля береться з базового шаблону, що входить в дистрибутив модуля. Для зміни оформлення примірника модуля досить перевизначити тільки те, що потрібно змінити щодо шаблону модуля. Такий підхід суттєво скорочує кількість коду і час на його підтримку, дозволяючи робити настроювання дизайну максимально гнучко тільки засобами CSS.

Розглянемо пристрій шаблону модуля «Новини». Шаблони модуля підключаються і успадковуються в наступному порядку:

Гіпермодуль → Конфігурація → Примірник (модуль)

1. Шаблон гіпермодуля Інфолента є загальним для всіх модулів цього типу templates / hyper / ami_multifeeds.tpl, в ньому міститься все основне оформлення для всіх модулів такого типу.

2. Шаблон конфігурації «Новини» містить і перевизначає тільки елементи оформлення, які повинні відрізнятися від базового модуля і є специфічними для модулів цієї конфігурації /hyper/ami_multifeeds_news.tpl.

3. Шаблон примірника. Шаблон конкретного екземпляра модуля, в якому ви зараз перебуваєте. У ньому містяться елементи оформлення, специфічні для цього конкретного екземпляра.

Якщо потрібно що-небудь змінити, то досить перейти на рівень вище, скопіювати необхідний код і на поточному рівні внести в нього зміни вже в своєму модулі.


Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью