PMIS Framework Training¶
TODO List¶
Eclipse IDE
Subversion Control (SVN)
Apache Tomcat - Web Application Server
PMIS Source Code Tour
Browser Development Tools
Java Basic Concepts
Apache Maven (software project management)
Spring Framework
- Application Context
- Inversion of Control (IoC)
- Dependency Injection (DI)
- Aspect Oriented Programming (AOP)
- Transaction Management
Struts Framework (MVC Framework)
- Actions
- Interceptors Stack
- Results
iBatis (SQL Data Mapper)
Test-driven Development (TDD)
- JUnit
JavaScript, HTML & CSS
jQuery (Javascript Library)
SangAh Libraries (Javascript Library)
jqGrid - Web Grid (Javascript Library)
CKEditor - Web Editor (Javascript Library)
PMIS Authentication System (Spring Security)
Building & Deployment Process
DB Update Process
VSFlexGrid Manual & API Reference
Eclipse IDE¶
Note
- Main Download Page: https://eclipse.org/downloads/
- Other Builds: http://download.eclipse.org/eclipse/downloads/drops4/R-4.5.1-201509040015/
Important
If you install the Java JDK x64 version make sure to download Eclipse 64bit as well!
- Install Java first! Take the JDK HERE.
- Set
JAVA_HOME
to Java JDK folder. - Set
PATH
to the JRE or JDK bin folder. - Make sure Java is installed. Open cmd.exe and type
> java -version
Download the last release of Eclipse following this step:
Go to the Eclipse Download Page.
Under Latest Release click on the latest version and you will be redirected to another page.
Scroll down until you find Platform Runtime Binary packages and download the correct version for your system.
To start using this version of Eclipse with Java you need to install some plugins:
From inside Eclipse go to
Help
->Install New Software
and from there you should search for these plugins:Eclipse Platform
[already installed]Eclipse Java Web Developer Tools
under Eclipse Web Tools Platformm2e-wtp - Maven Integration for WTP
JST Server Adapters
JST Server Adapters Extensions
Marketplace Client
under Eclipse Marketplace Client
If you cannot find JST Server Adapter than after you installed the
Marketplace Client
go toHelp
->Eclipse Marketplace
and from there search and installEclipse JST Server Adapter
.These plugins should be enough to get started.
Configuration Tips¶
- Change encoding to UTF-8 for all the file types supported (.jsp, .html, .properties, .xml, .java, .css).
- Change the installed Java version JRE -> JDK.
- Change the default Java Compiler to 1.6.
- Add a new Server Runtime Environment.
- Change the Eclipse Perspective to a more suitable for development (
Java EE
orJava
). - Recommended to change the Left Panel View to
Package Explorer
andNavigator
. - Recommended to change the Package Presentation for the Package Explorer to
Hierarchical
. - You might want to disable auto build (Project -> Build Automatically)
and change the
Ctrl+B
key combination to build just one Project. The default combination will build all projects in the workspace.
todo
Subversion Control (SVN)¶
- Official Website
- https://subversion.apache.org/
- SVN 1.7 Documentation
- http://svnbook.red-bean.com/en/1.7/index.html
- SVN 1.8 Documentation
- http://svnbook.red-bean.com/nightly/en/index.html
- Tortoise SVN Windows Client
- https://tortoisesvn.net/
Apache Tomcat - Web Application Server¶
- Deployment
- https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html
- Apache Tomcat Versions
- http://tomcat.apache.org/whichversion.html
- Standard_Directory_Layout
- https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html#Standard_Directory_Layout
todo
Browser Development Tools¶
- Firefox Development Tools
- https://developer.mozilla.org/en-US/Learn/Discover_browser_developer_tools
- Chrome Development Tools
- https://developers.google.com/web/tools/chrome-devtools/
- IE Development Tools
- https://msdn.microsoft.com/en-us/library/dd565628%28v=vs.85%29.aspx
todo
Java Basic Concepts¶
- Learn Java Online
- https://www.hackerrank.com/domains/java/java-introduction
- Object-Oriented Programming Concepts
- https://docs.oracle.com/javase/tutorial/java/concepts/index.html
- Cohesion & Coupling
- http://www.tutorialspoint.com/software_engineering/software_design_basics.htm
- [Logging] Java Util Logging
- https://docs.oracle.com/javase/7/docs/technotes/guides/logging/overview.html
- [Logging] Apache Log4j 2
- http://logging.apache.org/log4j/2.x/
Apache Maven (software project management)¶
- Apache Maven Website
- https://maven.apache.org
- Introduction to the Build Lifecycle
- https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
- Maven Repository
- http://mvnrepository.com
Spring Framework¶
Book Spring in Action (3rd) useful chapters:
- 1, 2, 3 Basic concepts
- 4 AOP
- 5.2 ~ 5.3 Datasource & JDBC
- 6 Managing Transactions
- 7 MVC
Below some online documentations:
- Application Context
- https://spring.io/understanding/application-context
- Inversion of Control (IoC)
- https://en.wikipedia.org/wiki/Inversion_of_control
- Dependency Injection (DI)
- http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html
- Aspect Oriented Programming (AOP)
- http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html#aop-understanding-aop-proxies
- Transaction Management
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/transaction.html
Struts Framework¶
- Struts 2 Documentation - Interceptors
- https://struts.apache.org/docs/interceptors.html
Book Struts 2 in Action useful chapters:
- 1, 2, 3, 4 Fundamental
- 8 Results
- 9 Struts 2 + Spring
iBatis SQL Data Mapper¶
- Books iBATIS in Action
- https://www.manning.com/books/ibatis-in-action
- New MyBatis Project Website (with some reference to the old one)
- http://blog.mybatis.org
Test-driven Development (TDD)¶
- Test-driven development
https://en.wikipedia.org/wiki/Test-driven_development
...more results here https://goo.gl/nIQTWD
- Junit - Java Testing Tool
- http://junit.org/
todo
JavaScript, HTML & CSS¶
- Learn JavaScript
- Learn HTML
- Learn CSS
jQuery (Javascript Library)¶
- jQuery Website
- http://jquery.com/
- Download jQuery
- http://jquery.com/download/#using-jquery-with-a-cdn
- Learning Center
- http://learn.jquery.com/
- API Documentation
- https://api.jquery.com/
- How to Create a Basic Plugin
- https://learn.jquery.com/plugins/basic-plugin-creation/
todo
SangAh Library (Javascript Library)¶
Give a look at the files under /web/ext/script/
common.js
Functionsml.js
coolMask.js
pmis_build.js
pmis_loader.js
todo
Web Grid Plugin - jqGrid (Javascript Library)¶
- Wiki Documentation
- http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs
TODO
- Flat Grid Configuration
- Tree Grid Configuration
- Pagined Grid (Asynchronous Paging)
- Fetching Server Data
- jqGrid Custom Formatter
- jqGrid Custom Select Row
- jqGrid Paging Example
- jqGrid Save Editing Row Before Request
- jqGrid getLocalRow vs getRowData
todo
VSFlexGrid Manual & API Reference¶
- VSFlexGrid Properties, Events, and Methods
- http://helpcentral.componentone.com/docs/vsflexgrid8/vsflexgridpropertieseventsandmethods.htm
- VS FLex grid manual
- http://www.scribd.com/doc/22750806/VS-FLex-grid-manual