ABF - новый бэкенд, новый дизайн и новые возможности

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Created page with "<!-- Смело пишите здесь свою заметку. Можно использовать все возможности вики, включать картинки ...")
 
м
 
Строка 1: Строка 1:
<!-- Смело пишите здесь свою заметку. Можно использовать все возможности вики, включать картинки и другие статьи все они автоматически отреплицируются наружу -->
+
Как наверняка заметили пользователи ABF, у нашей системы сборки недавно сильно изменился внешний вид. Но вряд ли многие догадываются, что изменение дизайна это не самоцель, а следствие серьезных изменений в структуре бэкенда ABF.
  
Как наверняка заметили пользователи ABF, у нашей системы сборки недавно сильно изменился внешний вид. Но вряд ли многие догадываются, что изменение дизайна - это не самоцель, а следствие серьезных изменений в структуре бэкенда ABF.
+
В частности, ABF теперь использует популярные фреймворки [http://getbootstrap.com/ Bootstrap 3] и [https://angularjs.org/ AngularJS]. Переход на них был продиктован отнюдь не данью моде, а необходимостью избавиться от самописных наработок, перенеся тем самым ряд задач с разработчиков ABF на разработчиков фреймворков и позволив первым больше внимания уделять функционалу, связанному с непосредственными обязанностями ABF — разработкой и сборкой проектов под Linux. Подобная необходимость замены собственных велосипедов на стандартные решения рано или поздно встает перед многими проектами, и мы решили, что лучше с этим процессом не затягивать — пока все еще помнят, как все самописные вещи устроены и работают.
  
В частности, ABF теперь использует популярные фреймворки [http://getbootstrap.com/ Bootstrap 3] и [https://angularjs.org/ AngularJS]. Переход на них был продиктован отнюдь не данью моде, а необходимостью избавиться от самописных наработок, перенеся тем самым ряд задач с разработчиков ABF на разработчиков фреймворков и позволив первым больше внимания уделять функционалу, связанному с непосредственными обязанностями ABF - разработкой и сборкой проектов под Linux. Подобная необходимость замены собственных велосипедов на стандартные решения рано или поздно встает перед многими проектами, и мы решили, что лучше с этим процессом не затягивать - пока все еще помнят, как все самописные вещи устроены и работают.
+
Процесс переезда на новые технологии занял более полугода, и в начале февраля мы сочли качество нового ABF достаточным для «выхода в свет» и представления широкой публике.
 
+
Процесс переезда на новые технологии занял более полугода, и в начале февраля мы сочли качество нового ABF достаточным для "выхода в свет" и представления широкой публике.
+
  
 
[[File:New ABF2.png|.png|640px|center]]
 
[[File:New ABF2.png|.png|640px|center]]
  
Визуальные изменения в интерфейсе серьезны, а глаз разработчиков за полгода общения с ним успел замылиться, поэтому новые идеи и комментарии от пользователей относительно внешнего вида приветсвуются. Если у вас есть более-менее глобальные предложения, то лучше оформлять их в виде идей на страничке [https://abf.io/abf/abf-ideas/issues ABF Ideas], а сообщения о мелких недочетах лучше отправлять с помощью [https://abf.io/contact соответсвующей формы] на сайте.
+
Визуальные изменения в интерфейсе серьезны, а глаз разработчиков за полгода общения с ним успел замылиться, поэтому новые идеи и комментарии от пользователей относительно внешнего вида приветствуются. Если у вас есть более-менее глобальные предложения, то лучше оформлять их в виде идей на страничке [https://abf.io/abf/abf-ideas/issues ABF Ideas], а сообщения о мелких недочетах лучше отправлять с помощью [https://abf.io/contact соответствующей формы] на сайте.
  
Помните, что визуальные изменения дизайна - это только вершина айсберга, внутренности ABF также подверглись серьезной переработке. Несмотря на обилие внутренних тестов (мы придерживаемся принципов Behavior Driven Development и пишем тесты на RSpec), мы допускаем возможность наличия ряда ошибок и регрессий. К слову, за первый день эксплуатации нового ABF мы по запросам пользователей уже исправили проблемы с подключением контейнеров, пересозданием сборок, отправкой pull request'ов через веб-интерфейс, автоматическим выбором целевых репозиториев в некоторых специфических случаях и несколько других проблем, не смертельных с точки зрения функционала разработки и сборки, но неудобных и неприятных с точки зрения пользователя Web-интерфйеса.
+
Помните, что визуальные изменения дизайна это только вершина айсберга, внутренности ABF также подверглись серьезной переработке. Несмотря на обилие внутренних тестов (мы придерживаемся принципов ''Behavior Driven Development'' и пишем тесты на RSpec), мы допускаем возможность наличия ряда ошибок и регрессий. К слову, за первый день эксплуатации нового ABF мы по запросам пользователей уже исправили проблемы с подключением контейнеров, пересозданием сборок, отправкой pull request’ов через веб-интерфейс, автоматическим выбором целевых репозиториев в некоторых специфических случаях и несколько других проблем, не смертельных с точки зрения функционала разработки и сборки, но неудобных и неприятных с точки зрения пользователя Web-интерфйеса.
  
  
 
Есть и несколько новых заметных изменений в новом интерфейсе ABF по сравнению с предыдущим:
 
Есть и несколько новых заметных изменений в новом интерфейсе ABF по сравнению с предыдущим:
* для времени и даты теперь предпочтительным является отображение абсолютного значения - '''2014-06-10 14:02'''. Относительное значение отображается рядом, если позволяет место - '''2014-06-10 14:02 (8 months ago)''';
+
* для времени и даты теперь предпочтительным является отображение абсолютного значения '''2014-06-10 14:02'''. Относительное значение отображается рядом, если позволяет место '''2014-06-10 14:02 (8 months ago)''';
* на странице Advisories появилась колонка с именем проекта - очень полезно, т.к. по тексту некоторых advisories сложно понять, к какому пакету/проекту они относятся;
+
* на странице Advisories появилась колонка с именем проекта очень полезно, так как по тексту некоторых advisories сложно понять, к какому пакету/проекту они относятся;
 
* если проект является форком другого, то это будет отображено в меню на странице проекта:
 
* если проект является форком другого, то это будет отображено в меню на странице проекта:
 
[[File:New ABF parent project.png|.png|640px|center]]
 
[[File:New ABF parent project.png|.png|640px|center]]
 
* если в строке браузера ввести ссылку на несуществующий проект, то отобразится страница '''404''', но содержимое строки адреса очищено не будет (как это было в старом ABF, когда в строке адреса вы получали '''http://abf.io/404.html'''). Так что если вы ошиблись парой символов, то исправить это можно гораздо проще;
 
* если в строке браузера ввести ссылку на несуществующий проект, то отобразится страница '''404''', но содержимое строки адреса очищено не будет (как это было в старом ABF, когда в строке адреса вы получали '''http://abf.io/404.html'''). Так что если вы ошиблись парой символов, то исправить это можно гораздо проще;
* при создании новой сборки содержимое колонки "Build for platform" динамически изменяется в зависимости от того, что выбрано в поле "Save to repository". Например, если мы собираем пакет для репозитория rosa2014.1/main, то ABF разрешит подключить только репозитории платформы rosa2014.1:
+
* при создании новой сборки содержимое колонки «Build for platform» динамически изменяется в зависимости от того, что выбрано в поле «Save to repository». Например, если мы собираем пакет для репозитория <tt>rosa2014.1/main</tt>, то ABF разрешит подключить только репозитории платформы <tt>rosa2014.1</tt>:
  
 
[[File:New ABF new build.png|.png|640px|center]]
 
[[File:New ABF new build.png|.png|640px|center]]
  
Наконец, главное нововведение в новом ABF - это проекты-алиасы ("aliases"), имеющие общий Git-репозиторий. То есть теперь можно иметь два проекта '''vanya/old_project''' и '''petya/new_project''' с различными описаниями, владельцами, привязками к платформам/репозиториям и так далее, но с общим Git-репозиорием. Так что все изменения, которые происходят в коде проекта '''vanya/old_project''' автоматически попадают в код '''petya/new_project'''.
+
Наконец, главное нововведение в новом ABF это проекты-алиасы («aliases»), имеющие общий Git-репозиторий. То есть теперь можно иметь два проекта <tt>vanya/old_project</tt> и <tt>petya/new_project</tt> с различными описаниями, владельцами, привязками к платформам/репозиториям и так далее, но с общим Git-репозиорием. Так что все изменения, которые происходят в коде проекта <tt>vanya/old_project</tt> автоматически попадают в код <tt>petya/new_project</tt>.
  
Создать проект-алиас можно нажав на кнопку "Fork" и выбрав соответсвующую опцию - если у вас достаточно прав, но вам предоставят на выбор возможность склонировать проект либо сделать ему алиас. Однако помните, что для создания алиаса необходимо иметь права не только на создание проектов в целевой группе, но и иметь права администратора в группе, к которой принадлежит исходный проект. Посмотреть список алиасов проекта можно на странице его свойств. При удалении одного из алиасов Git-репозиторий не удаляется, пока есть хотя бы один привязанный к нему проект.
+
Создать проект-алиас можно нажав на кнопку «Fork» и выбрав соответствующую опцию если у вас достаточно прав, но вам предоставят на выбор возможность склонировать проект либо сделать ему алиас. Однако помните, что для создания алиаса необходимо иметь права не только на создание проектов в целевой группе, но и иметь права администратора в группе, к которой принадлежит исходный проект. Посмотреть список алиасов проекта можно на странице его свойств. При удалении одного из алиасов Git-репозиторий не удаляется, пока есть хотя бы один привязанный к нему проект.
  
Пользоваться этой новой возможностью надо с аккуратностью - ведь если забыть о существовании алиаса, то можно невзначай навредить соседнему проекту. Впрочем, предназначен новый функционал в первую очередь для разработчиков дистрибутивов (у которых порой возникает необходимость автоматически синхронизировать изменения в сотнях и даже тысячах проектов из разнгых платформ), и большинству пользователей вряд ли пригодится.
+
Пользоваться этой новой возможностью надо с аккуратностью ведь если забыть о существовании алиаса, то можно невзначай навредить соседнему проекту. Впрочем, предназначен новый функционал в первую очередь для разработчиков дистрибутивов (у которых порой возникает необходимость автоматически синхронизировать изменения в сотнях и даже тысячах проектов из разных платформ), и большинству пользователей вряд ли пригодится.
  
<poll>  
+
<poll>
 
ALTERNATIVE
 
ALTERNATIVE
 
OPEN_RESULTS
 
OPEN_RESULTS
UNSAFE_ID=good-news-2013-09-30
+
UNSAFE_ID=good-news-abf-2015-03-03
 
Надеюсь, эта новость вас…
 
Надеюсь, эта новость вас…
 
Ввела в экстаз <tt>^_^</tt>
 
Ввела в экстаз <tt>^_^</tt>

Текущая версия на 17:57, 5 февраля 2015

Как наверняка заметили пользователи ABF, у нашей системы сборки недавно сильно изменился внешний вид. Но вряд ли многие догадываются, что изменение дизайна — это не самоцель, а следствие серьезных изменений в структуре бэкенда ABF.

В частности, ABF теперь использует популярные фреймворки Bootstrap 3 и AngularJS. Переход на них был продиктован отнюдь не данью моде, а необходимостью избавиться от самописных наработок, перенеся тем самым ряд задач с разработчиков ABF на разработчиков фреймворков и позволив первым больше внимания уделять функционалу, связанному с непосредственными обязанностями ABF — разработкой и сборкой проектов под Linux. Подобная необходимость замены собственных велосипедов на стандартные решения рано или поздно встает перед многими проектами, и мы решили, что лучше с этим процессом не затягивать — пока все еще помнят, как все самописные вещи устроены и работают.

Процесс переезда на новые технологии занял более полугода, и в начале февраля мы сочли качество нового ABF достаточным для «выхода в свет» и представления широкой публике.

.png

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

Помните, что визуальные изменения дизайна — это только вершина айсберга, внутренности ABF также подверглись серьезной переработке. Несмотря на обилие внутренних тестов (мы придерживаемся принципов Behavior Driven Development и пишем тесты на RSpec), мы допускаем возможность наличия ряда ошибок и регрессий. К слову, за первый день эксплуатации нового ABF мы по запросам пользователей уже исправили проблемы с подключением контейнеров, пересозданием сборок, отправкой pull request’ов через веб-интерфейс, автоматическим выбором целевых репозиториев в некоторых специфических случаях и несколько других проблем, не смертельных с точки зрения функционала разработки и сборки, но неудобных и неприятных с точки зрения пользователя Web-интерфйеса.


Есть и несколько новых заметных изменений в новом интерфейсе ABF по сравнению с предыдущим:

  • для времени и даты теперь предпочтительным является отображение абсолютного значения — 2014-06-10 14:02. Относительное значение отображается рядом, если позволяет место — 2014-06-10 14:02 (8 months ago);
  • на странице Advisories появилась колонка с именем проекта — очень полезно, так как по тексту некоторых advisories сложно понять, к какому пакету/проекту они относятся;
  • если проект является форком другого, то это будет отображено в меню на странице проекта:
.png
  • если в строке браузера ввести ссылку на несуществующий проект, то отобразится страница 404, но содержимое строки адреса очищено не будет (как это было в старом ABF, когда в строке адреса вы получали http://abf.io/404.html). Так что если вы ошиблись парой символов, то исправить это можно гораздо проще;
  • при создании новой сборки содержимое колонки «Build for platform» динамически изменяется в зависимости от того, что выбрано в поле «Save to repository». Например, если мы собираем пакет для репозитория rosa2014.1/main, то ABF разрешит подключить только репозитории платформы rosa2014.1:
.png

Наконец, главное нововведение в новом ABF — это проекты-алиасы («aliases»), имеющие общий Git-репозиторий. То есть теперь можно иметь два проекта vanya/old_project и petya/new_project с различными описаниями, владельцами, привязками к платформам/репозиториям и так далее, но с общим Git-репозиорием. Так что все изменения, которые происходят в коде проекта vanya/old_project автоматически попадают в код petya/new_project.

Создать проект-алиас можно нажав на кнопку «Fork» и выбрав соответствующую опцию — если у вас достаточно прав, но вам предоставят на выбор возможность склонировать проект либо сделать ему алиас. Однако помните, что для создания алиаса необходимо иметь права не только на создание проектов в целевой группе, но и иметь права администратора в группе, к которой принадлежит исходный проект. Посмотреть список алиасов проекта можно на странице его свойств. При удалении одного из алиасов Git-репозиторий не удаляется, пока есть хотя бы один привязанный к нему проект.

Пользоваться этой новой возможностью надо с аккуратностью — ведь если забыть о существовании алиаса, то можно невзначай навредить соседнему проекту. Впрочем, предназначен новый функционал в первую очередь для разработчиков дистрибутивов (у которых порой возникает необходимость автоматически синхронизировать изменения в сотнях и даже тысячах проектов из разных платформ), и большинству пользователей вряд ли пригодится.

Надеюсь, эта новость вас…

Ввела в экстаз ^_^9
31%
Порадовала :)15
52%
Оставила равнодушным -_-3
10%
Огорчила :(2
7%

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.