diff --git a/.gitignore b/.gitignore index 70780eac3a951267683df164632ca68bbead0eb4..450b9404dd50a9050b9dad42d6f4363ae13699d9 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ nbproject /config/inc_projects_config.php /config/inc_user2roles.php /.vscode/ +data/imldeployment/packages/* \ No newline at end of file diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000000000000000000000000000000000000..d9dd81d96281e8433a0b32b423d01e1d39ded885 --- /dev/null +++ b/TODO.md @@ -0,0 +1,78 @@ +# TODO for version 2 + +✅ add top menu items +✅ remove bottom navigation bar +✅ content als Card Elemente + +✅ login page +✅ no menus if not logged in yet +✅ Forms - Breite der Text-Input-Felder + +✅ XSS Bug - <https://projects.iml.unibe.ch/projects/sysadmin/work_packages/6865/activity> +◻️ validate html code + +◻️ Ausgabe der JSON Infos des Rollout +◻️ shellcmd plugins - code aufräumen und erweiterbar gestalten. + +◻️ integrate versions browser into main ui + +◻️ glyphicon entfernen +◻️ Rename der "fas fa" --> "fa-solid fa" +◻️ Rename der "far fa" --> "fa-regular fa" + +## Add - bigger features + +◻️ checkout plugin +◻️ build step as queue +◻️ deploy step as queue + +◻️ user and roles + project +◻️ plugins for build step + +## Cleanup + +◻️ nicht verwendete Sprachtexte finden +◻️ nicht verwendete Icons finden + +## What is new? + +* PHP 8.3 compatibility +* UI freshup by using AdminLTE, brighter colors, some ui elements of AdminLTE +* internal: split project class into non ui and ui renderning class +* info boxes use Winbox component - multiple infos can be opened +* Updated components: + * ahCache + * Bootstrap + * jQuery + * FontAwesome +* added: shellcmd plugin "top" +* added: timeline in action logs +* added: about page +* added: button to set branch of next phase +* plugins restructured: one plugin class for all plugin types. 1st step: shellcmd plugins +* update project overview +* update project phase details +* added ci variables to handle docker images during build (implemented for rollout in the deployment client) + + +The CI server was updated with the current version I am working on (and is not finished yet). +The main reason was the need for additional variables for tests with Docker images/ Docker swarm. +Those are available in the file ci-customvars for the onbuild + ondeploy hook and for the replacement in the deployment client. + +What was done so far: +* CI server runs on PHP up to v8.3 +* UI freshup by using AdminLTE, brighter colors, some ui elements of AdminLTE +* info boxes use Winbox component - multiple infos can be opened + +Updated components: + * ahCache + * Bootstrap + * jQuery + * FontAwesome + +added: + * shellcmd plugin "top" + * timeline in action logs + * about page + * build: button to set branch of next phase + diff --git a/public_html/deployment/classes/plugins.class.php b/public_html/deployment/classes/plugins.class.php index 187813dcb43068014ae15651bb437e67832be186..9a348df6f55420aae619a8be2a5035b398a49c9a 100644 --- a/public_html/deployment/classes/plugins.class.php +++ b/public_html/deployment/classes/plugins.class.php @@ -292,7 +292,7 @@ class ciplugins { return $this->_sType.'_'.$this->_sPluginname; } - public function initPlugin(){ + public function initPlugin__unused(){ $sClassname=$this->_sType.'_'.$this->_sPlugindir; $TmpRolloutPlugin = new $sClassname([]); diff --git a/public_html/deployment/plugins/doc_reminder.md b/public_html/deployment/plugins/doc_reminder.md index 30fe339dee207c6e9b520aa31c0b851be448cd7d..7b0f047752eaec039ccf91e5914f4187af37bae6 100644 --- a/public_html/deployment/plugins/doc_reminder.md +++ b/public_html/deployment/plugins/doc_reminder.md @@ -53,3 +53,33 @@ For plugins that can handle project data there is an override mechanism: * global configuration data are in the ci server config * the project setting can override / extend the global settings * each phase can override/ extend the project settings + +## shellcmd + +### config.json + +contains keys + +* command --> shell command with params + +### class plugins.php + +must have the method + +```php + public function parsedata($aResult){ + $aReturn=[]; + // do some magic + return $aReturn; + } +``` + +### render.js + +MUST inituilaize request and repeat rate. + +``` +window.setTimeout("shellcmd_plugin_init('load', "+<plugin>_render+", <repeat_in_sec>);", 200);`` +``` + +- MUST have function "<plugin>_render()"