Changeset - 2a2aab1fcfaf
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 8 years ago 2016-08-30 18:26:24
bkuhn@ebb.org
They aren't possible, but maybe are necessary.

I agree that all the items listed in here aren't possible given the time
allotted for development, and I haven't tried to integrate any of them
into the main feature set to avoid feature creep. However, some of them
are going to be necessary, and early users may need to realize that some
out-of-band workarounds will be necessary in the first version, because
the features listed here were, well, necessary. :)
1 file changed with 3 insertions and 3 deletions:
0 comments (0 inline, 0 general)
Reimbursements/Requirements.mdwn
Show inline comments
...
 
@@ -125,51 +125,51 @@ built.
 
  integration would provide a familiar interface to users, and simplify
 
  system administration for the organization.  It may be possible to build
 
  the system as a CiviCRM extension.  If so, we would get this feature for
 
  "free."
 
  
 
* Usable without JavaScript: For consistent mission advocacy, it's important
 
  that some organizations not require requestor to use JavaScript.  (e.g., Tor
 
  browsers typically have JavaScript disabled because it can undermine Tor's
 
  anonymity guarantees.)  It should be possible to submit payment
 
  requests without JavaScript.  The interface can be enhanced when JavaScript
 
  is available.
 
  
 
  Whether or not we do this in the first release probably depends on what
 
  framework we decide to build on.  If the framework itself requires
 
  JavaScript out of the box, it may make sense to have the first release go
 
  with the flow, then work to add JavaScript-free functionality in a later
 
  release.
 
  
 
  In any case, Javascript used will respect software freedom of users and, *if
 
  possible*, will adhere to LibreJS protocols.
 

	
 
## Requirements for later releases
 

	
 
These are features that we would ultimately like the system to have, but we
 
know aren't necessary for the first version.  It's good to keep them in mind
 
when architecting, but also to know that they've been considered and aren't
 
immediately necessary.
 
know aren't possible for the first version given time allotted for its
 
development.  It's good to keep them in mind when architecting, but also to
 
know that they've been considered and aren't immediately possible.
 

	
 
* Allow optional questions: With this, question conditions probably need to
 
be extended to address the case of "other question isn't answered"
 

	
 
* Additional exporters:
 
  * Export to SQLedger
 
  * [Certainly many more, feel free to add them here]
 

	
 
* Richer lifecycle management: A leader may need to approve a request before
 
  it's added to the books, like an employee's manager or a program director
 

	
 
* Various currency improvements:
 
   * Automatic currency conversion for validation (e.g., validate that an amount
 
     in an aribtrary currency is within a limit in USD)
 

	
 
   * Validate currency amounts from outside data sources: The main case for
 
     this is per diem, where many organizations use rates that are determined
 
     by another party (e.g., US GSA) and updated periodically.
 

	
 
   * Handle totaling the request based on currency (e.g., expenses can are in
 
     USD, EUR, CHR but the traveler may want payment in INR.)  Unclear what
 
     interface for this would look like, but real-time data about past
 
     currency rates might be available via an API somewhere, and we can use
 
     that to have the requestor give us "preferred currency for payment" so
0 comments (0 inline, 0 general)