Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign up[4.0] Show changelog - GSoC Expand Extensions Manager #17536
Conversation
…7_expand_extension_manager into show_changelog
…pand_extension_manager into show_changelog
…pand_extension_manager into show_changelog
…file
…pand_extension_manager into show_changelog
…pand_extension_manager into show_changelog
…_extension_manager into show_changelog
…_extension_manager into show_changelog
…7_expand_extension_manager into show_changelog
…_extension_manager into show_changelog
This comment has been minimized.
This comment has been minimized.
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" |
This comment has been minimized.
This comment has been minimized.
brianteeman
Jul 1, 2018
Contributor
why is this _LANGUAGE ?? or is it the "Changelog" that is wrong?
This comment has been minimized.
This comment has been minimized.
roland-d
Jul 2, 2018
Contributor
It is actually "Changelog" that is wrong. This needs to be "Language" as it is about language file changes listed in the changelog.
This comment has been minimized.
This comment has been minimized.
@@ -257,7 +258,7 @@ protected function finaliseUninstall(): bool | |||
} | |||
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'); |
This comment has been minimized.
This comment has been minimized.
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="9"> |
This comment has been minimized.
This comment has been minimized.
@@ -6,6 +6,14 @@ | |||
COM_INSTALLER="Installer" | |||
COM_INSTALLER_AUTHOR_INFORMATION="Author Information" | |||
COM_INSTALLER_CACHETIMEOUT_LABEL="Updates Caching (in hours)" | |||
COM_INSTALLER_CHANGELOG="Changelog" |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
$this->parent->extension->manifest_cache = json_encode($manifest_details); | ||
$this->parent->extension->name = $manifest_details['name']; | ||
$this->parent->extension->name = $manifest_details['name']; | ||
if ($this->parent->extension->store()) | ||
{ | ||
return true; | ||
} | ||
else |
This comment has been minimized.
This comment has been minimized.
<?php echo $item->type_translated; ?> | ||
</td> | ||
<td class="d-none d-md-table-cell text-center"> | ||
<?php if ($item->version != ''): ?> |
This comment has been minimized.
This comment has been minimized.
</td> | ||
<td class="d-none d-md-table-cell text-center"> | ||
<?php if ($item->version != ''): ?> | ||
<?php if ($item->changelogurl != null): ?> |
This comment has been minimized.
This comment has been minimized.
<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):?> |
This comment has been minimized.
This comment has been minimized.
'<iframe src="' . $item->changelogurl . '"></iframe>'); | ||
?> | ||
|
||
<?php else:?> |
This comment has been minimized.
This comment has been minimized.
|
||
<?php else:?> | ||
<span> | ||
<?php echo Text::_('COM_INSTALLER_TYPE_NONAPPLICABLE')?> |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I don't think you need the Additionally I think we only need |
This comment has been minimized.
This comment has been minimized.
@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. |
This comment has been minimized.
This comment has been minimized.
Agree with roland - hardly changelog without listing any changes ;) |
This comment has been minimized.
This comment has been minimized.
Closing this as I can't push to the repo anymore. Continuing in #24026 |
NunoLopesPT commentedAug 14, 2017
•
edited
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