I am still working on the connections window; I worked on loading Drupal nodes for connected to a specific diagram element. I changed the design a little bit to show a list of text boxes for the already connected nodes with one empty text box to add a connection to a new node. I worked also on the CSS. I am planning to finish most features of this window on Saturday and Sunday.
Today's step on the path to Kalman filtering my data took me through a tutorial on multivariate gaussians, including variance vs covariance, and why multivariate Kalman filters are better than multiple univariate kalmans, since you get to take advantage of correlation.
I re-wrote the open url function as try/except conditions instead of if/else. I researched and used python's standard error library for the error messaging. I also scrubbed the entire WebLogo directory for references to code.google.com, which will become read-only on August 25th. I'm glad the github export was completed by mid-term. However while scrubbing the code, I ran into the developer's guide which outlines how to build new releases with Subversion. The current procedure outlined in the guide would not work with Github's fork/pull or build releases section. It will need to be re-written. AWS has a 12-month trial service, so I tried to deploy WebLogo on AWS servers as a test environment. I tried to follow the Amazon Web Services guides to and failed. The error I'm getting is "Your WSGIPath refers to a file that does not exist." I think this may be due to trying to WebLogo being a .cgi application. I tried adjusting the environment and rebuilding server, but i'm getting a 404 error. I'm researching how to do unit testing and writing a test procedure for the open url function for the WebLogo's test suite.
I did not code a lot today, I was redesigning the connections window. I missed thinking of some cases before especially when displaying Drupal nodes. It is related to how to highlight, connect and delete connections between Drupal nodes and diagram elements. I also tried to fix the CSS of the full screen feature; now I think I know the reason for that and I will try to find a fix.
I'm now investigating multivariate Kalman filters. I don't know if I'll be able to get it tuned correctly, but as I summarized in yesterday's blog post, I haven't been able to find a way to apply particle filters to my particular situation. I feel like Kalman filters are a much better fit for this project, even though they have their own problems.
This morning I worked more on user documentation. I spent some time thinking about a logical document structure, although I think the structure will only become clearer after I've written most of it. I also spent time updating the README and how-to/about pages for the PII functions. Here is the documentation so far:
This afternoon I need to update the presentation for the conference on Monday. I'm off to Bali tonight (where the conference is) it will great to get away and unwind for the weekend.
TextMessageFilterimplementation. It works similar to authenticators, in that it is a stream-stream RPC method and the user returns a status code (Accept, Reject, Drop).
I have had open file from url function working under test conditions. The function accesses the url link, validates if it's a file from the internet & raises an exception if it's not. It downloads the file locally, and weblogo can open it from there. I added a file checking procedure to the the open URL function. I researched all the file extensions of formats that WebLogo accepts such as PIR, NEXUS, PHYLIP etc in addition to .txt files. It parses the path of the locally saved file to isolate the file extension and compares the file extension to the acceptable file types, and raises an exception if it the file type isn't valid. I'm reviewing the aws tutorials on how to launch web apps, and will change the dropbox chooser to a download URL checkbox, and the sequence box will accept a URL string instead of sequence data.
I collected a couple more application samples containing PII entries and tested these with the new reporting code. Two minor bugs were found and fixed and I also improved the efficiency of the code. After experimenting I discovered for Python string comparisons "smaller-string in larger-string" is much faster than "larger-string.startswith(smaller-string") ... who knew!
After a few hours testing I felt confident-enough in the code and merged it into the "dev" branch.
For the remainder of the afternoon I started on user documentation.
I am working on the connections window. I had a bug that did not allow me to retrieve SVGs using ajax. I was finally able to do that. The connection window will have two sides that may contain two diagrams or a diagram and content (nodes) browser. The user will be able to connect diagram elements in two diagrams or connect diagram elements to Drupal nodes.