From b4b007cca5a8d01c784949847339540fdf84be81 Mon Sep 17 00:00:00 2001 From: Harrison Renny Date: Fri, 18 Mar 2016 15:12:04 -0400 Subject: Updates and changes based on Dr. Green's feedback. --- report/chapters/5-con-f.tex | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'report/chapters/5-con-f.tex') diff --git a/report/chapters/5-con-f.tex b/report/chapters/5-con-f.tex index 0273c5e..f6193ec 100644 --- a/report/chapters/5-con-f.tex +++ b/report/chapters/5-con-f.tex @@ -9,15 +9,15 @@ combox is at a stage where it can be used as a tool to use the storage provided by two file storage providers -- Google Drive and Dropbox -- such that only part of each file in the encrypted form is stored on -the data store of the file storage providers; this method of storing -files on file storage providers makes it difficult but not impossible +the data store of the file storage providers. This method of storing +files on file storage providers makes it difficult, but not impossible, for file storage providers or ``third parties'' to gain access to the user's personal files. combox is at version 0.2.3, it is a python package licensed under the GNU General Public License version 3 or later. It is compatible with GNU/Linux and OS X. The program is considered to be in ``alpha'' stage -and must be used for experimental use only, it is not recommended to +and must be used for experimental use only. It is not recommended to store critical files on storage provided by file storage providers using combox. Individuals who wish to try combox would want to look at \url{https://ricketyspace.net/combox/setup/} to get the program @@ -29,7 +29,7 @@ repository is also mirrored at \url{https://bitbucket.org/bgsucodeloverslab/combox/src} and \url{http://rsiddharth.ninth.su/git/cb.git/}. -There are a lot of things that can be done to improve combox, what +There are a lot of things that can be done to improve combox, and what follows is a non-exhaustive list of things to do in the future: \begin{itemize} @@ -37,25 +37,29 @@ follows is a non-exhaustive list of things to do in the future: directory. At the moment, combox reads the amount of free space available on each node directory (file storage provider's directory) when configuring combox on a computer but does not use this - information to reckon the space left in each node directory. + information to reckon the space left in each node directory. The major issue here is how to determine what space is available without interacting with a service provider's API or asking the end user. + + \item Re-think \verb+combox.events+ module. This module was written with the assumption that combox will be the only one to make changes to the node directories. This assumption was found to be not true when manually testing combox with node clients (Google Drive and Dropbox client that sync files to/from the respective node - directories to/from their respective data stores); both the Google + directories to/from their respective data stores). Both the Google Drive and the Dropbox client make modifications to the Google Drive and Dropbox directory respectively whenever pulling a modified shard from their data store to the user's computer, this behavior broke combox and major changes were made to the \verb+combox.events+ module to make it understand the node client's behavior in the node - directory; these changes, increased the complexity of the classes - defined in the \verb+combox.events+; it would be great to re-think + directory. These changes increased the complexity of the classes + defined in the \verb+combox.events+. Tt would be great to re-think this module in such a way that it reduces its complexity. + \item Evaluate if more information needs to tracked about each file in - the combox directory; at the moment, combox only keeps track of the + the combox directory. At the moment, combox only keeps track of the SHA-256 hash of each file stored in the combox directory. -\item Support more file storage providers; for this, ideally no code + +\item Support more file storage providers. For this, ideally no code needs to be written for supporting a new file storage provider, combox must be tested with the new file storage provider's directory as a node directory. If the new file storage provider's client (that @@ -64,24 +68,27 @@ follows is a non-exhaustive list of things to do in the future: then the \verb+combox.events.NodeDirMonitor+ must be accordingly updated to make combox cognizant about the file storage provider client's non-standard behavior. + \item Make unit tests more modular. At the moment, there are some unit test functions that test more than one usecase/facet of a function - or class; for instance, the \verb+test_CDM+ test method, part of the + or class. For instance, the \verb+test_CDM+ test method, part of the the \verb+tests.events_test.TestEvents+ test class tests the correctness of the \verb+combox.events.ComboxDirMonitor+ for file creation, deletion, rename and modification; this method would ideally broken down into four tests methods. + \item Make combox Python 3 compatible. The \verb+2to3+ program (which is part of the standard Python library since Python version 2.6) and the \verb+six+ library can be used to achieve this. See Appendix \ref{a-python3c} for more information on this. + \item Support Microsoft Windows. The way to make combox compatible - with Windows will be to run unit tests on Windows, the failing tests + with Windows will be to run unit tests on Windows. The failing tests might give pointers to what parts of combox needs to be changed/updated in order for it to be compatible with Windows. Individuals interested in making combox compatible with Windows might find - \url{https://ricketyspace.net/combox/setup/#windows} useful; it + \url{https://ricketyspace.net/combox/setup/#windows} useful. It contains information about setting up the development environment for combox on Windows. \end{itemize} -- cgit v1.2.3