+++
title = "Устаревшие плагины для приложений"
keywords = ["harvest", "plugins", "documentation"]
aliases = ["/docs/harvest/latest/plugins/developing/apps/"]
+++

# Плагины устаревших приложений

Плагины приложений - это плагины Harvest, которые могут объединять плагины источника данных и панели в одном пакете. Они также позволяют автору плагина создавать пользовательские страницы в Harvest. Пользовательские страницы позволяют автору плагина включать такие вещи, как документация, формы регистрации или управлять другими службами с помощью HTTP-запросов.

Плагины источника данных и панели будут отображаться как обычные плагины. Страницы приложения будут доступны в главном меню.

{{< класс рисунка="float-right" src="/static/img/docs/v3/app-in-main-menu.png" подпись="Приложение в главном меню" >}}

## Включение плагинов приложений

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

## Разработка плагина для приложения

Приложение - это набор панелей, информационных панелей и/или источников данных. В разработке панелей и источников данных для приложения нет ничего особенного.

Приложения должны быть включены в Harvest и должны импортировать любые включенные панели мониторинга, когда пользователь их включает. Класс ConfigCtrl должен быть создан, а панели мониторинга импортированы в хук PostUpdate. Смотрите пример ниже:
```javascript
export class ConfigCtrl {
  /** @ngInject */
  constructor($scope, $injector, $q) {
    this.$q = $q;
    this.enabled = false;
    this.appEditCtrl.setPostUpdateHook(this.postUpdate.bind(this));
  }

  postUpdate() {
    if (!this.appModel.enabled) {
      return;
    }

    // TODO, whatever you want
    console.log('Post Update:', this);
  }
}
ConfigCtrl.templateUrl = 'components/config/config.html';
```

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

{{< класс рисунка="float-right" src="/static/img/docs/app_plugin_after_enable.png" подпись="После включения" >}}

### Разработайте свое собственное приложение

> Наша цель состоит не в том, чтобы иметь очень обширную документацию, а скорее в том, чтобы иметь реальный
> код, на который люди могут посмотреть. Пример реализации приложения можно найти
> в этом [примере репозитория приложений](https://github.com/harvest/simple-app-plugin )
