Upgrading moodle 3.4 to 3.9 - upgrade

I am new to moodle and I need to do an upgrade. I have several questions first:
I have to upgrade from 3.4 to 3.5 and then to 3.9. Would I have to install all custom/aditional modules to 3.5 or can I do it just on 3.9.
This might be a dumb question, but I want to make sure I don't give anything for granted. In other to know which are custom/aditional modules I just have to go to the plugins view in administration and just copy the plugins that are on the section aditional plugins, right?
Thanks in advance

In general, you can get away with not installing all the custom plugins in 3.5. It is, in theory, possible that a 3rd-party plugin would choose to clean up their older upgrade steps, in the same way that core code does (which is why you can't jump direct from 3.4 to 3.9). I can't remember of any occasion where I've been caught out by a plugin doing that (and I've prepared hundreds of upgrades for different customers over the years). Note: you will see messages about plugins 'missing from disk' during the 3.5 upgrade step, but those should be fixed when you add the plugins back to the 3.9 code.
The list of additional plugins contains all of the plugins that are not part of the core Moodle code. It won't tell you about any custom changes that have been made to core Moodle files, but if you have simply been installing plugins and not messing around with core files (which is true in almost all cases), then you should be able to rely on the list.
Hopefully it goes without saying that you should always take a full database and moodledata backup before you start the upgrade, just in case there are problems (but, in my experience, they are fairly rare with normal upgrades).

Related

Nuget Package Compatibility and Upgrades

My company has internal components that we deliver via internal NuGet. Now i want to make a Version 5.X of these components which will be breaking a lot from the 4.X versions.
However now if my colleagues browse for updates, the Nuget browser would recommend these new packages.
What i would prefer: If example 4.6 is installed, it would take the highest 4.X version but not 5.0 or above. Making packages for the 5.X path under completely different names would be annoying when the developer choses to upgrade.
Is there a way to mark nuget packages to do something like that? If that's not clear, tell me and i try to clarify.
If your projects are using packages.config, you can use allowedVersions: https://learn.microsoft.com/en-us/nuget/reference/packages-config#schema
There's no way to do this if your project uses PackageReference, but you can upvote (👍) this isse: https://github.com/NuGet/Home/issues/9082

Upgrade Moodle 2.5 to Moodle 3.3

I want to upgrade a moodle website currently on version 2.5 to the latest version.
I need to clarify that is it possible to upgrade Moodle 2.5 directly to Moodle 3.3.
OR
As mentioned in the moodle upgradation document
"Note: You can only upgrade to Moodle 3.0 from Moodle 2.2 or later. If upgrading from earlier versions, you must upgrade to 2.2 as a first step."
I can only upgrade to Moodle 3.0.
Please confirm.
Thanks in advance.
In order to upgrade Moodle 2.5 to 3.3, start by backing up your site. This includes:
The Moodle files.
The Moodledata files.
The Moodle database.
Make sure you have everything and that no errors occurred while you were backing it up. If you want to be extra sure, restore it to a different location, maybe even locally on your computer and get it working there. Don't forget to adjust the settings in the config.php file as well as running the Moodle Search and Replace tool (it is not in the Moodle menus). Once you are sure that everything is working, and you still have the original unmodified backup files, you are ready to move on to the next step.
Verify your web server environment
Make sure your web server meets the hardware requirements for Moodle 3.3. Note the changes, especially in memory requirements from 2.5 to 3.3. Also make sure your server meets the software requirements for Moodle 2.7. In fact, when upgrading, it is best to verify the software requirements for every version of Moodle you will be skipping in order to find out which system components you will need to be add before proceeding.
Also, before you get started, make sure any 3rd party plugin and themes added to your site will be compatible with Moodle 2.7 and Moodle 3.3. If not, you will need to upgrade these first. If they are not available for the newer releases of Moodle, check with the maintainer of the plugin/theme to see if there might be an updated version forthcoming. If not, you will either need to fix any problems in the code yourself that may come up, switch to another similar plugin that provides similar functionality or remove the plugin completely.
Re-creating .git
The easiest way to upgrade Moodle is using Git. If Moodle was not installed using the "git clone" command, your installation will likely be missing the .git directory. You can check this by using the "git status" command. If you already have a .git folder, you can skip this section and go straight to Upgrade to Moodle 2.7. Otherwise, here is how you can re-create it:
Take note of the build date for your current Moodle installation. You'll find this on its Notification page near the bottom of the page.
Re-create your .git folder using the following commands:
# git clone a new copy of Moodle into another location
git clone git://git.moodle.org/moodle.git
# Checkout Moodle 2.5 (the version of your current site).
cd moodle
git checkout MOODLE_25_STABLE
Look through the log for a weekly release that is dated the same as your build number. The build number is a date in the following format: YYYYMMDD. Take note of the related commit number.
Next, rollback the files to the commit number of the build. Replace "56e05fced" with the actual commit number.
git reset 56e05fced
Once this is done, copy the just the .git folder into the web root of your current Moodle site.
Upgrading to Moodle 2.7
Before you get started, make sure any 3rd party plugin and themes added to your site will be compatible with Moodle 2.7. If not, you will need to upgrade these first.
git checkout MOODLE_27_STABLE
Login to your website as an administrator. You should see prompts that will guide you through the process of upgrading Moodle.
IMPORTANT: Up to this point, you could just roll back the files and everything should be back to the way it was. Once you move beyond this point, the only way to revert your website will be to delete the whole site and restore the backups you made earlier of your site's files and database.
Follow the prompts to upgrade the database. Be prepared as you may need to upgrade some of the plugins as well or make some upgrades to your web server and/or database environment.
Once you have everything running again, it will be time to upgrade to Moodle 3.3.
Upgrading to Moodle 3.3
Have you upgraded to Moodle 2.7 yet? If not, go back and complete that step first. Don't forget to make sure your web server meets the hardware requirements for Moodle 3.3.
Make sure your server meets the software requirements for Moodle 3.3 in order to successfully complete the upgrade from Moodle 2.7.
Next, upgrade Moodle from 2.7 to 3.3:
# Enable version tracking so that it is easier to upgrade Moodle in the future.
git branch --track MOODLE_33_STABLE origin/MOODLE_33_STABLE
# Upgrade Moodle to version 3.3.
git checkout MOODLE_33_STABLE
As you did before for Moodle 2.7, Login to your website as an administrator. You should see prompts that your database is about to be upgraded. If not, go to the Notifications page under Site Administration. Follow the prompts again to upgrade the database. As before, be prepared as you may need to upgrade more plugins and themes, and will likely need to make some upgrades to your web server and/or database environment.
That's it. If you followed the above instructions, your Moodle 2.5 site should now be upgraded to Moodle 3.3. To get the most out of your upgraded site, be sure to at least read the New Features page for each version of Moodle from 2.6 to 3.3.
To upgrade your site to newer bug/security release of Moodle 3.3, you will need to repeat some of the instructions. Essentially it will involve:
Backing up your site files (moodle and moodledata) and database.
Using the "git pull" command from within your Moodle folder.
Logging in as an administrator and following the upgrade prompts from the Site Administration > Notification page.
Verifying that everything on your site still work as expected.
Bug and security fixes come out every week but are only officially release every 2 months.
Hope you find this information useful.
Best regards,
Michael Milette
Per the upgrade documentation for 3.3 it says "You can only upgrade to Moodle 3.3 from Moodle 2.7 or later." https://docs.moodle.org/33/en/Upgrading
So you must first do an upgrade to v2.7 before you can do an upgrade to v3.3
Also note in the v2.7 upgrade documentation it says "You can only upgrade to Moodle 2.7 from Moodle 2.2 or later." https://docs.moodle.org/27/en/Upgrading
Personally I have found less problems when I do upgrades in smaller jumps. So in your case 2.5 to 2.7.20 is a requirement. In theory you could then go from 2.7.20 all the way to 3.3 but you may want to consider 2.7.20 > 3.0.10 then 3.0.10 > 3.3
I can say that I have actually upgraded Moodle 2.3, and Moodle 2.5 successfully to 3.x, though not 3.3 specifically.
That being said, you have to also take the following considerations:
Are you up to the minimal PHP version? (5.6.something)
Do you have the new modules required by 3.x version (3.3 added a few I think)
Are your modules ready for 3.x?
If you aren't sure of any of these, I would go grab a Vagrant/VirtualBox/Docker setup of Moodle, stage your current site (i.e. install it with the same software you have installed on your production server), and upgrade it locally to ensure everything goes as planned.
First you backed up before any moodle 2.5 upgrade.
Then download new moodle 3.3
After then unzip folder
go to xampp->htdocs->your project
paste and override new folder
Copy your old config.php file back to the new Moodle directory
Sometimes, the environment may cause issues, sometimes the Moodle versions. I have faced both. But managed to upgrade. Last time for upgrade to 3.9.2 installed the old version to local server for reference and did a clean install on the cloud. I have upgraded Moodle 2.x to 3.2 for a couple of institutions. Please feel free to contact if needed.
Few steps to consider in this
Take backup of Moodle app, Moodledata and DataBase
You have to follow the upgrade process twice
First you need to upgrade from moodle 2.5 to moodle 3.0
Now you can upgrade you new moodle 3.0 to moodle 3.3

How to Upgrade TYPO3 7.6.x to 8.x.0

What are the required steps to upgrade TYPO3 7.6.x to 8.X?. Currently My project running on TYPO3 7.6.15 and linux systems.
The only requirement that changes when you update from TYPO3 7 LTS to TYPO3 8 LTS ist the PHP version.
TYPO3 8 LTS requires at least PHP 7.0.
So first of all you need a local environment and a server with PHP 7.0 or 7.1. Then make a copy of your project (keep the original as a backup and a reference) and check all extensions. You want to know a) if you still need them and b) if they are already available for TYPO3 8LTS. If they are, you are fine, if they are not, you have to find an alternative, disable the extension (temporarily) or just wait with the update.
You then update the core and the extensions to the latest releases and go to the install tool. First you want to compare the DB structure to add new fields and tables (don't remove anything yet). After that go to the Upgrade Wizards and perform all of them that are not marked as "optional". Perform the optionals as you need them.
Now your backend should work if no extension breaks it. Your next steps are testing the functionalities that are provided by your extensions and make sure they still work. You might also want to have a look at the breaking changes of the TYPO3 core since 7 LTS to see if your system might be affected. Those can also be found in the install tool (Upgrade Analysis) and they usually have a migration documented.
You can find additional advice regarding updates of TYPO3 systems here: https://usetypo3.com/upgrading-projects.html

How to upgrade Julia to v0.5.0?

now that they release v0.5.0 the question is how can I upgrade from 0.4.6 to 0.5.0 without loosing all my packages? is there even a way. Or if there is no easy way, how have people done it? What is the best way to do it?
Other question is, is it worth it or do I need to upgrade? What are the benefits or why I should not upgrade (yet)? Is there problems with Atom and other packages?
Yes there is quest same question already, but it is for older version and I thought if something has changed on upgrading.
You can go into your .julia/v0.4 folder and copy the REQUIRE file to the v0.5 folder. Then when you Pkg.update() your packages should automatically install.
There are very many upgrades (broadcast syntax, arraypoclypse, string changes, etc.), and many packages may stop supporting v0.4 for this reason. I would recommend you start upgrading soon. Juno has already released its v0.5 version, so when you update it should be compatible.

When should I update NuGet packages for a project?

I understand that NuGet packages update process is not automatic for a good reason (a new version could break your code or cause unforeseen problems), but then it transfers the responsibility of updating all packages to the developers themselves. When exactly should we be updating NuGet packages for a given project? Are there some guidelines regarding this process?
In our current project, this is more or less arbitrary: I update packages whenever I remember to check for updates, and preferably at the start of a sprint so that, if there are problems with the newer versions, we are able to fix them or rollback to the previous versions of the offending package. Most of the time, I'm the only developer that worries about this stuff, but I feel it is valuable to always be as up to date as possible because of performance reasons and new features that can make our work easier.
Well, you should update whenever you are able to cope with it.
So you need to think carefully about the regression updating the packages could cause to your application if already in production, or the extra tests you are going to need to carry on in order to verify everything seems to be working as expected.
Normally updating to newer minor versions shouldn't cause much problems, but you always have the risk of it. Looking at the newer version release notes could prepare you to what to expect of the update.
In summary, update when you can cope with it, and you are ok with any shouting from your testers if suddenly the system regress without them even knowing it was coming :)
Few tips to decide package update strategy:
Don't run production application on a deprecated (not-maintained) package version. Upgrade to a maintained version at bare minimum if unable to upgrade to latest.
Don't run production application on a pre-release (not-stable) package version. Upgrade to a stable maintained version.
While upgrading by a major version, read publisher's release notes to understand the implication backward-compatibility from application context. This will help put a better estimate on development and testing efforts.