- 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
- http://localhost:8080/FinancialAssistantService/query/add
- {
“name”: “all projects3”,
“query”: “SELECT * FROM projects”
}
- 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.
Dong Shin 12.09.2014
- deployed the new python script to generate the chart data
- working on FinancialAssitant (AngularJS)
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!
- 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> -

- <dependency>
- add component scan to business-config.xml – tutorial.core.security
- create tutorial.core.security.SecurityWebAppInitializer class
- create tutorial.core.security.SecurityConfig class
- @Configuration, @EnableWebSecurity
- configAuthBuilder() – where the authentication happens!
- create tutorial.core.security.AuthFailure class to return response.setStatus(HttpServletResponse.SC_UNAUTHORIZED)
- create tutorial.core.security.AuthSucess to return response.setStatus(HttpServletResponse.SC_OK)
- add AuthFailure and AuthSuccess to SecurityConfig (@Autowired)
- add configure() method to SecurityConfig – configuation
- add AuthFailure and AuthSuccess
- JSESSIONID will be added to client – expires after 30min
- tutorial.core.security.EntryPointUnauthorizedHandler class
- add commence method
- add EntryPointUnauthorizedHandler to SecurityConfig
- add AccountUserDetails and UserDetailServiceImpl classes and add to configAuthBuilder() method in SecurityConfig
- modify sessionService, LoginCtrl in account.js
- use SecurityContextHolder (AccountController class) to get current user details for further processing
- throw Forbidden exception
- whitelist access –
- security:protect-pointcut in mvc-dispacher-servlet.xml
- @PreAuthorize(“permitAll”)
- dependencies
Phil 12.5.14
8:00 – 4:00 SR
- DB Backups
- Printed out python script for the FY chart export to Visibility.
- Angular
- Playing around with Plunker as a place to archive my hard-won lessons
Dong Shin 12.04.2014
- working on generate_monthly_status stored procedure
- stopped above, working on python script to generate the data
- generate_monthly_status_data.py
Phil 12.4.14
8:00 – 6:00 SR
- DB Backups
- For irev: http://rhrealitycheck.org/article/2014/08/12/twitterfail-twitters-refusal-handle-online-stalkers-abusers-haters/
- Tentatively building an Angular QueryBuilder app for direct cite/reimbursable. Anyone with a RA account would have access.
- Angular
- First important lesson for the day: Use ng-if rather than ng-show/ng-hide. The former attaches and removes items from the DOM more in style with the other Angular directives, and ng-if behaves MUCH BETTER with animations. Treat
ng-showas deprecated.
- First important lesson for the day: Use ng-if rather than ng-show/ng-hide. The former attaches and removes items from the DOM more in style with the other Angular directives, and ng-if behaves MUCH BETTER with animations. Treat
| Directive | Supported animations |
| ngRepeat | Enter, leave, and move |
| ngView | Enter and leave |
| ngInclude | Enter and leave |
| ngSwitch | Enter and leave |
| ngIf | Enter and leave |
| ngClass | Add and remove |
| Add and remove | |
| form and ngModel | Add and remove |
| ngMessages | Add and remove |
| ngMessage | Enter and leave |
A better ng-class example (here in plunker):
The CSS classes. Note that the ‘base-class’ contains the animation timings:
.base-class {
width: 200px;
height: 50px;
text-align: center;
margin: 10px;
padding: 10px;
-webkit-transition: background-color 1s, color 1s, border-color 1s;
transition: background-color 1s, color 1s, border-color 1s;
}
.base-class.whiteBackground {
background-color: white;
color: black;
border: 3px solid black;
}
.base-class.blackBackground {
background-color: black;
color: white;
border: 3px solid white;
}
.base-class.greenBackground {
background-color: green;
color: yellow;
border: 3px solid yellow;
}
.base-class.blueBackground {
background-color: blue;
color: magenta;
border: 3px solid magenta;
}
.base-class.redBackground {
background-color: red;
color: cyan;
border: 3px solid cyan;
}
The Angular code that cycles through the classes:
<body>
<link href="ngClassSample.css" rel="stylesheet" />
<div ng-controller="MyApp as ma">
<h1>ngClass Animation</h1>
<div>
<button ng-click="ma.doToggle()">Next !</button>
<div class="base-class" ng-class="ma.getAnimationClass()">
This is the 'ugly sweater' of css animations
</div>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular-animate.min.js"></script>
<script>
var app = angular.module('myApp', ['ngAnimate']);
app.controller('MyApp', [function(){
var self = this;
var classArray = ['', 'blackBackground', 'whiteBackground', 'greenBackground', 'blueBackground', 'redBackground'];
self.toggle = 0;
self.doToggle = function(){
self.toggle++;
}
self.getAnimationClass = function(){
var index = self.toggle%classArray.length;
return classArray[index];
}
}]);
</script>
</body>
Phil 12.3.14
8:00 – 1:00, 3:00 – 7:00
- DB backups
- Status Report
- Rolled back the JavaUtils jar file to the working version (compiled on 9/4/14)
- Discussed the whole direct cite vs. reimbursable with Chris and Lenny. A scatter plot with 0% for DC, R and allocation time at one corner and 100% at the other should give them what they want. Dong’s going to work on the query to produce the data and I’m going to try to render the report in angular and 3D css.
- More angular. Learning the lifecycle of animations. It looks like if you use straight transitions, then there is a lot of state watching, but if you use keyframe abnimations, everything is much simpler. For example, the two following CSS examples give the fade in/out results:
Using Transitions
/* ngIf animation */
.animIf.ng-enter {
/* if the value is true */
-webkit-transition: opacity linear 0.1s;
-moz-transition: opacity linear 5.0s;
-ms-transition: opacity linear 5.0s;
-o-transition: opacity linear 5.0s;
transition: opacity linear 5.0s;
}
.animIf.ng-leave {
/* if the value is false */
-webkit-transition: opacity linear 5s;
-moz-transition: opacity linear 5s;
-ms-transition: opacity linear 5s;
-o-transition: opacity linear 5s;
transition: opacity linear 5s;
}
.animIf.ng-enter,
.animIf.ng-leave.ng-leave-active {
opacity: 0.0;
}
.animIf.ng-leave,
.animIf.ng-enter.ng-enter-active {
opacity: 1;
}
Using keyframes:
.listStyle.ng-enter {
-webkit-animation: 5s enterKeyframes;
-moz-animation: 5s enterKeyframes;
-ms-animation: 5s enterKeyframes;
-o-animation: 5s enterKeyframes;
animation: 5s enterKeyframes;
}
@keyframes enterKeyframes {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.listStyle.ng-leave {
-webkit-animation: 5s leaveKeyframes;
-moz-animation: 5s leaveKeyframes;
-ms-animation: 5s leaveKeyframes;
-o-animation: 5s leaveKeyframes;
animation: 5s leaveKeyframes;
}
@keyframes leaveKeyframes {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
I don’t know about you, but to me, the second seems much clearer.
Dong Shin 12.03.2014
- trouble shooting javaUtils – need to find the change dated 04/19/2014
- discussion on Direct Cite/Reimbursable – By capability, project
- added more currency fields to Query Builder
- working on Monthly Status Query
Phil 12.2.14
8:00 – 6:00 SR
- DB Backups
- C-Town
- Dec 10 meeting
- Dec 10 StAg meeting?
- Schedule walkthrough
- Angular plus css
- While working my way through said task, I discovered a bug where FF35 does not handle asymmetric scaling correctly. Try this link in your various browsers to test.
- Nice set of tutorials on 3D and CSS.
- Neo4j Graph Database? Follow link for books/videos.
- Need to finalize direct cite reimbursable
Dong Shin 12.01.2014
- got lots of thing working for SQL Editor over the holiday
- sent a note to Lenny to check the Direct Cite/Reimbursable data
- more angularjs!
- started VisibilityScriptingSerivice java project
Phil 12.1.14
8:00 – 10:00, 12:00 – 4:00 SR
- DB Backups
- Status report
- Started on Angular Animations
- This is going to be a *lot* of fun: http://www.delimited.io/blog/2014/3/14/d3js-threejs-and-css-3d-transforms
- CSS transitions standards. And the list of animatable properties.
- LESS and SASS pre-processors. Which CSS preprocessor language should I choose? Though the SASS webpage is down right now…

You must be logged in to post a comment.