Ticket #18 (assigned enhancement)

Opened 7 years ago

Last modified 4 years ago

Self serve new package form

Reported by: toshio Owned by: toshio
Priority: major Milestone: 0.4
Component: Web UI Version:
Severity: Hindrance Keywords:
Cc: Blocked By:
Blocking:

Description (last modified by toshio) (diff)

Let users submit a new package via a web form. This may be queued or go live immediately. The package would need to be entered into the database and then some method established for the cvs server to create new branches based on the newest information.

First step is to have FESCo or cvsadmins decide whether the package goes live or gets queued for approval.

After that we have the following tasks to perform:

  • Code a template to take package name review URL, owner.
  • Code for either queue or approval
  • Code a cvs-int cron job that can tell when to create a new branch. This could piggyback on the acl script somehow.

Change History

comment:1 Changed 7 years ago by toshio

  • Description modified (diff)

comment:2 Changed 7 years ago by toshio

  • Milestone changed from Future to 0.4

comment:3 Changed 7 years ago by toshio

  • Owner changed from toshio to josemm

Here's the page of things that we want to translate into a web form:: http://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure

We'll probably end up with two or three pages from that.

Using supervisor was tlaked about on IRC and a page documenting it will be up here later: http://fedoraproject.org/wiki/Infrastructure/SOP/TGApps

Genshi Templating page: Genshi Templating http://genshi.edgewall.org/

comment:4 Changed 6 years ago by toshio

  • Severity set to Hindrance
  • Milestone changed from 0.4 to 0.3.3
  • Owner changed from josemm to toshio

Moving time frame for completing this up to the 0.3.x series.

comment:5 Changed 6 years ago by kevin

I suggest the following here:

Add button to the top level: "new package" or "add new package"

Next it should query the user for the bugzilla bug number of the review.

Hopefully it could then use that to autofill the Name of the package as well as the short description. This would be in the title of the bug in the form: "Review Request: packagename - short description"

The desired branches could be done with checkboxes? Currently, valid branch names:

F-8 [ ] F-7 [ ] OLPC-2 [ ] EL-4 [ ] EL-5 [ ]

Could owner be deduced by the submitter of the package? it would then need to map email address in bugzilla to a fedora account name. Otherwise there may need to be an entry blank for this.

There would need to be a blank/entry for 'co-maintainers' and for 'cc', and a checkbox for 'cvsextras commits [X]' (that defaults to on). Perhaps some or all of this interface could be re-used from the main pkgdb interface?

Once someone submits, there will need to be a page for cvsadmins to go to to look and confirm that the request looks sane and approve it. Then it would need to run the needed pkgdb-client/pkgdb2branch commands to add the package.

Happy to provide more input or info here...

comment:6 Changed 6 years ago by toshio

  • Milestone changed from 0.3.4 to 0.3.7
  • Status changed from new to assigned

Notes on how the backend should work:

  1. Request for new package with new branch is added to the packagedb.
  2. Request is marked approved by an admin
  3. Packagedb create the record for the package
  4. Packagedb waits for the email alias to be created (currently, the packagedb doesn't know for sure that the alias has been created... we'll just wait an appropriate length of time. If this proves problematic we can create a URL that records that aliases has been created that is only authorized to certain users.)
  5. Packagedb records that the package is ready to be branched.
  6. cvs-int has a cron job that queries for packages to branch, branches them, and then records that they have been created.

comment:7 Changed 4 years ago by toshio

[13:29:56] <abadger1999> mmcgrath: Ah... pkgdb work: interface to create request, create a table in the pkgdb to queue the requests. Interface to approve the queued requests.  cvs01: work:
[13:30:21] <mmcgrath> how are the requests put in now?  bugzilla?
[13:30:37] <abadger1999> mmcgrath: cron job that pulls approved requests from the queue and creates repositories on the cvs server.
[13:30:44] <abadger1999> mmcgrath: Correct.
[13:31:04] <mmcgrath> should we just use bz or do we really need to move requests to pkgdb?
[13:31:04] <abadger1999> mmcgrath: http://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure
[13:31:30] <abadger1999> mmcgrath: nirik: how does tibbs's new tool work for you?
[13:31:39] <nirik> works great.
[13:32:15] --> Sparks has joined this channel (~Sparks@fedora/pdpc.active.sparks).
[13:32:22] <abadger1999> nirik: scale of 1 - 10 how much would you gain from moving the cvs requests into a pkgdb approval queue instead of using this tool?
[13:33:11] <tibbs> There are things the tool doesn't handle.
[13:33:16] <nirik> well, that would fix some of the malformed requests issues.
[13:33:21] <abadger1999> <nod>
[13:33:41] <tibbs> And giving people checkboxes instead of asking them to paste text in is a win.
[13:33:54] <tibbs> I can always write another tool if I can extract the data from pkgdb.
[13:34:16] <tibbs> I do find clicking around in web interfaces to be a rather terrible way to do any kind of work.
[13:34:44] <abadger1999> <nod>  -- yeah, I prefer to write a commandline tool to interact with the form/web server.
[13:35:46] <abadger1999> mmcgrath: ^ So it sounds like: 1) Form is a better guide for people to not do something wrong 2) Could handle some cvsadmin requests that currently require cvsadmins to do manually.
[13:36:15] <tibbs> The set of stuff that you'd want to do automatically isn't all that large.
[13:36:18] <mmcgrath> <nod> coo
[13:36:36] <tibbs> Basically, new branches for existing packages where the owner doesn't change.
[13:36:59] <tibbs> But even then, we ask folks "do you really want an EL-5 branch but no EL-6 branch"?
[13:37:28] <tibbs> Maybe if they see an EL-6 checkbox, there won't be much confusion about it.
[13:38:01] <tibbs> The important thing is that we keep the link between the CVS request and the review ticket (for new packages, at least).
Note: See TracTickets for help on using tickets.