//export fileroot="OITSWReqDoc"; asciidoc -a toc -a numbered ${fileroot}.txt; OIT Software Distribution Store - Requirements Document ======================================================= by Anthony Vuong v1.00, May 23rd, 2011 Introduction ------------ This document specifies the Official Requirements for the *OIT Software Distribution Store* and should serve as a basis for further development. The *OIT Software Distribution Store* is a system designed to simplify and automate the current OIT process of purchasing _proprietary software_. + //I don't even think this is necessary. .Proprietary Software Alternatives NOTE: The *OIT Software Distribution Store* is designed to advertise _Proprietary Software_, which costs money. There are other software alternatives that do *NOT* cost additional money. Some of these software are propriety, but freely available to public. Some are open-source, that is completely free software. Current Problem --------------- Currently, the *OIT Help Desk* is manually handling software purchases through a request and input process. Typically, a customer would call the *OIT Help Desk* to specify a product to purchase along with the type of payment. The *OIT Help Desk* would then have to process the order and report the purchase to a *Departmental Bookkeeper*. This proves to be an _inefficient_ process of purchasing _proprietary software_. + .Most common type of payment NOTE: The most common type of payment the *OIT Help Desk* receives is a Account and Funds transaction. User Requirements ----------------- The current process of purchasing _proprietary software_ needs to become automated. Instead of processing orders over the phone, an _online store_ will be used. This will allow customers to freely browse and purchase various software over the web. Most of the basic and general features of a shopping cart store will be installed through an open source software package called http://www.prestashop.com[Prestashop]. These features include adding items to a shopping cart, checking out, etc. Thus, this documentation will only focus on the *unique features* of the store. + .Unique Features * Every customer must be affilliated with the _University of California, Irvine_. * Bookkeepers must be able to access _purchase/order history_. * Customers can pay with an _Account and Fund number_. * Account and Fund number must be _validated_. * Automated licensing for network licenses. * Software must be _downloadable_. System Specifications --------------------- Overall Operation ~~~~~~~~~~~~~~~~~ The *OIT Software Distribution Store* supports the following typical cycles of events. .Events . User *logs* into the store through _UCI's WebAuth Module_. . User completes a _Project Registration Form_ with a *Account and Fund number*, *Project Identifier*, and possibly *Hostgroups*. . User proceeds to add software to purchase into shopping cart. . User checks out and chooses to pay with a Account and Fund number. . User selects the *registered project* he/she wishes to pay with. Each registered project is linked with an Account and Fund number. . Bookkeeper gets an email of the purchase. . User can download software in *Order History*. All information is stored _indefinitely_ within the *OIT Software Distribution Store*. + UCI WebAuth Module ~~~~~~~~~~~~~~~~~~ User's will login through UCI's WebAuth system. This will assure that users accessing the store are affilliated with the _University of California, Irvine_. + Customer Information ~~~~~~~~~~~~~~~~~~~~ The *OIT Software Distribution Store* stores personal information of the customers. This information is obtained through the University's database. + .Customer Information * First Name * Last Name * UCINetID * Delivery Point Email * UCI Title/Position * Mailcode * Phone Contact * Store Identity(Account and Fund Holder, Regular Customer, Departmental Bookkeeper) Project Information and Project Registration Form ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The *OIT Software Distribution Store* stores project information in which the customers provide. + .Project Information * Account and Fund number * Departmental Bookkeeper to be notified * Account and Fund number holder(if the user chooses to use someone elses) * Project Identifier/Name * Hostgroups for network licenses(list of IP addresses) The following conditions must be satisfied to successfully register a project. .Conditions * Mandatory Fields ** Project Identifier ** Account and Fund number ** Departmental Bookkeeper to report to ** Account and Fund number holder * Invalid IP Address format * Invalid characters in fields * Departmental Bookkeeper must login to store at least once for the user to select him/her to report to. * If the user is using another person's Account and Fund number, they must select him/her as the holder. If the project is a group that requires a network license, a _hostgroup_ must be provided. If purchasing a standalone license, _hostgroups_ are *not* required. + Bookkeeper Documentation ~~~~~~~~~~~~~~~~~~~~~~~~ After each Account and Fund transaction, the *reported Departmental Bookkeeper* must be notified of the purchase via email. The email message will consist of a generic message attached with a PDF invoice file. A downloadable tab delimited spreadsheet text file that can be imported should be available. + .The PDF invoice file contains * Project Identifier/Name * Customer's Full Name * Customer's Address * Account and Fund number * Reported Departmental Bookkeeper * Account and Fund number Holder * Product Description * Product Price * Product Quantity * Subtotal * Payment Method .The spreadsheet contains * Customer's First Name * Customer's Last Name * Account and Fund number Holder * Reported Departmental Bookkeeper * Reported Departmental Bookkeeper Email * Customer's UCINetID * Date and Time * Project Identifier/Name * Account and Fund number Holder * Hostgroup * Product Description * Product Quantity * Product Price * Subtotal