Zusammenfassung der Ressource
almwplus
- 1.Overview and background
- 1.1 A web app, divided into
client and server
Anmerkungen:
- 1. the server reuses WP server, exposes RESTful API to the client;
2. the client build on AngularJS with Node.js ecosystem.
- 1.2 the client is a SPA on AngularJS
Anmerkungen:
- SPA: Single Page Application
- why SPA?
- deployable on various devices
Anmerkungen:
- 1. support various browsers on PC or Mobile.chrome, firefox, safari, IE9+
2. it is very likely ported to native app with help of ionic or cordova.
- independent to the server as far as possible
Anmerkungen:
- 1. only use Restful api to access the server;
2. developing independent.
- AngularJS generic support SPA
Anmerkungen:
- AngularJS was designed to support SPA.
- uses old WP server
Anmerkungen:
- it is not quite fit to use php server with angularJS technically. And we will use nodejs to re-implement the server.
- why AngularJS?
- good ecosystem
Anmerkungen:
- 1. adapt with nodejs app and tools
2. adapt with other javascript frameworks (bootstrap, jquery)
3. rich maintenance tool chain, yeoman, gulp, bower, generator-ng-poly
- good official support
Anmerkungen:
- thousands of generic widget ready to be used.
- future trends
Anmerkungen:
- 1. dominant browsers support , more important generic support with next generation browser of Microsoft;
2. ecosystem is growing;
- engineering features
Anmerkungen:
- 1. hind low level DOM manipulation, make development quick and hide details;
2. modularization makes project extensible.
- testable
Anmerkungen:
- angularJS big feature, everything could be tested.
- 2. system architecture
- 2.1 project management
Anmerkungen:
- project managed by ng-poly, it is a nodejs tools powered by gulp.js. project management have following features.
- automatic building
Anmerkungen:
- no makefile, no ant. add source code and build with it. that all no additional makefile and we got runnable package.
- configurable by javascript
Anmerkungen:
- Based on generator ng-poly and gulp.
programmer could add extra code to load correct module, start processes. Use javascript(nodejs) to manage all you need.
- production capacity and development mode
Anmerkungen:
- 1 .enable to minify and uglify source code, css. we can build for production.
2. we also configure to connect to different server at developping stage.
- Test module
Anmerkungen:
- we have unit test and e2e test.
- independent developping
Anmerkungen:
- Thanks to ng-poly, we setup a local rest emulator. it emulator the server restful APIs and programmable. we could develop the client without the server support. in the future if use nodejs as the server, it can be ported into it.
- 2.2 module categories
Anmerkungen:
- we treat all things as module. AngularJS provides this feature. module help us separate complicated things into simple pieces.
there are two kinds of modules: UI modules and support modules; UI modules represent the WP business representation, they are application explorer, tasks etc.support modules acts supporting functionalities, like communication, error handler, widgets, common services etc.
- LMe and LMi web business
prepresentation(UI modules)
Anmerkungen:
- UI modules are business presentation layer, it includes app explorer(lme, lmi), tasks(lme, lmi), lme import packages, deployment(lme, lmi) , dashboard(profiles and computer deployment statistic in donut chart and bar chart)
- support modules
- communication
Anmerkungen:
- communication between the client and server is complicated. we need divided its requirement into different layers.
1. DataResource layer, handles http issue;
2. business layer, handles response data and resolves business logic errors;
- error handler
Anmerkungen:
- we need a unified error handler I for exception issue.
Error divided into four levels: fatal, error, warning, info.
fatal error is unrecoverable exception, it should block user operation by modal dialog.
others will not interrupt user operation in toast form, they could be ignored.
- components and widgets
Anmerkungen:
- widgets is a little encapsulated module which could be reused. we have implemented some widgets by ourselves, such as navbar, breadcrumb, bar and donut chart. for some common use widget we are using third party ones from angular official site.
- other miscs
Anmerkungen:
- some common usage utilities.
services and directives
- 2.3 UI design
- 3.Status and future plan
- Done pages
Anmerkungen:
- please show the work flow at the time.
- what would be like in the future
Anmerkungen:
- 1.show some static pictures.
2. we would add some features:
add GAR favorite;
information of Deployment set status changing;