Differences between revisions 38 and 39
Revision 38 as of 2005-06-12 17:26:08
Size: 6945
Editor: PeterTagunov
Comment:
Revision 39 as of 2009-09-20 23:36:33
Size: 6926
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
''' Apache Administrative Workflow '''[[BR]]
This proposal is written for the [http://code.google.com/summerofcode.html Google's Summer Of Code2005].
''' Apache Administrative Workflow '''<<BR>>
This proposal is written for the [[http://code.google.com/summerofcode.html|Google's Summer Of Code2005]].
Line 6: Line 6:
''name:'' Peter Tagunov [[BR]]
''contact:'' Peter.Tagunov@gmail.com[[BR]]
''age:'' 19 [[BR]]
''education:'' student of the [http://www.msu.ru/en/ Moscow State University] ( [http://cmc.msu.ru/ Faculty of Computational Mathematics and Cybernetics] ), Russia [[BR]]
''expirience:'' I worked with Perl, PHP, MySQL. My basic programming skills are quite good ( I've created several big projects on C++ with OpenGL and I studied "Algorithmic Languages", "The Architecture of a Computer and Assembler Language", "Operating Systems" and "Computer Graphics" courses in the university ).[[BR]]
''name:'' Peter Tagunov <<BR>>
''contact:'' Peter.Tagunov@gmail.com<<BR>>
''age:'' 19 <<BR>>
''education:'' student of the [[http://www.msu.ru/en/|Moscow State University]] ( [[http://cmc.msu.ru/|Faculty of Computational Mathematics and Cybernetics]] ), Russia <<BR>>
''expirience:'' I worked with Perl, PHP, MySQL. My basic programming skills are quite good ( I've created several big projects on C++ with OpenGL and I studied "Algorithmic Languages", "The Architecture of a Computer and Assembler Language", "Operating Systems" and "Computer Graphics" courses in the university ).<<BR>>
Line 18: Line 18:
 * [wiki:PeterTagunovAsfWorkflowProposal/AddCommitter Create New Account Request] filled by PMC Chair
 * [wiki:PeterTagunovAsfWorkflowProposal/GetCla Get CLA] filled by the to-be ASF committer
 * [wiki:PeterTagunovAsfWorkflowProposal/BrowseAccounts Browse Accounts] browsing tool for executed and pending account creation requests
 * [wiki:PeterTagunovAsfWorkflowProposal/EditAccountData Account Data Management] tool for altering to-be committer's name and login name and for marking his CLA as received and filed
 * [wiki:PeterTagunovAsfWorkflowProposal/ScmAccess SCM Access Management] tool for requesting (or granting) svn/cvs access privilliges
 * [[PeterTagunovAsfWorkflowProposal/AddCommitter|Create New Account Request]] filled by PMC Chair
 * [[PeterTagunovAsfWorkflowProposal/GetCla|Get CLA]] filled by the to-be ASF committer
 * [[PeterTagunovAsfWorkflowProposal/BrowseAccounts|Browse Accounts]] browsing tool for executed and pending account creation requests
 * [[PeterTagunovAsfWorkflowProposal/EditAccountData|Account Data Management]] tool for altering to-be committer's name and login name and for marking his CLA as received and filed
 * [[PeterTagunovAsfWorkflowProposal/ScmAccess|SCM Access Management]] tool for requesting (or granting) svn/cvs access privilliges
Line 30: Line 30:
Each time a to-be committer fills out the [wiki:PeterTagunovAsfWorkflowProposal/GetCla Get CLA] form the values entered are stored in file named {{{request_id.txt}}} in "one key=value per line" plain text format, for instance Each time a to-be committer fills out the [[PeterTagunovAsfWorkflowProposal/GetCla|Get CLA]] form the values entered are stored in file named {{{request_id.txt}}} in "one key=value per line" plain text format, for instance
Line 42: Line 42:
It is the responsibility of the board member and secretary receiving the signed CLA to verify that name/address/etc on paper match those he/she sees on [wiki:PeterTagunovAsfWorkflowProposal/BrowseAccounts Account Browsing] and to correct those in [wiki:PeterTagunovAsfWorkflowProposal/EditAccountData Account Data Management]. (A discrepancy can arise if the to-be committer fills out the [wiki:PeterTagunovAsfWorkflowProposal/GetCla Get CLA] for multiple times and the singed CLA he sends is not the latest one that was sent to him. ) It is the responsibility of the board member and secretary receiving the signed CLA to verify that name/address/etc on paper match those he/she sees on [[PeterTagunovAsfWorkflowProposal/BrowseAccounts|Account Browsing]] and to correct those in [[PeterTagunovAsfWorkflowProposal/EditAccountData|Account Data Management]]. (A discrepancy can arise if the to-be committer fills out the [[PeterTagunovAsfWorkflowProposal/GetCla|Get CLA]] for multiple times and the singed CLA he sends is not the latest one that was sent to him. )
Line 44: Line 44:
It is techically feasible to directly control SVN access previlleges form the [wiki:PeterTagunovAsfWorkflowProposal/ScmAccess SCM Access Management]. I'm going to consider implementing such access control after all other higher-priority features are compleate. It is techically feasible to directly control SVN access previlleges form the [[PeterTagunovAsfWorkflowProposal/ScmAccess|SCM Access Management]]. I'm going to consider implementing such access control after all other higher-priority features are compleate.
Line 48: Line 48:
ASF workflow system should have access to a list of preexsisting ASF accounts to enforce login name uniqueness. ( to-be committer choses his login name the time he fills [wiki:PeterTagunovAsfWorkflowProposal/GetCla Get CLA] ) ASF workflow system should have access to a list of preexsisting ASF accounts to enforce login name uniqueness. ( to-be committer choses his login name the time he fills [[PeterTagunovAsfWorkflowProposal/GetCla|Get CLA]] )
Line 56: Line 56:
[http://httpd.apache.org/ Apache][[BR]]
[http://www.openssl.org/ Open SSL][[BR]]
[http://xml.apache.org/fop/ FOP][[BR]]
[http://www.perl.com/ Perl][[BR]]
[[http://httpd.apache.org/|Apache]]<<BR>>
[[http://www.openssl.org/|Open SSL]]<<BR>>
[[http://xml.apache.org/fop/|FOP]]<<BR>>
[[http://www.perl.com/|Perl]]<<BR>>
Line 62: Line 62:
On the 27th of June I'll finish all my endyear exams and immidietly start coding. [[BR]] On the 27th of June I'll finish all my endyear exams and immidietly start coding. <<BR>>

Title

Apache Administrative Workflow
This proposal is written for the Google's Summer Of Code2005.

About Me

name: Peter Tagunov
contact: Peter.Tagunov@gmail.com
age: 19
education: student of the Moscow State University ( Faculty of Computational Mathematics and Cybernetics ), Russia
expirience: I worked with Perl, PHP, MySQL. My basic programming skills are quite good ( I've created several big projects on C++ with OpenGL and I studied "Algorithmic Languages", "The Architecture of a Computer and Assembler Language", "Operating Systems" and "Computer Graphics" courses in the university ).
I also have a basic understanding of open-source developing principles and the logics of the xml..

The Problem

Creating accounts for new ASF committers currently is multi-stage manual process. The goal of this project is to automate this burdensome and error-prone process as much as possible.

Structure Of The System

I propose to implement ASF Workflow management system as a web application consisting of the following screens.

Implementation Details

I propose to implement the system as s series of Perl CGI scripts running over https on Apache 2. We can use built-in Apache sertificate authentication together with custom-made cookie-based password authentication. To generate PDF we can generate xsl:fo file directly by Perl script and then run it through FOP. I intend to store account requests information in a plain-text file, one request by line. Since the amount of data to be stored is relatively small ( request id, name, e-mail, login ) plain-text format should be enough. Each time a to-be committer fills out the Get CLA form the values entered are stored in file named request_id.txt in "one key=value per line" plain text format, for instance

name=Peter Tagunov
address=Foo Bar, Moscow, Russia
login=ptagunov
CLA_received_by=Some Board_Member
CLA_received_on=01.04.05
CLA_filed_by=Some_Secretary
CLA_filed_on=02.04.05

It is the responsibility of the board member and secretary receiving the signed CLA to verify that name/address/etc on paper match those he/she sees on Account Browsing and to correct those in Account Data Management. (A discrepancy can arise if the to-be committer fills out the Get CLA for multiple times and the singed CLA he sends is not the latest one that was sent to him. )

It is techically feasible to directly control SVN access previlleges form the SCM Access Management. I'm going to consider implementing such access control after all other higher-priority features are compleate.

SVN and CVS repository names can be collected directly from the file system.

ASF workflow system should have access to a list of preexsisting ASF accounts to enforce login name uniqueness. ( to-be committer choses his login name the time he fills Get CLA )

If desired the application will include a monthly cron job reporting account request pending longer then a week to infrastructure maling list.

Deliverables

.tar.gz file with a collection of Perl scripts, static HTML pages, CSS files and images.

Software

Apache
Open SSL
FOP
Perl

Shedule and Milestones

On the 27th of June I'll finish all my endyear exams and immidietly start coding.

  • July 7th working prototype without barcode, PDF generation and with sertificate-only authorization

  • July 14th PDF generation

  • July 21st barcode generation

  • August 1st compleate solution. Testing..

  • SVN repository managment

The Task

by Dirk-Willem van Gulik

{{{ Procedure 1 - CLA

-> A so called PMC chair can go to a website using a certificate/password and

  • - search username or name
    • if found goto A:
    if not found the PMC chair enters the users email address + a short message. A tracking number is made.

-> email is send inviting the user to go to a URL, copy goes to PMC.

-> On a certain web site the user fills out some details for the CLA. name, address, etc.

-> As a result of this he gets emailed a PDF with in it a form which has the above data already entered and contains a barcode and a tracking number.

-> user ssigns this form with a pen.

-> user faxes this pdf to an ASF (board) member, gives it to a board member or goes by snail mail.

-> board member checks fax, logs on to the site, with a certificate/password, enters the number of the FAQ, the date he recevied it. This is tracked.

-> the PMC chair gets a message that we have the paperwork for the user.

  • goto A

-> the infrastructure PMC gets a message that the account can be added

-> the board member mails by snail mail the message to the secretary.

-> secretary marks when received + filed (date etc). This is tracked as well.

A:

-> PCM chair now goes to the website; enters the username and selects which SVN repository the user should get access to. In a field called 'evidence' he cuts and paste the URL's or messageID of the relevant votes from the mailing list.

-> The PMC gets a message that the user is going to be added as having XS to these lists.

-> the infrastructure PMC gets a message that the account can be activated for such and such svn repository.

And along with this we want an interface that does

-> where is a request; was it filed, received, what date.

so we can always find out what happened.

Ideally the above should be generic enough to also cope with 2 similar forms; that of the CCLA and the software grant. }}}

PeterTagunovAsfWorkflowProposal (last edited 2009-09-20 23:36:33 by localhost)