[4.0] Show changelog - GSoC Expand Extensions Manager#17536
[4.0] Show changelog - GSoC Expand Extensions Manager#17536NunoLopesPT wants to merge 47 commits intojoomla:4.0-devfrom
Conversation
|
I have started to bring this PR inline with the 4.0-dev codebase and work out the issues and improve the featureset. I am sure @Quy will help me with codestyle :) Now I also need help with styling the modal containing the updates. Have a look at this: This contains all the possible sections that are available. @ciar4n is this something you can help me with? As for the This PR is not ready yet but I would appreciate feedback already so we can get this into a ready state. |
| COM_INSTALLER_CHANGELOG="Changelog" | ||
| COM_INSTALLER_CHANGELOG_SECURITY="Security Fixes" | ||
| COM_INSTALLER_CHANGELOG_FIX="Bug Fixes" | ||
| COM_INSTALLER_CHANGELOG_LANGUAGE="Changelog" |
There was a problem hiding this comment.
why is this _LANGUAGE ?? or is it the "Changelog" that is wrong?
There was a problem hiding this comment.
It is actually "Changelog" that is wrong. This needs to be "Language" as it is about language file changes listed in the changelog.
| catch (\RuntimeException $e) | ||
| { | ||
| \JLog::add(\JText::sprintf('JLIB_INSTALLER_ERROR_MOD_UNINSTALL_EXCEPTION', $e->getMessage()), \JLog::WARNING, 'jerror'); | ||
| \JLog::add(Text::sprintf('JLIB_INSTALLER_ERROR_MOD_UNINSTALL_EXCEPTION', $e->getMessage()), \JLog::WARNING, 'jerror'); |
There was a problem hiding this comment.
please namespacce JLog
+use Joomla\CMS\Log\Log;
| </td> | ||
| </tr> | ||
| <tr> | ||
| <td colspan="9"> |
| COM_INSTALLER="Installer" | ||
| COM_INSTALLER_AUTHOR_INFORMATION="Author Information" | ||
| COM_INSTALLER_CACHETIMEOUT_LABEL="Updates Caching (in hours)" | ||
| COM_INSTALLER_CHANGELOG="Changelog" |
| { | ||
| return true; | ||
| } | ||
| else |
There was a problem hiding this comment.
No need to be in else statement.
| <?php echo $item->type_translated; ?> | ||
| </td> | ||
| <td class="d-none d-md-table-cell text-center"> | ||
| <?php if ($item->version != ''): ?> |
| </td> | ||
| <td class="d-none d-md-table-cell text-center"> | ||
| <?php if ($item->version != ''): ?> | ||
| <?php if ($item->changelogurl != null): ?> |
| <span class="badge badge-success"><?php echo $item->version; ?></span> | ||
| </td> | ||
| <td class="d-none d-md-table-cell text-center"> | ||
| <?php if ($item->changelogurl != null):?> |
| '<iframe src="' . $item->changelogurl . '"></iframe>'); | ||
| ?> | ||
|
|
||
| <?php else:?> |
|
|
||
| <?php else:?> | ||
| <span> | ||
| <?php echo Text::_('COM_INSTALLER_TYPE_NONAPPLICABLE')?> |
|
I don't think you need the Additionally I think we only need |
|
@wilsonge The reason the
As an extension developer I use all of them to clearly identify where the entry belongs to. Each has their own merit to me at least. I don't see any harm in offering them, extension developers don't have to use them of course. They are there for those who want to use more distinction. |
|
Agree with roland - hardly changelog without listing any changes ;) |
|
Closing this as I can't push to the repo anymore. Continuing in #24026 |

Introduction
At this time, users have to look for external sources of information about changes in an extension, when they are going to update their extensions. In most cases, users install an extension without checking the changelog due to the difficulty to find the associated changelog. With this new feature, users can review the changelog of the extensions when they are about to install an update (granted that the changelog is provided by the extension's developer), and after the extension is installed.
Summary of Changes
Added a new parameter on the xml updateserver files 'changelogurl' and adding it to #__updates table.
Testing Instructions
I made some changes in the core databases so before testing you should fix your database:
Extensions -> Database -> Fix
Extensions -> Updates -> Find Updates
Update View
Install my component: https://github.com/NunoLopes96/component_joomla
By default you will have always an update from 0.0.2 to 4.0.0 just for testing
If the changelog is not available it will show N/A like in the Folder column
It will open a modal with an iframe of the changelogurl in the body.
The title of the modal is version ' - ' component_name
Manage View
The changelogurl is supported for Components, Libraries, Modules, Plugins and Packages, you just need to add tags in your instalation xml with a valid url inside.
To test this you can use these modified packages:
(To test Package, Component, Module, Plugin)

pkg_weblinks_3.4.1-changelog.zip
(To test Libraries)

lib_fof30-3.1.0-changelog.zip
(To test languages)
The language installer its diferent from the others so you may want to test 2 cases:
1-Install without having it already in your extensions
2-Install without changelogurl and then install again with a changelogurl
This happens because it has 1 function to install and another one to update ( they are similar )
admin_pt-PT.zip
Extension name: Português (pt-PT)
(To test templates)
et_kidtoy_joomla_template_install_package_free.zip
Extension name: etkidtoy
(To test Files)
cli2zoombie.zip
Extension name: Zoombie - CLI Application
Expected result
In Updates View you will have a new column that will show a changelog button to open a modal if there is a changelogurl in the #__updates table.
In Manage View you will have an tag in the version with a info icon on the right side if your extension has a changelogurl in the #__extensions table.
Documentation Changes Required
Add changelogurl parameter on updatesite information and in extension