Archive for the ‘Web Development’ Category

ASP.NET MVC 2.0 RTM Download

Friday, April 9th, 2010

When searching for ASP.NET MVC 2.0, the RC 2 version still appears higher in search engine results. Note however that the final release ASP.NET MVC 2 RTM is available. It is available from Microsoft’s site here.

Migrating or moving a magento site to a new server or domain

Tuesday, February 16th, 2010

OK, the problem…

There’s a nice shiny, fully-working Magento site and it’s running like a dream.   The only thing is it’s in the wrong place - maybe on a development server or an old server that’s fast running out of space!  You need to get that site out of there and fast!!

While looking into this I found a couple of suggested solutions - and some of them, although I’ve no reason to doubt they work were a little drawn out.  Here’s what worked for us and you’ll be glad to hear it’s the short and sweet option…

Create an sql script of the original site’s database that contains both the structure and data

Add the following code to the START of the sql script…

SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;
SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;
SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;
SET NAMES utf8;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;

Add the following to the END of the sql script…

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;
SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;
SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;
SET SQL_NOTES=@OLD_SQL_NOTES;

The sql script is most likely to be several megabytes in size so zip it up into a zip-file - this will mean you can later use a tool like phpMyAdmin to import the script without hitting the 2 meg file size limit for file uploads.

Create the new domain and an empty database

Copy ALL the site’s file over to the new domain and ‘chown’ files as required

Make the following directories writable by the web server user:
- app/etc/
- var/
- media/

and for MagentoConnect:
- /<magento-path>/
- /<magento-path>/downloader
- /<magento-path>/downloader/config.ini
- /<magento-path>/downloader/pearlib/config.ini
- /<magento-path>/downloader/pearlib/pear.ini
- /<magento-path>/downloader/pearlib/php

If the database details have changed, update them in app/etc/local.xml

Run the (zipped) sql script on the new empty database

In the database table ‘core_config_data’ change the two record fields ‘/web/unsecure/base_url’ and ‘/web/secure/base_url’ to the new domain name if it has changed

Finally, delete the files in the following directories to manually clear the cache:

- /<magento-path>/downloader/pearlib/cache/*
- /<magento-path>/downloader/pearlib/download/*
- /<magento-path>/var/cache/*
- /<magento-path>/var/session/*
- /<magento-path>/var/report/*
- /<magento-path>/var/tmp/*

Building ASP.NET web pages without Visual Studio.NET

Tuesday, January 26th, 2010

Related to the previous post, we were tasked with adding pages to an existing third-party ASP.NET web application without having access to the site’s existing code-behind files.

Although a slightly unusual situation, after a little digging around we found that it was quite easy to create the additional pages and integrate them into the website without the usual creation of a web project in Visual Studio.NET.  Instead each web page was created manually, here’s what was required:

For each web page create two files…

page.aspx.cs

Simply create a class that inherits from System.Web.UI.Page.  This will be the class that represents the web page.

namespace MyNamespace {

public partial class _Default : System.Web.UI.Page
{

}

}

page.aspx

Include the following directive at the top of the aspx page (assuming the aspx file uses a C# code behind file)

<% @ Page Language=”C#” CodeFile=”page.aspx.cs” Inherits=”MyNamespace._Default” Debug=”true” %>

Using namespaces in aspx files

Monday, January 25th, 2010

When developing ASP.NET web applications libraries are usually used by including them in the code behind files.  On a recent project, which involved maintenance of a client’s existing web application .NET libraries were required for use on the web page but there was no access to the page’s code-behind file.

There is a way to include required namespaces directly within aspx files - in the event that namespaces need to be imported within aspx files you can use the <%Import %> directive.

Example:

<%@ Import namespace=”Enter.Namespace.Here” %>

SQL Server - ExecuteNonQuery, ExecuteReader and ExecuteScalar functions

Sunday, January 24th, 2010

The difference between these functions and the data and performance considerations when executing data queries.

Microsoft Office - Unleash The Power of Macros

Friday, January 8th, 2010

As part of our event management suite of web applications the site admin panel provides download-able lists of event delegates.  This can then be used to export the data collected within the website to other systems in the office.

When we visited a client that was using the event management platform we found that although they were using the exported data, this had led to a very time-consuming, repetitive process to regularly copy updated delegate data into their office database system.

The client was copying the data into an Excel spreadsheet, and knowing about Office macros we knew it would be possible to create a macro within Excel to automate the work they were currently spending a lot of time doing manually.

By writing a Visual Basic for Applications (VBA) macro it was possible to not only save them a lot of time (and save someone in the office from a very tedious task!) but also it eliminated the possibility of human-error and any possible typos with it.  As the macro runs within a matter of seconds the client can also take more regular exports from the website and synchronise office data more reguarly.

Microsoft Office macros are versatile enough to provide a solution to many of the repetitive and time-consuming tasks that arise when dealing with data in documents, spreadsheets and databases.  If you have any processes within the office that are repeated and time-consuming contact Logicia and we can look at them and suggest a more efficient alternative.