Lino Noi Overview¶
The goal of Lino Noi is managing tickets (problems reported by customers or other users) and registering the time needed by developers or other users to work on these tickets. It is then possible to publish service reports. It is also used for managing agile development projects.
This is a tested document. The following instructions are used for initialization:
>>> from lino import startup
>>> startup('lino_book.projects.noi1e.settings.demo')
>>> from lino.api.doctest import *
Configuration options¶
Lino Noi defines an application-specific site feature:
- cms_functionality¶
Whether this site has content management functionality.
This feature causes the
lino_xl.lib.pages
andlino.modlib.publisher
to be installed.
Ticket management is not Worktime tracking¶
Lino Noi uses both lino_xl.lib.tickets
(Ticket management) and
lino_xl.lib.working
(Worktime tracking).
But lino_xl.lib.tickets
is an independent plugin that might be reused by
other applications that have no worktime tracking. Lino Noi uses them both and
extends the "library" version of tickets:
>>> dd.plugins.working
lino_xl.lib.working
>>> dd.plugins.tickets
lino_noi.lib.tickets (extends_models=['Ticket', 'Site'])
>>> dd.plugins.working.needs_plugins
['lino.modlib.summaries', 'lino.modlib.checkdata']
>>> dd.plugins.tickets.needs_plugins
['lino_xl.lib.excerpts', 'lino.modlib.comments', 'lino.modlib.changes', 'lino_noi.lib.noi']
Countries¶
>>> rt.show(countries.Countries)
============================= ================================ ================================= ==========
Designation Designation (de) Designation (fr) ISO code
----------------------------- -------------------------------- --------------------------------- ----------
Bangladesh Bangladesh Bangladesh BD
Belgium Belgien Belgique BE
Congo (Democratic Republic) Kongo (Demokratische Republik) Congo (République democratique) CD
Estonia Estland Estonie EE
France Frankreich France FR
Germany Deutschland Allemagne DE
Maroc Marokko Maroc MA
Netherlands Niederlande Pays-Bas NL
Russia Russland Russie RU
============================= ================================ ================================= ==========
Lino Noi and Scrum¶
Every sprint is registered as a site
Usually there is at least one ticket per site for planning and discussion.
Every backlog item is registered as a ticket on that site
The detail view of a site is the equivalent of a backlog
>>> show_fields(system.SiteConfig)
...
+----------------------+----------------------+---------------------------------------------------------------------+
| Internal name | Verbose name | Help text |
+======================+======================+=====================================================================+
| default_build_method | Default build method | The default build method to use when rendering printable documents. |
+----------------------+----------------------+---------------------------------------------------------------------+
| simulate_today | Simulated date | A constant user-defined date to be substituted as current |
| | | system date. |
+----------------------+----------------------+---------------------------------------------------------------------+
| site_company | Site operator | The site operator, i.e. the legal person that operates this |
| | | Lino site. |
+----------------------+----------------------+---------------------------------------------------------------------+
| next_partner_id | Next partner id | The next automatic id for any new partner. |
+----------------------+----------------------+---------------------------------------------------------------------+
| default_event_type | Default Event Type | The default type of events on this site. |
+----------------------+----------------------+---------------------------------------------------------------------+
| site_calendar | Site Calendar | The default calendar of this site. |
+----------------------+----------------------+---------------------------------------------------------------------+
| max_auto_events | Max automatic events | Maximum number of automatic events to be generated. |
+----------------------+----------------------+---------------------------------------------------------------------+
| hide_events_before | Hide events before | If this is not empty, any calendar events before that date are |
| | | being hidden in certain places. |
+----------------------+----------------------+---------------------------------------------------------------------+
| workflow_buttons | Workflow | List of actions that change the workflow state of this object. |
+----------------------+----------------------+---------------------------------------------------------------------+
On 20211014 we had a TypeError: get_requirements() takes 1 positional
argument but 2 were given
. This is now covered for Noi by the following
snippet:
>>> settings.SITE.get_requirements()
['appy', 'bleach', 'djangorestframework', 'google-api-python-client',
'google-auth', 'google-auth-httplib2', 'google-auth-oauthlib', 'imagesize',
'num2words', 'odfpy', 'pywebpush', 'schedule', 'social-auth-app-django']