//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.nac.uci.edu/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/ZotShop_Users_Guide.html[User Guide]) and selecting products the user can pay for his/her choices with this 'Account/Fund' number instead of the usual Credit Card (CC). Delivery of the software 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' registration to complete purchase via this mechanism. If one is not available, the user cannot complete the purchase. A single user can have multiple 'Account/Fund' combinations, similar to having multiple CC numbers. This payment mechanism assumes a responsible relationship between the Grant Holder and staff or advisee regarding use of the grant monies. To assure this, the Grant Holder, the associated Departmental Bookkeeper, the purchaser, as well as OIT are emailed at the end of each transaction. PAL Card(Pending) ^^^^^^^^^^^^^^^^^ PAL cards are effectively CCs and can be implemented fairly easily as this is a default payment module of the PrestaShop software. Purchase Alias ~~~~~~~~~~~~~~ This is simply a user-defined name for his/her 'Account/Fund' registration. Upon checking out of the store, a list of 'Purchase Aliases' will be displayed where the user selects one to complete the purchase. Network License Purchases ~~~~~~~~~~~~~~~~~~~~~~~~~ This mechanism also supports the purchases of network licenses where the user must define a unique 'Project Name' and provide the 'IP Addresses' of their hosts. Project Name ^^^^^^^^^^^^ This is simply a unique name for the project, which is used as an index and as a identifier for that software that requires a network license to run. 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, he/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 by simply logging into the store once. 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 they are affilliated with in the ZotShop. The spreadsheet generator page is http://moo.nac.uci.edu/cgi-bin/prestaform/autolist.py?option=spreadsheet[here]. After purchasing with an 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]