← Back to team overview

launchpad-dev team mailing list archive

Rethinking the official_<service> attributes

 

I have talked about removing or changing official_<service> attributes
before. Today is the day we need to make that decision. The bool state
does not work, and we are more interested in knowing where the service
is hosted, not that the service is hosted on Launchpad. We cannot
complete the project configuration progress bar, or update all app pages
to state if an application is used in Launchpad or used elsewhere when
all we know is if a project chooses to officially use Launchpad.

Each app has it own circumstances, and I would like the team to review
them. The three states we care about for an service are:
UNKNOWN, LAUNCHPAD, EXTERNAL (name/url of location). Replacing the bools
with a vocabulary accomplishes part of goal. Knowing where the service
is would be helpful.

official_codehosting:
This means nothing. It is not used in the code at all.
        UNKNOWN: Project branch is not set.
        LAUNCHPAD: Project branch is set and it is hosted on Lp.
        EXTERNAL: Project branch is set and it is a mirror.

Nothing actually needs to change. We could have an attribute the returns
the states three states we care about


official_malone:
This is used to show bug portlets on pages and enable the app page.
        UNKNOWN: official_malone is False and bug_tracker is not set.
        LAUNCHPAD: official_malone is True
        EXTERNAL: official_malone is False and bug_tracker is set.

Nothing actually needs to change. We could have an attribute the returns
the states three states we care about. The logic in the bug tracker
widget is convoluted and it is possible for the database to say there is
a bug tracker and that the project is hosted in Lp. We could switch to a
vocabulary, or consider adding Launchpad to BugTrackers.


official_rosetta:
This is used to enable the app page.
        UNKNOWN: Impossible to know
        LAUNCHPAD: official_rosetta is True
        EXTERNAL: official_rosetta is False, but we do not know where

I do not know if we need to list other translation services. It also
does not make sense to ask the project to choose the state when it is
possible to see there are no templates in the source code.


official_blueprints:
This is used to show bug portlets on pages and enable the app page.
        UNKNOWN: Impossible to know
        LAUNCHPAD: official_blueprints is True
        EXTERNAL: official_blueprints is False, but we do not know where

I think project.wiki field really is specifications and documentation
and could be reused to show where the service is. If we do not have an
attribute that clearly says where the external service is, we need to
switch to a vocabulary for the needed states.


official_answers:
This is used to show bug portlets on pages and enable the app page.
        UNKNOWN: Impossible to know
        LAUNCHPAD: official_answers is True
        EXTERNAL: official_answers is False, but we do not know where

Users have asked for a field to provide a mailing list address or a
forum URL. If we do not have an attribute that clearly says where the
external service is, we need to switch to a vocabulary for the needed
states.

-- 
__Curtis C. Hovey_________
http://launchpad.net/

Attachment: signature.asc
Description: This is a digitally signed message part


Follow ups