- This webportal for creating instance to run DNN.
- Version 0.3.3
- What is this repository for-?
- Features
- Docker Image
- Webportal Requirement
- Develop Requirement
- Code Style
- How do I get set up from this porject
- Built With
- Package With
- Package Analysis
- Google analytics Event data
- Contribution guidelines
- Who do I talk to?
- Change log
- SignIn & SignOut
- Dynamic generate PDF
- Material style
- i18n
- Create, edit, remove, review instance schedule
- Simply access instance with SSH WEB
- Gzip
- Code splitting
- Isolated React component
- React component development environment with a living guide
- Google analytics
- Package Analysis
- Change API, FTP, SSHweb host&port from container
- Update web version from container
- Docker image
- dnnweb:
dnn-web-gui
version:2017v0.2.12
- sshweb:
dnn-web-gui
version:2017v1.0.0
- You need import Certificate Authority(CA) on your client
- The
ca.crt
on./ca
cp ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
sudo service docker restart
-
You can download image from
100.86.2.10:32190
after import CA -
This image inculde development environment (nodejs, npm ...)
-
TAG
is dnnweb version
docker pull 100.86.2.10:32190/dnn-web-gui:TAG
docker run -it -d -p xxxx:80 --name webportal dnn-web-gui:TAG
docker exec -it webportal /etc/init.d/nginx start
- You can upload image from
100.86.2.10:32190
after import CA
docker tag SOURCE_IMAGE:TAG 100.86.2.10:32190/TARGET_IMAGE:TAG
docker push 100.86.2.10:32190/TARGET_IMAGE:TAG
docker commit -a "a40503" <container name> dnn-web-gui:TAG
- This image only have web server and packaged webportal
- This image NOT inculde development environment
- You CANNOT Change API,FTP,SSHweb from this container
- Need
npm run build
in first
cd docker
docker build -t dnnweb .
docker exec dnn-web-gui sh /dnnwebportal/changeAPI <your IP with http or https> <port>
example :
docker exec dnn-web-gui sh /dnnwebportal/changeAPI http://127.0.0.1 9527
- input one port (the ssh gui port(default 10443))
docker exec dnn-web-gui sh /dnnwebportal/changeSSH <your IP with http or https> <port>
example :
docker exec dnn-web-gui sh /dnnwebportal/changeSSH http://127.0.0.1 5566
docker exec dnn-web-gui sh /dnnwebportal/changeFTP <your host> <port>
example :
docker exec dnn-web-gui sh /dnnwebportal/changeFTP 127.0.0.1 9487
- Need set
.git-credentials
in first - on
91% additional asset processing
will take a monent to build - Will automatically git pull, install module, package and update Web
example :
docker exec dnn-web-gui sh /dnnwebportal/updateWeb
- NOT support IE
- npm > 5.0.4
- nodejs > 6.10.0
On .eslintrc
will ignore some rule.
You can using plugin on editor (like Sublime, VS code, Atom, WeBstorm ...)
And install these modules :
npm install -g prettier eslint-plugin-prettier eslint-config-airbnb eslint-plugin-import eslint-plugin-react eslint-plugin-jsx-a11y@5.1.0
Ask for developer to get access privileges, then you can clone or fork.
git clone https://a40503@bitbucket.org/a40503/dnnwebportal.git
npm install
- for install modules
npm start
- need
npm run build
in first time - for development, run dev-server
- open 'localhost:8080' on browser
npm run styleguide
npm run dll
npm run app
- package dll(bundle.js,bundle2.js,bundle3.js,bundle4.js) and app(app.js)
- the files will generate in build folder
- on
91% additional asset processing
will take a monent to build
# | command | generate |
---|---|---|
1 | npm run dll | bundle.js ,bundle.js.gz ,bundle.manifest.json ,bundle2.js ,bundle2.js.gz ,bundle2.manifest.json ,bundle3.js ,bundle3.js.gz ,bundle3.manifest.json ,bundle4.js ,bundle4.js.gz ,bundle4.manifest.json ,report.dll.html ,stats.dll.json |
2 | npm run app | app.js ,app.js.gz ,report.app.html ,stats.app.json ,index.html ,main.css ,/image ,/locales ,/res |
3 | npm start | stats.dev.json |
npm run build
- package all (dll and app)
- the files will generate in build folder
- Webpack - module bundler
- UglifyJS - minify JavaScript
- Compression - compressed static assets
- HappyPack - allowing you to transform multiple files in parallel
- DllPlugin - split bundles
Different cpu have different result
js | State size | Parse size | Gzipped size |
---|---|---|---|
app.js | 633.47KB | 288.55KB | 71.58KB |
js | State size | Parse size | Gzipped size |
---|---|---|---|
bundle.js | 5.03 MB | 1.76 MB | 460.24 KB |
bundle2.js | 2.83 MB | 1.08 MB | 483.42 KB |
bundle3.js | 957.7 KB | 958.61 KB | 679.8 KB |
bundle4.js | 14.86 MB | 14.86 MB | 8.15 MB |
All | 23.66 MB | 18.65 MB | 9.74 MB |
- bundle.js: 3rd party modules
- bundle2.js: PDF modules
- bundle3.js: images (with base64)
- bundle4.js: font
- put JSON file(
stats.dev.json
,stats.app.json
,stats.dll.json
) on these website- analyse - https://github.com/webpack/analyse
- webpack-visualizer - https://chrisbateman.github.io/webpack-visualizer/
- webpack-chart - https://alexkuz.github.io/webpack-chart/
Category -> Action -> Label -> Value https://support.google.com/analytics/answer/1033068?hl=en
{
createPage:{
selectImage:["All", "Tensorflow", "Caffe", "Torch"],
Open:null,
Close:null,
selectStartDate:["..."],
selectEndDate:["..."],
createSchedule:["Success"]
},
pageView:{
"Access Web":null
},
DetailModal:{
Open:null,
Close:null
},
DeleteModal:{
Open:["1", "5", "12"],
Close:["1", "5", "12"],
Deleted:["1", "5", "12"]
},
EditModal:{
Open:["1", "5", "12"],
Close:["1", "5", "12"],
"Select Date":["1", "5", "12"],
Edited:["1", "5", "12"]
},
HistoryTable:{
Open:null,
Close:null
},
Notify:{
Error:["ERROR : Extend Date", "ERROR : ReviewTable"],
Copy:["Password", "Port", "sshCMD", "Account", "Ip"]
},
FtpInfoModal:{
Open:null,
Close:null
},
SignIn:{
Success:["A40503"],
Fail:["A40503"]
},
ReviewTable:{
Refresh:null
},
PDF:{
Open:["Eng","Tc"]
},
Language:{
Switch:["Eng","Tw"]
},
SignOut:{
Success:["A40503"]
},
Outbound:{
Click:["SSHweb"]
}
}
- A40503
- Kevin Huang
- Yenhsuan
- 531539
- Vicky Wang
- A40503
- Kevin Huang
- A40361
- Rachel
- A40503
- Kevin Huang
- Me or my boss, perhaps.
last update 2017-10-03
0.3.3
fix editDate counting days0.3.2
add updateWeb Shell Script0.3.1
update tutorial APM, hiden instance number0.3.0
change new API0.2.12
add noIE hint, change schedule ID (will show machine ID together)0.2.11
add creatings status, change auto refresh time (6s)0.2.10
reformat most of code0.2.9
add line logo0.2.8
add ssh web tutorial0.2.7
add finishAutoPage, limitDay hints0.2.6
add shellScript for changeFTP, changeSSH0.2.5
add shellScript for changeAPI0.2.4
add Dockerfile0.2.3
add animate hint0.2.2
add counting time on sshWebBtn0.2.1
add sshWeb on reviewTable0.2.0
change new API0.1.14
add styleguid0.1.13
add comment on proptype of compnents0.1.12
add base64 image0.1.11
add GA0.1.10
add sshWeb0.1.9
loading status counting, auto refresh after loading 10s0.1.8
add traditional chinese PDF0.1.7
change history table0.1.6
add PDF tutorial0.1.5
prototype