How to Upgrade Symfony from 1.2.4 to 1.2.7 - symfony1

I have a Symfony 1.2.4 application, taken and modified from the Symfony sandbox application, there was no effort made to make sure that the Symfony engine was separated from my application, so now the Symfony engine is just a folder inside my application.
What is the best way to upgrade from Symfony 1.2.4 to 1.2.7? Any ideas?

I have found the solution.
First, one has to move the Symfony framework from sandbox application, then upgrade the Symfony framework using PEAR as detailed in this post.

The easiest way:
download new sandboxed version of symfony, take data and lib fonders from that archive and out it in your project folder (overwriting existing data and lib folders). after that clean your projects cache and rebuild model (and forms and filters).
php symfony clear:cache
php symfony propel:build-all
or if using doctrine:
php symfony clear:cache
php symfony doctrine:build-all
this will always work for minor revisions ( 1.2.3 to 1.2.9 or 1.1.2 to 1.1.5). for upgrades from 1.0 to 1.1 or 1.2 or 1.3 you will have additional steps ( you have detailed instructions for that in documentation)

You should also consider using SVN and/or installing symfony in the lib/vendor folder of your project. This will make symfony project dependant which is just useful in case of multiple symfony projects on the same server.

Symfony 1.2 is a Stable version, what does it mean?
Stable : The symfony team is commited to fix bugs and security
problems for stable releases until the
end of the maintenance. In average, we
release a bug fix version a month.
These versions never contain new
features, even small ones, but only
bug fixes. So, they are always
backward compatible, easy and safe to
upgrade to.
Like Oncle Tom said, if you're working on multiple Symfony projects, it will be easier to update them if they're sharing the same Symfony library.
Checkout the Symfony lib from the SVN Repository :
daemon#dev:/home/dev/symfony$ svn co http://svn.symfony-project.com/branches/1.2
Edit your config/ProjectConfiguration.class.php :
#require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
require_once '/home/dev/symfony/1.2/lib/autoload/sfCoreAutoload.class.php'; // use the shared lib instead
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
// for compatibility / remove and enable only the plugins you want
$this->enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin'));
}
}
Then you're done. You're now using a shared and easy to update Symfony library, and you have updated your project.
To start new projects :
daemon#dev:/home/dev/sfProjects$ php
/home/dev/symfony/1.2/data/bin/symfony
generate:project Project

This is an old question, but I thought I'd add a thought. It was previously considered best practise to have a single location for symfony on a server, as one could upgrade that and magically upgrade all sites on a single server. In practise, it's not that easy. Firstly when moving sites from one server to another, one potentially has to repair symlinks or absolute paths to library folders. Also, as #deresh says, one needs to clear the cache between upgrades - which takes time on multiple projects, and may bring them down until they are all done.
So in summary, these days I embed symfony 1.x in any symfony project, rather than referencing an external location. It brings a "known good version" of symfony into version control, makes it easier to deploy, and upgrading is just a question of deleting lib/symfony and data/symfony in a development copy, and replacing them with the lib and data folders from the new tarball. These should be committed and then the project can be deployed on the server easily - svn up and `./symfony cc' if you're using Subversion on the server.
In general you don't need to rebuild your models, unless you know that the version of your ORM has changed between symfony releases.

Related

Should I exclude the Grails Wrapper from my git repository?

I've never used the Grails Wrapper before. My preferred method has been SDKMAN so far.
I understand the purpose of the wrapper and basically how to use it. However I have no idea how it works.
Now, I have a couple of questions if I were to use the wrapper
Should I exclude grails-wrapper.jar and/or grailsw from my git repository (.gitignore)?
When it comes to a minor Grails version upgrade (let's say 4.0 --> 4.1), should I manually replace any of those files?
Is there any difference with upgrading a major Grails version (let's say 4.x --> 5.x)
My questions concern to any version of Grails (3.x, 4.x, 5.x) since the wrapper reinstatement in Grails 3.2.3
I've never used the Grails Wrapper before. My preferred method has
been SDKMAN so far.
I use SdkMan too, but it serves a different purpose. Using grailsw means that as you switch back and forth between projects which use different versions of Grails, you don't have to reconfigure the environment as you switch back and forth between those projects. The grailsw is configured within the project to use the appropriate version of Grails for that project.
Should I exclude grails-wrapper.jar and/or grailsw from my git
repository (.gitignore)?
No.
When it comes to a minor Grails version upgrade (let's say 4.0 -->
4.1), should I manually replace any of those files?
I do. For many cases the files won't have changed, and when they have, including them as part of the upgrade is simple and should be done.
Is there any difference with upgrading a major Grails version (let's
say 4.x --> 5.x)
No.

Difference Between Umbraco and Vanila Umbraco

What is the difference between umbraco and vanila umbraco.
i'm currently using umbraco 6.2.1 version in my website.
Any special procedure available for upgrading this version to Vanila umbraco version.
Vanilla Umbraco means a fresh clean installation of Umbraco, without any customization.
Vanilla is a general term used for software, see also on wiki
Related to upgrading, one approach is to do a new installation of Umbraco (we can called it a vanilla installation) and then deploy your code, and migrate the content. Instead of the General Umbraco upgrade instructions.
I'd say that there is no running website with a vanilla Umbraco install. Umbraco is not a typical CMS. You are customizing it as soon as you start setting up your site in it. This is partly due to a choice on the Umbraco HQ team's decision to store their settings in the same files where you change settings by using Umbraco, requiring you to merge certain files during the upgrade.
As for upgrading, I'll warn you, there are a few ways to install Umbraco (Web PI, Nuget, Zip file), and if you upgrade in a way different than you installed, it can be hell. Step one, back up your site (front-end file-system files and db)! If you did not install Umbraco via Nuget (in Visual Studio), do not upgrade via Nuget. You will regret it.
Umbraco upgrades are a problem.
If the versions are minor running the update-package umbracocms nuget might work, but it often leaves the project mismatching version assemblies elsewhere.
Upgrading Umbraco is a bit of a minefield. Soz
Umbraco is now at version 11 and have moved their code base from the .NET framework into .NET core. Newer version is offering so much more, block-list, block-grid, inline editing, so many new and improved property editors. Editing experience and working with the CMS has changed so much since version 6.
Vanilla Umbraco would a term for a non-configured, fresh install.
You can find out everything you need to know about Umbraco on their documentation pages.
https://docs.umbraco.com/getting-started
Umbraco is a free open source project so there is no cost if you want to roll your sleeves, dig in and move over to the newest version. There are some paid offerings as well that would give support if you needed it.
Now that they have moved away from the .NET framework and moved their code base over to .NET Core there is no longer a direct path to upgrade from version 8 and earlier to the most recent version 11.
I would recommend you set up a fresh install, configure and customize as desired and then move any relevant content over to your new site.
There are many articles out there detailing how others moved over to the newer version.
Good article here on how they upgraded from version 7 to the newer version 11.
https://skrift.io/issues/how-i-upgraded-my-umbraco-v7-project-to-umbraco-v11/
Worth the read if your planning on going down that path.
Good luck.

How do you properly get/deploy ASP.NET MVC?

I'm thoroughly confused about how to properly deploy ASP.NET MVC with my application. As far as I understand, there are the following ways you can get it on a machine:
You can download a separate installer and install it on a machine that has the approprite .NET framework (although which MVC version requires which .NET framework?)
Some versions come along with .NET framework itself (though I can't find which version of MVC is shipped with which version of .NET);
Some versions are installed with Visual Studio (though again, no idea which versions are installed with which versions of VS). In this case, you can set Copy Locally to true for these references and perform a "bin deploy". You might need to add some extra references though (not sure which though).
You can also download MVC as a NuGet package, in which case it also downloads some other unrelated packages like WebPages, Infrastructure and Razor (which is my personal WTF - wasn't Razor a core part of MVC?). In this case the build process will automatically do a "bin deploy" by default (I think...)
So... WTF? What is the proper way to add MVC to your development workstation, what is the proper way to add the references to your project (NuGet? GAC?), and what is the proper way to deploy it to the target server (separate installer? .NET installer? bin deploy?)
"Proper" Development:
The "proper way" (by which I mean standard/redistributable way) would be using Nuget for your references. This means you can easily manage different versions and anybody else working on your project has a standard repository from which to pull the external requirements.
The NuGet documentation has a decent explanation of how to add references.
To install the appropriate version of MVC for developing through Visual Studio, just download and install it from the ASP.NET MVC website. This will install the necessary templates for you to create a new MVC project in Visual Studio. This will also include the necessary binaries, etc.
"Proper" Deployment:
Use bin deploy to deploy to your webserver. This means you don't need full admin priviledges to install the MVC requirements.
Phil Haack's guide will walk you through the process of bin deploying MVC3+
Keep in mind, the web server does need the appropriate .NET platform installed. You should install this via the appropriate redistributable installer if it is not already installed on the server.
Referring to the deployment i publish my asp.net app (i usually make web applications) to the file system in a directory (you can set also a server there, but i don't like it) and make an upload to the server with an FTP client of all the deployed folders. All the changes that i make to the app after (like bug correction) i deploy all the app again and upload single parts.
I hope i get your question in part, this is my first answer in SO.

upgrading asp.net mvc apps

Upgrading MVC apps done with VS 2010 has been the biggest issue for me. I have an application that I use to run various websites and I maintain and develop this application separetely then upgrade the sites based on it. A lot of things might change during development of a new version - new Views, new Controllers, stuff added into JS files, updated stylesheets etc.
I've searched around the web but nothing useful came up besides this Haack's article but no source code is available.
I also tried making a Nuget package for the entire MVC app and while this works, it doesn't package up the resource files (an issue within Nuget itself) and my apps rely on those so until this is fixed I cannot use this method.
I checked how others do it and this pretty much summarizes Umbraco's way and it's the same painful way of a dozen of steps like I do it now.
Do you have any good advice on it?
You don't specify the target OS, but I create native packages, i.e. .deb for Ubuntu servers.
However this still means you need to specify all files, manage configuration, upgrade database schemes. But if you test this on a CI server it becomes more reliable, and you can do it iteratively. This is all part of good deployment practice. I can recommend the Continuous Delivery book.

Shaml with NHibernate Contrib

Shaml looks awesome for project kick-start.
Would be great if it could be configured to also include NHibernate Search and other Contrib projects. Any plans for this?
Although the 1.x versions of NHibernate were very stable under mono, the recent version 2.0.1 and 2.1beta have many issues (like the lazy loading not working). I hope the 2.1 final will be much more stable under mono, and all the other projects (I'm mostly interested in NHibernate.Linq) will work without major problems too. Until that point I try to minimize the dependencies on external stuff and/or send patches to the maintnainers of the different projects (like DNOA). If you happen to succesfully integrate NHibernate 2.1 and/or NHibernate Search feel free to fork the github project.

Resources