//export fileroot="OITOfficialDocument"; asciidoc -a toc -a numbered ${fileroot}.txt; OIT Software Distribution Store - General Documentation ======================================================= by Anthony Vuong v1.01, May 25, 2011 // dir="/home/hjm/nacs/shopcart/vuong_docs"; fileroot="${dir}/ZotShop_General_Document"; asciidoc -a toc -a numbered ${fileroot}.txt; scp ${fileroot}.html ${fileroot}.txt moo:~/public_html/OITSWDistribution/; *hjm edits* Introduction ------------ We have developed an online http://moo/presta12/[OIT Software Distribution Store], similar to Amazon or Newegg, to automate purchasing proprietary software with an 'Account and Fund' number. Below, we'll refer to it as the *ZotCart*. To speed development, we used an Open Source e-Commerce package called http://www.prestashop.com/[Prestashop], which provided most of the basic features of an online store. The rationale for selecting Prestashop is discussed in more detail http://moo.nac.uci.edu/~hjm/shopcart/OSS_Shop_Cart_for_SW_Dist_Eval.html[here]. How It Works ------------ For this effort, the academic environment differs from a purely commercial one mostly in the payment method. Researchers are awarded merit-based grants and those grants are monetized within the univerity via 'Account/Fund' numbers which point back to the grant. To support payment via 'Account/Fund', we had to develop a new payment mechanism that supports this according to UCI administrative norms. After registering and supplying the 'Account/Fund' info (see http://moo.nac.uci.edu/~hjm/OITSWDistribution/OITSWUserGuide.html[User Guide]) and selecting products the user can pay for her choices with this 'Account/Fund' number instead of the usual Credit Card (CC). Delivery of the softwre is entirely electronic, so no physical transfer of goods is necessary. Payment Methods ~~~~~~~~~~~~~~~ The Zotcart can currently accept 2 payment methods and 1 more is pending. Check ^^^^^ Checks are accepted like most other online stores - the order is held until the check is delivered and clears. It's up to the user to make sure the check is delivered to the correct address. Account and Fund Number ^^^^^^^^^^^^^^^^^^^^^^^ The user will need to establish an 'Account/Fund' to complete purchase via this mechanism. If one is not available, it can be entered at checkout time, much like you would provide CC information. A single user can have multiple 'Account/Fund' combinations, similar to multiple CC numbers. This payment mechanism assumes a responsible relationship between Grant Holder and staff or advisee regarding use of the grant monies. To assure this, the Grant Holder, her Departmental Bookkeeper, the purchaser, as well as OIT are emailed at the end of the transaction. PAL Card ^^^^^^^^ PAL cards are effectively CCs and can be implemented fairly easily as this is a default payment module of the PrestaShop software. Purchase Name ~~~~~~~~~~~~~ This is simply a unique name for the purchase, which is used as an index and as a identifier for that software that requires a network license to run. for the project. For example, if a graduate student needed to buy 'MATLAB' for the Pyrosequencing group of PCs for the Snape lab, she might name it *SnapeMatlabPyro2011*. Optional Hostgroups ~~~~~~~~~~~~~~~~~~~ If the user is buying networked licenses for a group of PCs, she must provide their *IP Addresses*. After a successful purchase, the store can automatically send the IP Addresses to the 'Network License Server'. Departmental Bookkeeper ~~~~~~~~~~~~~~~~~~~~~~~ In order to maintain reporting consistency, the 'Departmental Bookkeeper must be notified of purchases against a particular grant. Therefore before any members of a Department can buy this software, the Bookkeeper must pre-register using the Bookkeeper-specific registration. Once the user has associated an 'Account/Fund' with a 'Purchase Name', they can select that 'Purchase Name' to pay for their purchase. An example of how this is done is provided in our http://moo.nac.uci.edu/~hjm/OITSWDistribution/OITSWUserGuide.html[User Guide]. Current Features ---------------- Aside from the usual online store features (searching for products, reviewing purhases, adding to a cart, checking out, etc), the following unique features have been implemented: WebAuth Login ~~~~~~~~~~~~~ Users will login with their *UCINetID*. The user does not have to provide any personal information since user information is obtained through the campus http://en.wikipedia.org/wiki/LDAP[LDAP] server and only public information is retrieved. Account and Fund Number Payment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Users will be able to purchase proprietary software with a 'Account/Fund' numbers that are associated with a grant. Bookkeeper Tools ---------------- Departmental Bookkeepers can download a spreadsheet-friendly 'delimited text file' which contains every 'Account/Fund' transaction in the ZotShop. The spreadsheet generator page is http://moo.nac.uci.edu/cgi-bin/prestaform/autolist.py?option=spreadsheet[here]. *This has to be masked so that ONLY Bookkeepers can get this info and only for their departments. We don't want just anyone to get at all UCI Account/Fund info!* After purchasing with a Account and Fund number, the reported Departmental Bookkeeper will be sent an email with an attached PDF file, which contains an invoice for that specific order. Constraints ----------- No Account/Fund Validation ~~~~~~~~~~~~~~~~~~~~~~~~~~ Due to the lack of database access, we cannot validate 'Account/Fund' information. We are currently trusting users to input a valid Account and Fund number, which is manually resolved. *This is one of the highest priorities to resolve.* Other Documentation ------------------- - http://moo.nac.uci.edu/~hjm/OITSWDistribution/OITSWReqDoc.html[Requirements Documentation] - http://moo.nac.uci.edu/~hjm/OITSWDistribution/OITSWTechDoc.html[Technical Documentation] - http://moo.nac.uci.edu/~hjm/OITSWDistribution/OITSWUserGuide.html[User Guide]