Welcome | Get started | Dive into Lino | Contribute | Topics | Reference | More
Project management¶
This page is a tested document and the following instructions are used for initialization:
>>> import lino
>>> lino.startup('lino_book.projects.noi1r.settings')
>>> from lino.api.doctest import *
The MySites
table will show only projects assigned to a team you are a
member of:
>>> ses = rt.login("robin")
>>> ses.show(tickets.MySites)
========================================= ============= ================================
Project Description Workflow
----------------------------------------- ------------- --------------------------------
`pypi </#/api/tickets/MySites/1>`__ **⚒ Active** → [⚹] [☉] [☾] [☑]
`security </#/api/tickets/MySites/4>`__ **⚒ Active** → [⚹] [☉] [☾] [☑]
========================================= ============= ================================
>>> ses.show(groups.Memberships)
==== ================= ================ ========
ID User Team Remark
---- ----------------- ---------------- --------
1 Jean Developers
2 Luc Managers
3 Marc Front-end team
4 Mathieu Developers
5 Romain Raffault Managers
6 Rolf Rompen Front-end team
7 Robin Rood Developers
==== ================= ================ ========
>>> ses.show(groups.MembershipsByUser, master_instance=ses.get_user())
**Robin Rood in Developers**, **New****?**
>>> rt.login("robin").show(tickets.Sites, column_names="ref name id group")
=========== ============= ==== ================
Reference Designation ID Team
----------- ------------- ---- ----------------
admin admin 6 Front-end team
bugs bugs 3 Front-end team
cust cust 5 Managers
docs docs 2 Managers
pypi pypi 1 Developers
security security 4 Developers
=========== ============= ==== ================
What is a project?¶
- class lino_xl.lib.tickets.models.Project¶
A project is something on which several users work together.
A Project is something into which somebody (the partner) invests time, energy and money. The partner can be either external or the runner of the site.
Projects form a hierarchical tree: each Project can have a parent (another Project for which it is a sub-project).
A project in Noi is called a product backlog item (PBI) or a Sprint in Scrum. (At least for the moment we don't see why Lino should introduce a new database model for differentiating them. We have the ProjectType
- name¶
- parent¶
- assign_to¶
The user to whom new tickets will be assigned. See
Ticket.assigned_to
.
Ticket versus project¶
The difference between "ticket" and "project" might not be obvious. For example something that started as a seemingly meaningless "ticket" can grow into a whole "project". But if this happens in reality, then you simply do it in the database.
The most visible difference is that projects are handled by their name while tickets just have a number. Another rule of thumb is that tickets are atomic tasks while projects are a way for grouping tickets into a common goal. Tickets are short term while projects are medium or long term. Tickets are individual and have a single author while projects are group work. The only goal of a ticket is to get resolved while a project has a more complex definition of goals and requirements.
Project types¶
- class lino_xl.lib.tickets.models.TimeInvestment¶
Model mixin for things which represent a time investment. This currently just defines a group of three fields:
- closed¶
Whether this investment is closed, i.e. certain things should not change anymore.
- private¶
Whether this investment is private, i.e. should not be publicly visible anywhere.
The default value is True. Tickets on public projects cannot be private, but tickets on private projects may be manually set to public.
- planned_time¶
The time (in hours) we plan to work on this project or ticket.