Phil 12.16.14

7:30 – 4:00 SR

  • DB backups
  • More mysterious paperwork. Ronda and Angine have been pinged, and I told them how our truststore was set up.
  • Cool thing for the morning: https://github.com/Automattic/atd-jquery
  • Angular
    • Add mouse tracking for more intuitive interaction. This looks like a good place that covers events
    • The mousewheel require more work, and an additional library. Monospaced labs has their hamster.js library and an angular directive that uses it. After remembering to include the name in my module’s dependencies, everything worked fine.
    • Figure out tooltips. As usual, stack overflow to the rescue. Now I need to build a lightweight directive that I can wrap in the <a href> element. Bonus points for seeing how to use the ui-jq directive that allows access to the (at least) jquery in the angular distro.
    • Set content in the divs and see if they can be brought to the front of the display. Tomorrow.

Progress for today.

  • Checked out the interaction on my touchscreen laptop and found that though the sliders are touch enabled, the mouse move events are not. It looks like I need to add ngTouch to the module. This would be easier if the laptop that I requested back in August would ever show up, but I kinda doubt if Novetta ever actually ordered it, even though they’ve been saying “it’ll be here in two weeks” for the last 5 months. Sigh.
  • Drag events work in FF but not Chrome. pinch-to-zoom needs to be trapped and used to handle the Z-axis.

Phil 12.12.2014

8:00 – 5:00 SR

  • DB Backups.
  • Got into a very weird discussion where it became apparent that some people value principals (ideologies) explicitly above facts.
  • Angular
    • Working on making the stage a directive. I’m having problems getting the ‘bound’ data converted to a style. The size is set as the json object, but changes to it don’t seem to be doing anything.
    • Everything worked when I bound the item to a string and not a json object. My guess is that the json object has to get created every time for binding to work. The pointer needs to change.

Phil 12.11.14

8:00 – 2:30 SR

  • DB backups
  • Got an annotated set of screenshots for the FMP problem. Left on Dong’s desk.
  • Meeting with Agenia. Progress? There is confusion about what our landlord actually is.
  • Scatterplots
    • Got 3D transforms working. It’s important to have the root (origin) div have the perspective property set, and then the child (stage) div have the transform-style: preserve-3d set. As before, this intro to CSS 3D is most helpful.
    • The points for the pointcloud need to fit inside the dimensions (width/height) defined in the CSS for the rotations to work correctly

Dong Shin 12.11.2014

  • working on Query Builder (AngularJS)
    • added export to CSV, PDF to query result grid
    • created a user specific to project_portfolio_enh database – fa_user, create_user.sql
      • SELECT, INSERT, UPDATE, DELETE previleges
    • queries.sql – table to store queries
    • load query – done
    • run query – done
    • save – done
  • working on User Management
    • current user info page
    • change password

Phil 12.10.2014

8:00 – 10:00, 12:00 – 5:30SR

  • DB backups
  • Meeting with Agenia – nope, tomorrow.
  • Going to try to start the cluster chart in Angular/CSS today
    • Dynamically modifying the css with ng-style
    • 3D rendering in ng-repeat seems to require the parent and child divs to have position:absolute.
    • Setting up an origin with perspective, a stage with global changes and the individual items positioned on the stage. The origin has no transforms, the stage gets viewer transforms and the items get their own. Got to the point where I’m positioning the items in 3D space and moving the stage on the X-axis.

Phil 12.9.2014

8:00 – 6:00 SR

  • DB backups
  • Set up the new script to dynamically produce chart data – now I need to fix the charts
  • Angular
    • AngularJS Custom Directives Animations with Transclusion. Note that this cannot be an element. See StackOverflow for more background
    • Starting to try things outside of the book. One problem seems to be allowing time for the animation to clear, so everything goes where it’s supposed to. I had to add a delay in the controller between the list clean and the replacing of the data in a query to get rid of dumb loading artifacts. Animation delay didn’t work, and I’m not really sure what the right way to go is.
    • Had a long talk with Dong about how to organize code.

Dong Shin 12.08.2014

  • working on FiancialAssistant (AngularJS) to talk to FinancialAssistantService (Java)
    • set up ui-router to move between states
    • login is default state
    • set up FinancialAssistant to deploy Tomcat’s wtpwebapps directory (Java project run/debug location)
    • login working!

Phil 12.8.14

8:00 – 3:00 SR

  • DB backups
  • Realized that our old servers were probably still associated with the CP registry. Looked for a way to change that but couldn’t find one. Talked to Ronda, she’s looking into it.
  • Got another OMFG the server’s going to be turned off by the end of the year if we don’t do anything ASAP! Fortunately, I was able to point Agena at that. Whee!
  • Had a discussion with Dong about structuring projects. For the time being, we will continue doing the following:
    • Eclipse is for Java projects. They are assembled within the IDE (no maven!) so that we have nice jar packaging. Test deployment using Eclipse’s Tomcat server.
    • Client software runs in Webstorm/IntelleJ and deploys to the test tomcat directory, generally in wtwebapps
    • MySQL is developed using PHPMyAdmin and MySqlWorkbench
    • That being said, my dream of full cloud development appears to be near: koding.com
  • Angular.
    • Leaning how to use the animation function definition. Mentioned in the text, Greensock has some interesting stuff.
    • Javascript transition animation for ng-class DON’T FORGET – the name of the animation function uses css class naming convention of preceding the name with a period. E.g. angular.module(‘aniModule’. [‘ngAnimate’]).animation(‘.rememberThePeriod‘, [function (){}]);

Dong Shin 12.05.2014

  • Web Development Using Spring and AngularJS Tutorials – very long and helpful!
    • Spring, Hibernate, Spring Security
    • grunt (watch), ng-boilerplate, ui-router(state changes), ngroute, ng-resource, build
    • getting the master example/tutorial to work – maven project!
      1. dependencies
        • <dependency>
          <groupId>org.springframework.security</groupId>
          <artifactId>spring-security-web</artifactId>
          <version>3.2.5.RELEASE</version>
          </dependency>
          <dependency>
          <groupId>org.springframework.security</groupId>
          <artifactId>spring-security-config</artifactId>
          <version>3.2.5.RELEASE</version>
          </dependency>
          <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.7.4</version>
          </dependency>
        •  Screenshot 2014-12-05 18.40.47
      2. add component scan to business-config.xml – tutorial.core.security
      3. create tutorial.core.security.SecurityWebAppInitializer class
      4. create tutorial.core.security.SecurityConfig class
        • @Configuration, @EnableWebSecurity
        • configAuthBuilder() – where the authentication happens!
      5. create tutorial.core.security.AuthFailure class to return response.setStatus(HttpServletResponse.SC_UNAUTHORIZED)
      6. create tutorial.core.security.AuthSucess to return response.setStatus(HttpServletResponse.SC_OK)
      7. add AuthFailure and AuthSuccess to SecurityConfig (@Autowired)
      8. add configure() method to SecurityConfig – configuation
        • add AuthFailure and AuthSuccess
        • JSESSIONID will be added to client – expires after 30min
      9. tutorial.core.security.EntryPointUnauthorizedHandler class
        1. add commence method
      10. add EntryPointUnauthorizedHandler to SecurityConfig
      11. add AccountUserDetails and UserDetailServiceImpl classes and add to configAuthBuilder() method in SecurityConfig
      12. modify sessionService, LoginCtrl in account.js
      13. use SecurityContextHolder (AccountController class) to get current user details for further processing
        1. throw Forbidden exception
      14. whitelist access –
        • security:protect-pointcut in mvc-dispacher-servlet.xml
        • @PreAuthorize(“permitAll”)