From b5244fe66e0ca2f3077798b5534fac580e69d2c9 Mon Sep 17 00:00:00 2001 From: canyonknight Date: Wed, 23 May 2012 13:18:32 -0400 Subject: Update web interface README * Remove outdated information * Give a brief synopsis of what the web visible PHP files do Signed-off-by: canyonknight Signed-off-by: Lukas Fleischer --- web/README | 169 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 94 insertions(+), 75 deletions(-) diff --git a/web/README b/web/README index f65abb1..96aade5 100644 --- a/web/README +++ b/web/README @@ -1,85 +1,104 @@ -Web Interface: ============== - -Directory Layout: ------------------ -./html - DocumentRoot for AUR, where the PHP scripts live. -./html/css - CSS stylesheets -./html/images - Any AUR images live here. -./lib - Supporting PHP include files. Access denied to Apache. -./template - Where most of the html markup resides and minimal - amount of PHP scripting. - - There is also a template to model the site's top pages - in template.phps - - -Scripts: --------- -- lib/aur.inc - This is where we can stick functions that can be shared - between the various scripts. Also a good place to put the - MySQL authentication variables since it should live outside - the DocumentRoot. - -- html/login.php (probably index.php) - PHP script to handle logging users into the AUR web site. It - authenticates using the email address and a password against - the Users table. Once authenticated, a session id is generated - and stored in the Sessions table and sent as a cookie to the - user's browser. - -- html/logout.php - PHP script to logout. It clears the session id from the - Sessions table and unsets the cookie. - -- html/account.php - PHP script to handle registering for a new account. It prompts - the visitor for account information: Email, password, real name, - irc nick. The info is recorded in the Users table. Perhaps later, - we can add a preferences field that allows the user to request to - be notified when new packages are submitted so that they can cast - votes for them? - - If a TU is logged into the system, they can edit accounts and set - the account type (regular user or TU). If a Dev is logged in, they - can also set the account type to Dev. TUs and Devs are able to - delete accounts. If an account is deleted, all "Unsupported" - packages are orphaned (the MaintainerUID field in the Packages - table is set to NULL). - -- html/packages.php - PHP script to search the package database. It should support - searching by name, category, maintainer, popularity, etc. It - should resemble the packages.php script on archlinux.org. A - checkbox should be included next to each package to allow - users to flag a package out of date, adopt it, and vote for - it (and reverse operations). - -- html/pkgsubmit.php - This is the PHP script that allows users to upload a new package. - The package format will be a tgz containing the PKGBUILD, - scriptlets, and patches necessary to build the package from - source. Initially, the user submitting the package can select - its category (network, devel, etc) but that can be modified - later by the adopting TU. The script makes appropriate entries - into the database (and perhaps notifies interested users of the - new package). - +AUR Web Interface +============== Terms and Definitions: -====================== -AUR - Arch Linux User-Community Repository - Includes: - - the AUR web site, - - the [unsupported] 'repository' - - the [community] repository managed by the TUs +================ +AUR - Arch User Repository + Repository made up of a collection of build scripts that are + created and submitted by the Arch community. TU - Trusted User A user that can add binary packages to the [community] repository and administer AUR. [unsupported] - The collection of package build files hosted via the AUR web - site. + The collection of package build files hosted via the AUR website. + +File Hierachy +========= + +Directory Layout: +------------------- +./html - DocumentRoot for AUR, where the PHP scripts live. +./html/css - CSS for AUR appearance +./html/css/navbar - CSS for Arch navigation bar appearance +./html/images - Any AUR images live here. +./lib - Supporting PHP include files. Access denied to Apache. +./locale +./template - Where most of the html markup resides and minimal + amount of PHP scripting. +./template/stats + +./html Files: +------------- +account.php - + PHP script to handle registering for a new account. It prompts + the visitor for account information: desired username, E-mail, + password, real name, IRC nick, and default language. The info is + recorded in the Users table. + + A logged-in user can change any of their own account information. If a + TU or Developer is logged into the system, they can search for and + edit accounts. A TU can change an account to a TU or User account. A + Developer can also change an account to the Developer type. TUs and + Developers are able to suspend accounts. If an account is suspended, + all packages are orphaned (the MaintainerUID field in the Packages + table is set to NULL). + +addvote.php - + A form to submit proposals relating to the AUR. Only accessible to TUs + and Developers. Can be used to vote on a potential new TU, or any + other proposal that needs a vote. Length of the vote can be specified. + +index.php - + Main page for the AUR. Provides links to all other pages in the AUR. + Gives a brief synopsis of what the AUR is and where to go for more + information. + +logout.php - + Logs out a logged-in user. Clears the session id from the Sessions + table and unsets the cookie. + +packages.php - + Page used to search the package database. Supports searching by name, + category, maintainer, popularity, etc. Also provides the ability to go + to a package page which has specific information for that package. + A specific package page includes the name, description, votes, etc. + As well as the ability to perform actions on the packages, such as + flagging or leaving a comment on the package. + +passreset.php - + A page for a user to enter their e-mail and receive a reset e-mail to + replace the forgotten password. + +pkgsubmit.php - + Page for users to upload a new package. Only allows upload of a + tarball that has been compressed with gzip. Tarball must contain the + PKGBUILD, scriptlets, and any other files necessary to build the + package from source. The user can select a category for the package. + The page makes appropriate entries into the database for tracking the + newly added source package and associated information. + +rpc.php - + A frontend for tools to obtain raw information from the AUR. Features + the ability to search for a package, return information on a package, + return information on multiple packages, and search for a specific + package maintainer. Functionality through HTTP GET. + +rss.php - + Generates RDF Site Summary (RSS) feed with the latest packages updated + in the AUR. Lists most recent 20 packages. Includes package name, link + to package page, package description, time of update, source listing, + maintainer name. + +tu.php - + Page only available to TUs and Developers. Shows ongoing votes for + proposals and past votes for proposals. Current votes can be voted on + with a "Yes" vote, "No" vote, or an "Abstain" vote. Developers and TUs + can only vote once. Cannot vote on a proposal about themselves. +voters.php - + Page only available to TUs and Developers. Shows list of users that + voted for a specific package. Each username links to the user's + account information page. -- cgit v1.2.3-54-g00ecf