From be081d05be1841be40a1703354a32f8717a82f92 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Tue, 5 Jul 2016 19:40:36 +0200 Subject: [PATCH 1/5] Create security/README.md --- security/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 security/README.md diff --git a/security/README.md b/security/README.md new file mode 100644 index 0000000..e69de29 From e157c3dbaa7d29bf83d9f5ab06ef3c30a5e7f615 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Tue, 5 Jul 2016 19:40:44 +0200 Subject: [PATCH 2/5] Move file security_guidelines.md to security/security_guidelines.md --- security_guidelines.md => security/security_guidelines.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename security_guidelines.md => security/security_guidelines.md (100%) diff --git a/security_guidelines.md b/security/security_guidelines.md similarity index 100% rename from security_guidelines.md rename to security/security_guidelines.md From 3db8ad3e4a046c0b775cc8948d0612b019a0a413 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 30 Jul 2016 09:02:07 +0200 Subject: [PATCH 3/5] String validation fix --- security/security_guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/security_guidelines.md b/security/security_guidelines.md index 65e8c02..a2da81e 100644 --- a/security/security_guidelines.md +++ b/security/security_guidelines.md @@ -131,7 +131,7 @@ if(($pathNew = realpath($path)) === false || strpos($pathNew, self::MODULE_PATH) The example throws an exception if the path either doesn't exist or is trying to access a path that doesn't contain the path defined in `self::MODULE_PATH`. Another validation could be: ``` -if(($pathNew = realpath($path)) === false || !Validator::startsWith($pathNew, ROOT_PATH)) { +if(($pathNew = realpath($path)) === false || !StringUtils::startsWith($pathNew, ROOT_PATH)) { throw new PathException($path); } ``` From 3ca34a1508bc84c2b7d5e69f2690e74d7a18579b Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Wed, 12 Jul 2017 16:15:50 +0200 Subject: [PATCH 4/5] Create packages.md --- components/packages.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 components/packages.md diff --git a/components/packages.md b/components/packages.md new file mode 100644 index 0000000..bb68b86 --- /dev/null +++ b/components/packages.md @@ -0,0 +1,42 @@ +# Updates + +The following directory structure shows how a update/patch package has to be structured.The purpose of the different files will be +covered afterwards. + +* {UniquePackageName.tar.gz} + * signature.cert + * Files + * package.json + * {other_files_or_subdirectories} + +## Package Name + +The unique package name is generated by the update server. Usually they are called: + +* Modules: {Module Name}_{New Version}.tar.gz +* Framework: {Framework Name}_{New Version}.tar.gz +* Resources: {Resource Name}_{New Version}.tar.gz +* Other Components: {Component Name}_{New Version}.tar.gz + +By providing unique package names it's possible to define other updates as dependencies and prevent overwriting update packages. + +## signature.cert + +The `signature.cert` contains the signature for the package which will be used to certify the origin of the package. +The public key provided with the application is used to decrypt the certificate and compare it to the actual package data. + +## Files + +In the files directory all files are stored. + +### package.json + +The `package.json` file contains information of the package. + +``` +``` + +### Other + +All other files are related to updates, patches, extensions and installation. These files can be simple assets that will be used or +replaced in modules, classes in the framework that need to be updated and sql methods for updateing the database schema. From 0ec1c5d7511b800895e08ba829be21b3a7e23c8f Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Tue, 19 Mar 2019 19:02:21 +0100 Subject: [PATCH 5/5] Improve structure --- SUMMARY.md | 93 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 42 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index ab72b18..f776850 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -1,61 +1,70 @@ # Summary -* [Introduction](README.md) +* [Introduction]({%}?page=README) +* [Application Structure]({%}?page=application/structure) +* [Application Sample]({%}?page=application/sample) ## Setup -* [Installation](setup/installation.md) -* [Dev Environment](setup/dev_environment.md) +* [Installation]({%}?page=setup/installation) +* [Developer Environment]({%}?page=setup/developer_environment) ## Standards -* [General](standards/general.md) -* [Documentation](standards/documentation.md) -* [Html](standards/html.md) -* [Php](standards/php.md) +* [General]({%}?page=standards/general) +* [Documentation]({%}?page=standards/documentation) +* [Html]({%}?page=standards/html) +* [Php]({%}?page=standards/php) ## Basics - -* [Routing](basics/routing.md) -* [Dispatching](basics/dispatching.md) -* [Views](basics/views.md) -* [Requests](basics/requests.md) -* [Responses](basics/responses.md) +* [Routing]({%}?page=basics/routing) +* [Dispatching]({%}?page=basics/dispatching) +* [Views]({%}?page=basics/views) +* [Requests]({%}?page=basics/requests) +* [Responses]({%}?page=basics/responses) ## Security -* [Security Guidelines](security/security_guidelines.md) +* [Security Guidelines]({%}?page=security/security_guidelines) ## DataStorage -* [Cache](datastorage/cache.md) -* [Session](datastorage/session.md) -* [Cookie](datastorage/cookie.md) -* [LocalStorage](datastorage/localstorage.md) +* [Cache]({%}?page=datastorage/cache) +* [Session]({%}?page=datastorage/session) +* [Cookie]({%}?page=datastorage/cookie) +* [LocalStorage]({%}?page=datastorage/localstorage) ### Database -* [DataMapper](datastorage/database/datamapper.md) -* [Queries](datastorage/database/queries.md) - -## Services -* [Filesystem](services/filesystem.md) -* [Mail](services/mail.md) -* [Money](services/money.md) -* [Uri](services/uri.md) -* [Logging](services/logging.md) -* [Localization](services/localization.md) -* [Events](services/events.md) -* [Tasks](services/tasks.md) -* [Queues](services/queues.md) -* [Collection](services/collection.md) -* [Validation](services/validation.md) -* [Charting](services/charting.md) -* [Encoding](services/encoding.md) -* [Encryption](services/encryption.md) -* [Codes](services/codes.md) +* [DataMapper]({%}?page=datastorage/database/datamapper) +* [Queries]({%}?page=datastorage/database/queries) ## Code Quality -* [Code Quality](quality/code_quality.md) -* [Inspections](quality/inspections.md) -* [Tests](quality/tests.md) +* [Code Quality]({%}?page=quality/code_quality) +* [Inspections]({%}?page=quality/inspections) +* [Tests]({%}?page=quality/tests) ## Frontend -* [Styles and Layout](frontend/styles_and_layout.md) +* [Styles and Layout]({%}?page=frontend/styles_and_layout) +* [Charting]({%}?page=services/charting) +* [Codes]({%}?page=services/codes) ## Components -* [Modules](components/datamapper.md) +* [Modules]({%}?page=components/modules) +* [Packages]({%}?page=components/packages) + +## Services +### System +* [Events]({%}?page=services/events) +* [Filesystem]({%}?page=services/filesystem) +* [Logging]({%}?page=services/logging) +* [Tasks]({%}?page=services/tasks) + +### Messages +* [Mail]({%}?page=services/mail) +* [Money]({%}?page=services/money) +* [Localization]({%}?page=services/localization) +* [Uri]({%}?page=services/uri) +* [Encryption]({%}?page=services/encryption) +* [Encoding]({%}?page=services/encoding) + +### Stdl +* [Queues]({%}?page=services/queues) +* [Collection]({%}?page=services/collection) + +### Helper +* [Validation]({%}?page=services/validation) \ No newline at end of file