COREmanager Documentation

Home page (Dashboard)

General description

A Dashboard is a number of blocks of different types. The page is divided into there regions: TOP, LEFT, RIGHT. Blocks can be moved between regions, and up and down within the region. Blocks can be collapsed.

They are classified by its content - Task bar (large icons), List, and Report (Diagram).

Homepage XML

The following is an XML of the COREmanager Home page: 

<xml>
<doc lang="ru" func="dashboard" binary="/core" host="https://127.0.0.1:1500" stylesheet="dashboard" theme="/manimg/orion/" css="main.css" logo="logo.png" logolink="" favicon="favicon.ico" localdir="default/">
  <block name="taskbar" position="top" type="toolbar" display="">
    <toolbtn form="product.install" list="product" img="mb-install" name="product.install" sprite="yes"/>
    <toolbtn form="usrparam" img="mb-set" name="usrparam" sprite="yes"/>
    <toolbtn window="help" img="mb-mgrhelp" name="help" sprite="yes"/>
  </block>
  <block name="longtask" position="left" type="list" func="longtask" rows="5" display="max">
    <toolbtn name="view" default="yes"/>
    <toolbtn name="delete"/>
    <col name="name" type="data" sort="alpha"/>
    <col name="startdate" type="data" sort="alpha"/>
    <col name="enddate" type="data" sort="alpha" sorted="desc"/>
    <col name="status" sort="prop"/>
  </block>
  <block name="changelog.changes" position="left" type="list" func="changelog.changes" rows="12" display="max">
    <col name="desc" sorted="yes"/>
    <col name="type"/>
  </block>
  <block name="session" position="right" type="list" func="session" rows="5" display="max">
    <toolbtn name="kill"/>
    <col name="id"/>
    <col name="name" sort="alpha" sorted="yes"/>
    <col name="level"/>
    <col name="ip"/>
    <col name="idle"/>
  </block>
  <block name="authlog" position="right" type="list" func="authlog" rows="7" display="max">
    <col name="time" sort="alpha" sorted="yes"/>
    <col name="user" sort="alpha"/>
    <col name="ip" sort="alpha"/>
  </block>
  <messages name="dashboard" checked="yes">
    <msg name="actioncolumn">Действие</msg>
    <msg name="taskbar_help">Справка</msg>
    <msg name="taskbar_product.install">Установить приложение</msg>
    <msg name="taskbar_usrparam">Настройки панели</msg>
    <msg name="title">Главная</msg>
    <msg name="title_changelog.changes">Список изменений текущей версии</msg>
    <msg name="title_taskbar">Панель задач</msg>
    <msg name="taskbar_report" added="lang">Action log report</msg>
    <msg name="taskbar_brand" added="lang">Brand settings</msg>
    <msg name="title_longtask">Фоновые задания</msg>
    <msg name="title_session">Активные сессии</msg>
    <msg name="title_authlog">Журнал посещений</msg>
  </messages>
  <tparams>
    <func>dashboard</func>
    <out>devel</out>
   </tparams>
  <p_sort>enddate</p_sort>
  <p_order>desc</p_order>
  <p_cnt>1</p_cnt>
  <p_num>1</p_num>
  <p_elems>0</p_elems>
</doc> </xml>

The block element

Contains information about the block position, its status, type, and function to call to get its content.

Attributes of the block element

@name a block name

@position a block position, possible values top, left, right

@type a block type, possible values taskbar, list, report, infolist, url

@display block status, possible values min/max - collapsed or not

@func a name of the function that should be called to obtain the block's content. It is applied to the list, report and infolist types

@autoupdatetimeout to update the block, in seconds

The taskbar block

This block is a number of buttons to call a specific function.

The toolbtn element

Contains information about the button, its icon, and behavior.

Attributes of the toolbtn element

@name a button name

@top call functions from the attribute's value, and reboot desktop

@form open a form, the name of the form's function in the attribute value

@list open a list, the name of the lists's function in the attribute value

@window call a function from the attribute's value in a new window

@link open the url from the attribute value

@targeta standard attribute of the link, which is used along with the link

@img a name of the button's icon

@sprite an icon is included into the sprite

Localization

text to an icom localized messages based on the icon's name

The list-type block

Buttons (if any) in this list are located in a separate column, in each string. Buttons are handled in the same way as in the show/hide list and types.

Getting the block content

A list block doesn't contain any useful information. To get a list, send a request something like this MGR_URL?func=@list&dashboard=@name, where @list and @name attributes of the block element.

This request will handle modules.xsl, a distinctive feature of the XML is that the metadata element contains the @dashboard attribute

The url-type block

This is a frame. A path to the file for the frame is taken from the url element

XML:

<block name="promo" position="top" type="url" display="max">
  <url>https://ispsystem.com/external/banners/?manager=core&lang=ru</url>
</block>

The infolist-type block

Values in this list are divided into groups.


XML:

<metadata name="dashboard.info" type="infolist" mgr="billmgr" dashboard="yes">
  <rowdata>
    <rowgroup name="acc_info">
      <row name="id" type="data"/>
      <row name="regdate" type="data"/>
      <row name="phone" type="data/>
    </rowgroup>
    <rowgroup name="personal_account">
      <row name="provider" type="data/>
      <row name="balance" type="link"/>
      <row name="annual_turnover" type="data"/>
    </rowgroup>
    <rowgroup name="service">
     <row name="services" type="indicator" view="brackets"/>
    </rowgroup>
  </rowdata>
</metadata>

<elem>
  <id>XXX</id>
  <regdate>2013-05-08</regdate>
  <phone/>
  <provider>FirstDEDIC</provider>
  <balance func="payment.add">0.0000 RUB</balance>
  <annual_turnover>0.0000 RUB</annual_turnover>
  <services_total>80</services_total>
  <services_used color="red">10</services_used>
</elem>
  

The rowgroup element

The elements are grouped according to a certain logic.

rowgroup attributes

@name an element name. It is used for group's name localization

The row element

Describes a raw.

row attributes

@namean element name. It is used for raw's name localisation@typespecifies a data type. Possible values: data, link, indicator

Types:

  • data - text
  • link - link to a form (a function name and elid are specified by the @func and @elid attributes in the element with the value for string), or an external resource (the link is specified in the @url attribute in the element with the value for string)
  • indicator - is displayed like 80 (10), the first figure is taken from STRINGNAME_total, the second one - STRINGNAME_used, you can also set a color using the @color attribute

@viewonly for the type - indicator, if it is set to brackets, show the indicator as 80 (10)

The report-type block

This is a report, which contains only diagrams without table data.

Getting block contents

To get the contents, send the call something like this MGR_URL?func=@func&dashboard=@name, where @func@name are attributes of the block element. Besides, the element may contain child elements param with the @name attribute, that should be passed in the call. 

<xml> \<block ...\>
  <param name="foo">bar</param>  
  <param name="bar">foo</param>
</block> </xml>

The dashboard-report.xsl template will be applied to the panel's response.

Saving block after modification

When changing block's position or collapsing, send a call to the control panel to save data, something like this MGR_URL?func=dashboard.save&out=xml&block=BLOCK_NAME&display=DISPLAY&order=ORDER&position=POSITION , where BLOCK_NAME - the block name, DISPLAY - the block status min/maxPOSITION - current region of the block top/left/rightORDER - block position in the region (0, 1 ,2) . A response may not be handled.

Localization

block heading a localized message based on the block's name + the title_ prefix.