Git

You can anonymously read the source code, study it's features and documentation by going to the GitHub repository directoy:

https://github.com/se7enxweb/CjwConfigProcessorBundle

You can anonymously check out the source code released by this project from its Git repository:

git clone https://github.com/se7enxweb/CjwConfigProcessorBundle.git

You may be able to anonymously check out the source code released by this project from its expected composer package:

composer require se7enxweb/CjwConfigProcessorBundle

To be able to commit changes to the project's repository, you need to be a member of the project.

Latest log messages

  • c9d28d367547fda73a4fe17cd2b9123e00607c97 on 08/01/2021 7:20 am by Frederic Bauer <57102171+NorthernSeaCharting@users.noreply.github.com> [GitHub Diff]
    Message:
  • 7e60ef75d3de3291f95e4e82172e0e1e776317b1 on 08/01/2021 7:16 am by Frederic Bauer <57102171+northernseacharting@users.noreply.github.com> [GitHub Diff]
    Message: Small hotfix update of command names for more clarity
  • 5201240f7b5663999f683ebafc8d1335f5b7b653 on 08/01/2021 4:43 am by Frederic Bauer <57102171+northernseacharting@users.noreply.github.com> [GitHub Diff]
    Message: Commit concerns issues #9

    Small refactoring for the configuration processing command and updated CHANGELOG-3.x.md
  • 13c6ee631a8884189c4c1719a7b9338a218354db on 07/01/2021 7:11 am by Frederic Bauer <57102171+northernseacharting@users.noreply.github.com> [GitHub Diff]
    Message: Commit concerns issues #5 and #6 ,#8 and #9

    PHP:

    - ConfigLocationOutputCommand.php: Added Symfony console command to display the configuration paths (as determined by the bundle) of the parameters.

    - ProcessedConfigOutputCommand.php: Added styling to the command output to provide more information and feedback to the user and updated its documentation.

    - ConfigProcessController.php: Removed unnecessary comments from the controller.

    - CJWConfigProcessorExtension.php: Modified config so that the environmental variables are turned on by default.

    - CustomParamProcessor.php: Small documentation fix.

    Config:

    - services.yml: Added new console command as Symfony service.
  • 21b863c62aa6928b36d4b5aae83276873f8b775d on 06/01/2021 7:38 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Merge remote-tracking branch 'cjwRepo/main' into main
  • 641075e2d109a3f7474f31ffac3daaa2597bbac4 on 06/01/2021 7:38 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Commit concerns issues #5 and #6 ,#8 and #9

    PHP:

    - ProcessedConfigOutputCommand.php: Added this new console command to enable the processed config to also be accessed via the console and not only the frontend of the bundle

    - ConfigProcessController.php: Added the environmental parameters view route and controller action and fixed bug with the bundle config not working properly, when the favourites feature was turned off

    - CJWConfigProcessorExtension.php and Configuration.php: Added new configuration for the environmental variable display

    - LeftSideBarMenuBuilder.php: Added new left sidebar button to access the dedicated env view

    - CustomParamProcessor.php: Added setter for the active site accesses to filter for to allow more dynamic work with the processor

    Config:

    - routing.yaml and services.yml: Added the env view as route and the console command as a service

    Documentation:

    Updates to the documentation across the board for more readability and more detailed information. Also added documentation for the new view

    CSS:

    - parameter_display.css: Small tweak for better display of inline values

    Twig:

    - param_view_environment.html.twig: Added dedicated template for env parameters view
  • d73c6758118b3b57a2537285722eeddf056c06f3 on 04/01/2021 12:10 am by Frederic Bauer <57102171+NorthernSeaCharting@users.noreply.github.com> [GitHub Diff]
    Message:
  • 1a02a55c0e7466c2fefa0c7a101dce648ec38324 on 23/12/2020 7:48 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Hot fix for config path retrieval for bundles outside the vendor directory
  • 03d2199396c66fc3984ec865c9690f7c4e512b70 on 22/12/2020 4:53 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Small update for CHANGELOG-3.x.md
  • 0ed0fd312d6ea076e1ef56c8e498418cfb8eb0cd on 22/12/2020 1:57 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Small fix featuring issues #4 and #5

    - CHANGELOG-3.x.md: Added more information on changes made

    - ConfigProcessLocationInfoController.php: Fixed a small issue where paths which did not feature the project directory or were in a different path under a similar directory, would be needlessly cut, leading to false paths.

    - ParametersToFileWriter.php: Added more documentation and removed a redundant symbol of a regex to improve functionality and clarity of the code.
  • f32d91f6c09d162f9b70e30848f90a035a3ea223 on 21/12/2020 7:22 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Documentation Overhaul (derived from the very same commit in the ezplatform 2.5 version) for issues #5, #6 and #4

    - Added or improved documentation for every php class of the bundle

    - Refactored code for every function and class of the bundle to fit Symfony's coding style more

    - In ConfigProcessController.php and routing.yaml for parameter list file download changed the parameter name from "downloadDenominator" to "downloadDescriptor" so it is more clear what the parameter does

    - Improved ParametersToFileWriter.php and added checks and editions for special character within keys and also values in order to improve the file representation and keep the output valid yaml (there will hopefully soon be even more improvements to the functionality)
  • 23f629200185cfcded85ffd0e36023d8af7e888d on 18/12/2020 7:17 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Improved and hopefully more user friendly documentation for #5 and #6
  • e61d9aee511c56cf9c7942ed8f44d7a807b7846f on 17/12/2020 1:10 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Commit regarding issues #3 , #5 and #6 (this commit is meant to improve the config path determination, the documentation and the adherence to Symfony's coding guidelines).

    Markdown:

    - CHANGELOG-3.x.md: Added the new improvement introduced by this commit.

    PHP:

    - ConfigPathUtility.php

    1. Improved config path retrieval: This was done in order catch more configuration files especially of the bundles, this new way is now less reliant on the strict adherence to Symfony's recommended bundle structure.

    2. Refactored the code to adhere more closely to Symfony's recommended coding style.

    - CustomContainerBuilder.php:

    1. Added and refactored documentation for functions and methods within the Container Builder in order to improve readability of the class and its methods.

    - CustomDelegatingLoader.php: Also small refactorings to the documentation for improved readability.

    - CustomGlobLoader.php: Same as before, more small refactorings to the documentation for better readability.

    - CustomValueStorage.php: Refactorings of the code and the documentation to be more inline with the Symfony coding guidelines and also to improve readability.

    - LoadInitializer.php: Added and refactored documentation for more readability and clarity on the class.

    - LocationAwareParameterBag.php: Added documentation and refactored the existing code to be more inline with the aforementioned guidelines and for more clarity on the class and its methods.

    - LocationRetrievalCoordinator.php: Also added and refactored the existing documentation with the same thinking as before.

    - Utility.php: Added documentation on every function and the class and also refactored the functions a bit, for more information on the class and its methods.
  • fb12c8414d53cbe17b9ab23ae9cd30c43ce62eec on 16/12/2020 1:21 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Fixed problems with the SynchronousScrollerUtility.js and the SiteAccessDifferencesHighlighter.js

    JS:

    - SiteAccessDifferencesHighlighter.js: When the highlighting state is stored in the url, then the execution of the highlighting will now take place after every parameter has loaded (changed from: Immediately prior to any other JS) in order to ensure parameters not being marked as additions, when the counterpart just hasn't loaded yet

    - SynchronousScrollerUtility.js: Functionality to check for the correct list to add to has received a fix where top nodes at the top of the list, which are unique to one list, would not be added to the counterpart list and instead caused the functionality to throw an error
  • c600a55f4b3c5d5e7eb34f2911ddb4c06ae90ba5 on 11/12/2020 2:51 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Hotfix for index.md
  • c5b7a4a80baa11c888ac17f9ef9fcd7256c9335a on 11/12/2020 2:48 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Last pre-release updates:

    Documentation changes for more clear and concise documentation
  • ba5ec3e1159cfd810c2425a7f2796b3bd110eaf9 on 10/12/2020 7:39 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Further release preparations:

    Update of the installation documentation for more concise and more detailed information about the process
  • d17c5e78a03322cf09ce122da02d4737a43a0887 on 10/12/2020 6:46 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Documentation hotfix
  • 93edc5db46f10bbccd11049f0b7901e10beab288 on 10/12/2020 6:44 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Preparations for first (initial) release:

    Improved documentation and added links to the help pages from README.md to index.md and from there to the actual resources
  • 09eb21ca0eb2669ea71780971b5da1c2a5f3f2a6 on 10/12/2020 6:23 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Overhauled and improved the SynchronousScrollerUtility.js

    - fixed an error, where, when having parameters with lists of (pure) values beneath them and these values being different to one another, the missing values would not be added correctly and the entire structure of the parameter list would be broken
  • a0ee1db51aebd2172d17a83ca157decf3fd8f66d on 09/12/2020 7:08 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Small update to improve README.md and tooltips for pagelayout.html.twig elements
  • 7858fe6206e5f55f1f63865f13faa5746e87d971 on 08/12/2020 7:46 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: - Design fix in the parameter view (Last-Update and Help Teaser positioning)

    - Updates to the README.md to add more information about the bundle

    - Same for composer.json
  • 747d4e6db7cbf09454ef36ce896f466022657f9b on 08/12/2020 5:55 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Doc:

    - param_view_siteaccess_compare_overview.en.md has seen a small correction and some minor improvements in visual presentation

    CSS:

    - bundle.css: removed some (now) obsolete css

    - parameter_display.css: Added an animation for visual loading feedback

    JS:

    - SearchBarUtility.js:

    1. Added that the search is repeated, when changing the search mode, so that the behaviour of the search is more inline with the expectations of a potential user

    2. Persisted the search state in the url, this allows sharing a link with a search already running when opened, this provides more control and more feedback for the user, when using the site

    - SiteAccessDifferencesHighlighter.js: Persisted the highlighting state in the url too and allowed users to share that particular state of the site, making it more responsive and added visual feedback when the highlighting takes place

    - SynchronousScrollerUtility.js: Persisted the synchronous scroll state in the url so that the user has more control and options regarding the view and added visual feedback which indicates when the function is being loaded

    - Utility.js: Improved the url state functions a bit and added urlencoding to all of them, fixed a bug, where the states wouldn't be removed correctly and added a method to retrieve the value associated with a state in the url

    Views:

    - Changed the help teaser to now appear directly under the main headline of the header, so that its design fits better with the overall look and feel of the backoffice

    Composer:

    - composer.json: Added a few details to the description and the tags
  • 727190fd6b50d17c1d67afd92c9f6f814c717207 on 07/12/2020 7:45 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: - Added help documents and corresponding screenshots to every major view of the bundle frontend to provide more clarity to the user

    - SearchBarUtility.js has received first experimental lines which are supposed to enable future persistence of search views in the url (are not active right now)

    - SiteAccessDifferencesHighlighter.js: Redundant calls have been removed and that has provide a further over 50 % decrease in processing time

    - Utility.js: Has received small updates to the url persisting for more safety and a new function to alter parameters of the url (for future integration with the search)

    - small Refactoring to TwigHelpParserService.php

    - small changes in composer.json for better compatibility and ease of use (experimental)
  • 3355c8e5fb1d4a4abcdf91b187f62a6806ea7357 on 04/12/2020 7:49 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: - Changed naming scheme of the buttons on the main pages (in ConfigProcessController.php and the LeftSideBarMenuBuilder.php and RightSideBarSiteAccessComparisonMenuBuilder.php), this is so that the naming provides more clarity and also a better readability

    - Introduced "help-teaser", which is supposed to provide a small overview over what can be done on the current page, this is to make the sites more user friendly and more easy to understand

    - SearchBarUtility.js: In site access views, where key hierarchies are more flat, the subtree search has been deactivated so that it is possible to search for parameters via dots, this is supposed to make the search more useful on those pages

    - FavouritesHandlingUtility.js: Removed the redundant function introduced last commit, since it does not serve a purpose

    - SiteAccessDifferencesHighlighter.js: Improved the processes to find out and mark differences, which brings the processing time down about over 80 %!!!

    - SiteAccessDifferencesHighlighter.js and SynchronousScrollerUtility.js, Utility.js: Introduced state changes to the url, so that when activating the buttons, it will be stored in the url, this is so that it is possible to share views and view states and makes provides more control for the user

    - views: Introduced help teaser to provide more info to the user and make the views more accessible, also improved tooltips and some naming schemes, also to make them more accessible

    - CustomParamProcessor.php: Introduced a fix, where empty site accesses (such with not parameters beneath them, which have been added by manually scanning the parameters for site access dependencies during the favourite-processing), are now removed, so that there are no artifacts and parameters which cannot be unfavored in the dedicated favourites-view
  • a0b96e23df79780f8fe37930591714d776290413 on 03/12/2020 7:46 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Small update to introduce a new help file and some of its contents.
  • ace324efbb18a44420f4054805241b8d4485d787 on 03/12/2020 6:53 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: PHP:

    - ConfigProcessController.php has seen a small addition in which the download denominator in sent in all cases which improves the overall consistency in the methodology

    - TwigHelpParserService.php has been added

    This class is responsible for parsing certain markdown files which are present in the doc directory of the bundle. Then the parsed (html) output is being given to the template and added there. This is done so that it is possible to display a help text for every part of the bundle in the frontend, which improves the overall usability a lot.

    - TwigTestDisplayService.php has seen a few experimental changed, which have been reverted immediately

    - ParametersToFileWriter.php has seen a complete refactoring and subsequent overhaul

    In order to improve the quality of the code and make the intent of the class and the code more clear, readable and precise, the code formerly present in just one method, has been extracted to multiple dedicated methods only responsible for handling a certain part of the file writing. This should overall improve the readability of the classes functions enormously. However this process is not yet complete as some of the code might be improved in later commits.

    - Parsedown.php has been added

    The Parsedown.php class has been added to the bundle. This bundle stems from https://parsedown.org/ and can be employed as a standalone bundle. However, we elected to include the file directly in the bundle itself in order to improve the consistency and security of the file (to ensure no future releases of the bundle break the functionality and to have the option to edit the code). Since it is only one file, this is acceptable as introducing an entire dependency just for one class would not be beneficial.

    - Utility.php has seen a minor refactoring and a bug fix

    The "RemoveCommonParameters" - function had a problem with handling differences when it came to one parameter being of type array and its counterpart not being an array. Since that is a case which already qualifies parameters as different (therefore no further processing has to take place), a new check has been introduced to avoid errors and overall improve the consistency and reliability of the function.

    Config:

    - routing.yaml: The location retrieval controller has been renamed within the yaml configuration to better fit its new place in the bundle structure, therefore a route has been edited to accommodate for that

    - services.yml: Here the controller has first been renamed, at the same time, the new TwigHelpParserService.php has been introduced as a service in the file

    Documentation:

    - A new help directory has been added in the documentation directory to introduce more precise documentation

    In this new directory help files will be placed which are supposed to provide help texts within the actual frontend and more help documentation in general. This is so that a better user experience can be achieved as most pitfalls will be explained and can be avoided in the future.

    CSS:

    - bundle.css has seen some adaptations for the new help display in every view of the frontend of the bundle, overall these changes have been made so that the help can be accessed easily and a few changes to previously existing elements were made for better access and visibility

    - github-markdown-css.css has been added from https://cdnjs.com in order to format the newly added help-markdown display in a good and helpful way and make the overall look of the help more familiar to the user

    JS:

    - DownloadParametersUtility.js has seen a small bug fix:

    Previously when a site access context had been selected for the favourite-view and one went to download the parameters, the site access parameters would be brought to a file instead of the favourites and this has now been fixed.

    - FavourButtonUtility.js: A new visual indication for favourites being removed has been added and unfavoured parameters will are now removed when in the dedicated favourite view to make the view feel more like one would expect and only display the current favourites

    - The ScrollUpButtonDisplay.js has been renamed to its current name due it now also handling the help buttons which are present in every view of the bundle-frontend

    This is due to the fact that the help button and its help-display-functionality has been added to every view of the bundle and since that is the case, the button will need to be setup in every view. Since the Utility didn't have a huge responsibility beforehand, this new one has been given to it.

    - SearchBarUtility.js: The clear-input button is now hidden when the searchbar is empty and will appear, once text is being put into the searchbar

    This was done to avoid having a useless button present in the bar at all times and to make it look better and cleaner when it is empty.

    - FavouritesHandlingUtility.js has seen the introduction of an experimental function which was created to combat an minor issue which is still present after this commit, the function will likely be removed in the next commit

    - app.js has been adapted to the new help-display and sets this up now too

    Views:

    - For most of the parameter views, the displayed eZPlatform header has been outsourced to the base layout and now there are only additions through dedicated template blocks from within the dedicated templates, since the overall header does not really change from view to view.

    - At the same time, the new help text display has been added to every view (even though the help resources are not complete as of now)

    - A few new descriptions in the form of titles have been added to a few elements too, all in an effort to make the offered elements in the bundle more clear
  • a7f05f4c5c2fb99d4b084db9a55f5bdfc1b0e919 on 01/12/2020 8:04 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Small README.md update with important note
  • 270130447d6542ca8e58091350a134e86d0fc34e on 01/12/2020 7:48 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: PHP:

    - ConfigProcessController.php has seen the addition of the keyList retrieval function which allows us to check in the frontend, what parameters are marked as favourites and highlight them accordingly

    1. In the Retrieval function, site access dependency has been removed as it would be unnecessary to scour the parameters and then re add the required site access

    - LoadInitializer.php has seen bug fix:

    1. Since the bundle now resides under the vendor directory and no longer under the src path, its internal config paths are now no longer suited to handle the kernel boot process

    2. To combat this, an instance of the kernel class is used and since its position is suitable for the config, its methods to retrieve the paths are used, at the same time, backup methods are provided, should the kernel not be available

    - LocationRetrievalCoordinator.php has just seen change up of a cache-key which should now let it fit better into the naming scheme of the rest of the cache parameters

    - Utility.php has seen a bug fix to the removeSpecificKeySegment function which saw the function endlessly calling itself without any progress, this has now been fixed

    YAML:

    - routing.yaml a route has been changed to avoid collision with another similar route

    - services.yml removed unnecessary todo

    JS:

    - FavourButtonUtility.js introduced change where parameters that are already marked as favourites by attributes at the time of the buttons being configured, are now also marked as favourites

    - ParameterLocationRetrieval.js Fixed siteaccess part of the url to retrieve the location info to avoid it being broken

    - FavouritesHandlingUtility.js is now responsible for checking when loading the page, which parameters are marked as favourites in the backend, it then goes ahead and marks these in the frontend too

    - Utility.js introduced a check to the parameters of the url to avoid empty array elements being added as parameters and potentially causing trouble when calling the backend

    - app.js: The handle favourites function is now employed again (this time to check for parameters marked as favourites in the backend)

    Views:

    - param_view_favourites.html.twig tried to avoid siteaccess being set to an empty string but didn't manage to, should be removed again in the next commit

    Readme:

    - has seen a few additions and also the installation instructions have been reworked to fit the actual process
  • 408aa2d57411832fe44066b11e3133834d3144d4 on 30/11/2020 7:21 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Pathing-fixes so bundle works properly
  • cdfc068e6a1d504866afd36d267f9bae1d9c02c2 on 30/11/2020 7:10 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: More composer.json bundle - installing changes (changed namespace too)
  • 57b3ea9c9484512be33a7b7c3d18bdf4f609def9 on 30/11/2020 6:08 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: composer.json update
  • 4bc88c91ab8d8063061a85534a83d1e22ce5ec56 on 30/11/2020 5:58 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: composer.json update
  • 0d3aed91005bf864c78f6a61a58f7addf07e0422 on 30/11/2020 5:43 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: composer.json update
  • a6dcc8c91b9ee374bb51c5774dc8ef3c8a4b3450 on 30/11/2020 5:29 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: License change
  • 496a78babf965e8a3d927b1cec74fa22a52aba67 on 30/11/2020 5:26 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Public repository information update
  • c325fb45b507477dad3b508a19e1a06a7e12b3c6 on 30/11/2020 3:35 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Added some more information to the README.md
  • 79306d8487bea0ad9d1e3272a4ad19e5cdedef03 on 30/11/2020 3:23 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Completely refactored bundle structure to meet the GitHub-Structure (requirements)
  • 7a23dee88c7d5f4d89ce6acbd63170a9f33f7239 on 30/11/2020 1:47 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Refactored Bundle (LocationAwareConfigLoadBundle is now integrated into the existing ConfigProcessorBundle, as it is not a unique bundle of its own but still a separated code source)
  • 7f3e9060d1430f3848e58ce8822def129d2d25f0 on 30/11/2020 1:09 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Safety commit before refactoring the bundle:

    Reworked the favourite-functionality and added specific routes, functions and more to facilitate that new behaviour

    PHP:

    - ConfigProcessController.php:

    1. Some smaller refactorings of the internal functions to make them more readable and better to use

    2. Reworked the set and remove and get favourite functions to facilitate their new behaviour, where favourites are added and removed in a singular fashion

    - Utility.php:

    1. Some refactorings for improved readability

    2. Added function to remove an entry from a hierarchical associative array through a list of key segments, leading to the level from which to remove an entry

    - ConfigProcessCoordinator.php: Small refactoring for better readability and removed every function working with favourites (in order to achieve better code separation and make for a more consistent structure overall)

    - CustomParamProcessor.php simply renamed the class so it describes it purpose better (as it serves for custom favourites as well as normal custom parameters)

    - FavouritesParamCoordinator.php: Has been added to handle all functionality related to the favourites being added or removed or retrieved

    config:

    - routing.yaml received an additional route for specifically removing a parameter from the favourites, this is now required, as favourites are no longer overwritten but instead appended to the list

    JS:

    - FavourButtonUtility.js has been reworked to allow favourites to be added or removed as soon as the favourite-button is being clicked

    - app.js: Removed an influence of the FavouriteHandlingUtility as its job is now mostly being taken over by the FavourButtonUtility.js

    views:

    - removed global favour commit buttons from every template as its function is now no longer supported
  • e03cf35628e956b33f57d2edb06ea8952c50d90c on 26/11/2020 6:21 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Another smaller update for the config processor

    PHP:

    - ConfigProcessController.php has seen the addition of some error handling within its methods. This is to increase stability and provide helpful responses to potential users in the frontend.

    - CJWConfigProcessorExtension.php has seen an update which saw the incorporation of the "configuration" following the symfony specifications and some examples of ez-systems bundles

    - Configuration.php was added to allow the bundle to be configured via yaml files / xml files and so on, this provides the users with more customisation options for the bundle for an overall better user experience

    - ConfigProcessCoordinator.php has seen the addition of the last update time which displays the last time the parameters have been reprocessed, this is so that developers have a more clear picture of whether they already see the current view or not

    - CustomSiteAccessParamProcessor.php simply reverted change which saw non-site-access dependent parameters to not be displayed in site access views (for both favourites and custom parameters) this is not the intended behaviour as the parameters are supposed to be visible at all times (that is their big deal)

    - LoadInitializer.php has seen a small documentation update for better readability

    - LocationRetrievalCoordinator.php has seen some small refactorings for improved code readability

    CSS:

    - Smaller update to the existing styles and also addition of a second label in the search bar so accomodation for that (so that the labels look as intended)

    JS:

    Refactored the javascript files and moved them to dedicated directories for better separation of the files and a more consistent structure

    - CopyButtonUtility.js added event handler which now handles path info keys being loaded into the document and provides them with a click listener which handles copying of the path names (for better workflow and user experience)

    - ParameterLocationRetrieval.js has seen updates which allow the added in path-keys to be copyable, which is done for a better user experience

    - SearchBarUtility.js has seen the addition of a button which clears the input of the bar, this has been accommodated for and is supposed to provide a better user experience

    - Just moved DownloadParametersUtility.js, FavourButtonUtility.js, ScrollUpButtonDisplay.js, FavouritesHandlingUtility.js, ParameterBranchDisplay.js, ParameterDisplay.js, SAListSplitScreen.js, SiteAccessComparisonUtility.js, SiteAccessDifferencesHighlighter.js, SynchronousScrollerUtility.js and Utility.js

    Views (Twig):

    - param_view.html.twig, param_view_siteaccess.html.twig, param_view_siteaccess_compare.html.twig have all seen the inclusion of the last update time and an update of the javascript-file paths

    - param_view_favourites.html.twig has only seen path updates

    - _recursive_param_resolver.html.twig has seen some titles being added to some of the elements for better clarity on their purpose

    - pagelayout.html.twig had the path updates and the addition of the clear input label for the search bar
  • 505a6560ca4ed204b5caae2fdce8fb7542e18152 on 25/11/2020 12:41 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Favourite-Feature Update:

    - ConfigProcessController.php has seen major improvements:

    1. The Site-Access-Routes have been consolidated and are now bundled into just one function, this removes a lot of unnecessary code within the controller as the comparison view and the single site access are now solely handled by one and only one function.

    2. Implemented both routes and functions to accommodate for favourite parameters, this means that the favourite parameters have been added to every existing route and have also seen the addition of 2 routes which allow parameters to be saved as favourites and also the favourites to be retrieved for a dedicated view. Due to the implementation a lot of options have been added to the favourites in order to integrate the feature better.

    - LeftSideBarMenuBuilder.php has only seen the addition of one extra button, leading to the dedicated favourite parameter view, this was done in order to allow user access to the feature in the first place

    - routing.yaml has also seen consolidation of routes and the addition of favourite-parameter routes in order to improve readability and remove redundancies

    - the css files have seen some smaller improvements and additions mostly related to the favourite parameters

    JS:

    - app.js has seen the addition of procedures which allow handling of favourite parameters, this was done so that the favourite parameters would be displayed and usable on the frontend and available to the user

    - DownloadParametersUtility.js:

    1. saw the renaming of a variable in order to make it fit its actual purpose and intent more and make it more clear what the attribute actually describes

    2. Also added another branch which allows specifically the favourite parameters to be downloaded from a file to provide more utility and purpose for the favourites and provide the user with more freedom

    - FavourButtonUtility.js saw the added favourite parameters (of all views) being excluded from sending the parameter-keys to the backend, when committing the favourites, which is necessary, since we do not want the parameter values to double up and take more space in the request even though they don't serve any purpose

    - FavouritesHandlingUtility.js has been added in order to handle the parameters which stem from the favourites selected by the user and handle these parameters in a way that makes sense

    1. The favourites being added into the standard parameter views, will be marked as favourites and their counterparts from the rest of the views will be marked too

    2. In the dedicated parameter view, it is possible to select a site access in which to display the favourite parameters and the parameters are being marked as favourites

    All of this was done in order to provide the user with more visual feedback regarding the chosen favourites and also provide the parameters with more utility in order to make working with the parameters more effective

    - SAListSplitScreen.js has just seen two comments being removed due to them not being of any use anymore

    - SynchronousScrollerUtility.js has seen a css selector changed, since all utility buttons on the parameters themselves now feature the "parameter_buttons"-class which allows selecting all unwanted buttons for the duplicated nodes more effectively and dynamically

    - Utility.js has seen a small update in its node-comparison-function in order to accommodate for the favourites being present and effective clones from the real nodes

    views:

    - param_view.html.twig has seen the favourites being added to the template and the associated script file as well

    - param_view_favourites.html.twig is a dedicated view for all the favourite parameters

    - param_view_siteaccess.html.twig and param_view_siteaccess_compare.html.twig have both also seen the addition of favourite parameters and the corresponding script

    - the pagelayout.html.twig has seen some minor refactorings and the addition of a downloader-link, which makes enabling to download a file representation of the parameters easier and more consistent

    PHP:

    - ConfigProcessCoordinator.php

    1. Renamed a parameter in yaml and adapted the if-conditions in the class for them to still work

    2. Added a site-access-scouring and updating of the favourite-parameters when the parameters are being saved in the backend in order to allow site-access-dependent displays of the same parameters

    3. Fixed a bug in the getSiteAccess-function which caused groups being selected as desired site accesses to have no effect

    - ConfigProcessor.php has seen a minor update which sorts all array-keys of all parameters alphabetically now in order to make the display more consistent and easier to read

    - CustomSiteAccessParamProcessor.php

    1. Refactored existing functions a bit, which makes the organisation of the class more consistent and the functions themselves more readable

    2. Tweaked some functions to react better to empty results and given site access dependent parameters

    - ParametersToFileWriter.php changed the siteAccessOrAllParameters attribute to fit its role better and adapted its new conditions to the FileWriter, also refactored a lot of functions to increase readability

    - ProcessedParamModel.php: Fixed parameters with null values or empty arrays as values not counting as keys with parameter_values underneath, which makes it so that they now posses location_info buttons and the like in the frontend

    - ConfigProcessLocationInfoController.php: changed an array-key to make its meaning more clear and updated the function in the class accordingly

    LocationRetrievalCoordinator.php: Renamed a special array_key, to make its meaning more clear
  • 0decc8d291cc6b4e7f6b6e102edec90d349da4c8 on 20/11/2020 3:32 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Preparation for implementation of the favourite-features:

    - routing.yaml has seen new routes and reconfigurations of existing (non-used) routes in order to enable a potential future favourite-feature and also remove unnecessary code

    - bundle.css and parameter_display.css have seen new classes added and some refactoring of existing classes to accommodate for the newly added favor- and copy-buttons

    - app.js hass seen an update in which it now also sets up favor- and copy-buttons as these have been newly added

    - CopyButtonUtility.js is a newly added class which brings functionality to the copy buttons which have been added

    - FavourButtonUtility.js is a newly added class which brings functionality to the newly added favor-buttons in order to allow favourites to be set towards the backend in the frontend

    - DownloadParametersUtility.js has just seen some cleanup, where unnecessary comments have been removed

    - ParameterDisplay.js has seen an update to the clearAttributes-function which was done so that "we" can react to more than only one symbol, which does not work with the functionality, and replace them in the attributes

    - ParameterLocationRetrieval.js now adds the given site access in front of the first key it passes by when it creates the full parameter paths as this is usually a better position to add the missing site access into (with the fact that the parameters get split into pre- and post- site access in the backend)

    - ParameterLocationRetrieval.js also now employs the newly added fetch-requests by the Utility.js instead of having its own fetch request

    - The SiteAccessDifferencesHighlighter.js has seen a small adaptation to the fact that now double quotation marks are being removed in html attributes of the keys

    - Utility.js has seen a number of new additions:

    1. a method has been added which allows svg-elements to be created by the utility. This was done so that multiple classes (which relied upon this functionality) do not have to implement the functionality themselves and to create a more convenient way of adding these elements

    2. 2 custom fetch request have been added to the class in order to allow request with and without a body to be made by other classes without having to implement a fetch request themselves everytime

    - Twig templates: The templates have been adapted to now feature the new copy-to-clipboard- and favor-buttons in order to allow such functionalities to be implemented

    - the pagelayout.html.twig has received an input element which serves as a holder for the text to be copied

    - ConfigProcessCoordinator.php has seen two major updates:

    1. The coordinator now takes custom added parameters into account when retrieving site access parameters. This means that users can now add parameters on their own, which are going to be featured in the site access parameter list.

    2. The second big updates concerns the favour-functionality as now there have been methods added to both store the favourites as parameters and retrieve the favourite parameters.

    - CustomSiteAccessParamProcessor.php has received minor updates to allow its "Retrieve Custom Parameters"-Function to be used without giving it an entire container and a site access list

    - ConfigProcessLocationInfoController.php has received a small refactoring

    Most of the classes have seen a small refactoring of the code (for better readability and less redundancy).
  • fee95ee563121e709da67521e9ab5b700e794947 on 19/11/2020 1:35 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Updated Utility.php and removed the CustomParameter-Functions

    This was done because there was no need for this functionality to be separate from the main custom-parameter-functionality in the CustomSiteAccessParamProcessor.php.

    Added the removed functions from Utility.php into CustomSiteAccessParamProcessor.php

    This was done to consolidate all the functionality regarding the custom parameters into one class and bundle them here, as it makes way more sense to collect the functions that way.

    ConfigProcessCoordinator.php received a small update as the scanning for potential site access parameters can now be deactivated

    Due to the fact that the scouring of the parameters for potential site access dependencies sometimes led to parameter keys being removed even though the parameters were definitely not site access dependent (the default key is a good example of a key which is going to be used outside the site access context and is going to be removed subsequently because of it also appearing in the site accesses), the option to disable that feature has now been added.
  • 3effdfdea3f0f83ef5a2163b760317638a8d07ce on 18/11/2020 7:56 am by JAC - Frederic Bauer <frederic.bauer@jac-systeme.de> [GitHub Diff]
    Message: Added the ability to include any custom parameter subtree the user wants in the site access view

    For that reason there have been changes to the ConfigProcessController.php, which has basically only seen the consequences of the renaming of the ControllerUtility.php to Utility.php (because the class is now also used by the ConfigProcessCoordinator.php).

    With the TwigConfigDisplayService.php it is the same and it has also only seen the renaming of a function taking place.

    Renamed ControllerUtility.php to Utility.php

    This was done because the ConfigProcessCoordinator.php now also employes the Utility and its functions.

    Scrapped unnecessary function in the ConfigProcessCoordinator.php

    This function was useless, since the exact same thing plus a lot more was being done by another function in the same class, so this was removed.

    Also added the custom parameter handling in addition to the existing site access parameters

    As requested and stated before, this was done to allow users to add additional subtrees to the site access list and view and it therefore employs a separate class which handles all that in conjunction with the Utility.php.

    CustomSiteAccessParamProcessor.php was added

    It does what it says and scans the given parameters for such which might be site access dependent and returns the processed parameter trees in order for them to be given to the frontend.

    Small Refactorings for the ProcessedParamModel.php and SiteAccessParamProcessor.php to make the code in there more precise and more visible.