Saturday, February 20, 2010

Tuesday, May 05, 2009

Drubuntu setup

Starting to work with Ubuntu in developing Drupal sites I needed a little help getting started. I was able to get a great deal of information in setting up a LAMP server for developing multiple Drupal sites from this page.

This page gives even more information on setting up a Drubuntu (Drupal + Ubuntu) development environment. However, I had already been told of Wubi and I'm going to use Komodo Edit instead of Eclipse.

So far my Drupal stack is looking like this:


So far so good!

Adobe AIR on 64bit Ubuntu

A 64 bit version of Adobe AIR doesn't currently exist for Linux but luckily the 32 bit version will work. Details here.

Monday, May 04, 2009

Upgrading to a newer Drupal minor version

Doing some more Drupal recently I needed a way to quickly update my 6.10 Drupal sites to 6.11. The best way that I have found which seems to be safe was found on this Drupal discussion. The steps go like this:

  1. Backup your database.
  2. Go user ID 1 and Maintenance mode.
  3. Switch to Garland.
  4. Disable all custom and contributed modules.
  5. Use Grsync (or rsync) to synchronize the versions. (I'm using plain old FTP, Filezilla, because I'm crazy like that.)
  6. Run update.php.

Friday, January 09, 2009

Email Testing - Viewing HTML emails

I wanted to write a follow up to my post on email testing. I could now easily capture an email, using DevNull SMTP, but I also wanted to view the email as if I had just received it.

To do this all I needed to do was copy the plain text of the email message to a .eml file and then open the .eml file in a email client. In my case I copied the email from the DevNull SMTP email server applet and into a test.eml file. I then opened up Outlook Express and dragged the test.eml file into the client. Outlook Express was able to render plain text or HTML emails just fine, which is exactly what I was looking for.

Saturday, December 27, 2008

Send email testing

Wanting to test the send email code before uploading my latest website I dug around for ways to test a send email script that I had written in PHP.

One suggestion is to code a public SMTP server information into the send script. Some popular public SMTP servers include Gmail or your ISP SMTP. GMail requires TLY encryption so the email library better support TLY to use the GMail option. My email library didn't, I am using the Email component in CakePHP. I didn't try my ISP SMTP because I was too lazy to call up the Time Warner to get my username and password.

Another option is to run your own SMTP server and run your emails through that. One program that does this is ArGoSoft Mail Server and others exist, especially in the Linux environment. While I liked that idea better I didn't really want to send my emails. I just wanted to make sure that they were getting to the SMTP correctly. I also was a little concerned that a spammer might take advantage of my temporary smtp server while I had my firewall open.

Finally I came across some "fake" smtp servers that are designed for testing send email scripts. A few of them include fakemail, dumpster, ndumpster, but I ended up using DevNull SMTP. DevNull SMTP is a Java application that can be loaded as an applet. No installation solution, HURRAY!

Happy testing send email scripts!

Sunday, May 06, 2007

XNA, clickonce and MSBuild

The last few months I have been working with XNA off and on. To be honest, mostly working on subversion and clickonce. I don't have a lot to show right now, but that is the nice thing about clickonce is that when I do get more of the game done then it will be automaticly updated.

I am hosting the site from my home computer right now through no-ip.com, so if the site may be down if my computer is off. Secondly, the bootstrap should install all the necessary prerequisites, but if it doesn't then the links are listed below. Here is my current progress. BTW, the images are SUPER large right now, so it might take awhile to download. I am currently working on reducing the size of the images and creating a Xbox 360 version.

XNA Prerequisites for the PC

.NET Framework 2.0
Microsoft XNA Framework Refresh

For those wonder how I got Clickonce to deploy the converted textures and not the source textures, I had to use a little MSBuild hack in the .csproj file. After poking around in MSBuildBinPath and looking through the Microsoft.Common.targets file I realized that some of the Publish functionality can be overriden by overriding MSBuild targets. All I needed to do was add the files to be published in the MSBuild script. Specificly, I needed to override the _DeploymentComputeClickOnceManifestInfo target and add files from my Content directory in my build output. Here is the code to do this:



<!--Override _DeploymentComputeClickOnceManifestInfo Manifest so I can add content files that I need-->
<Target
Name="_DeploymentComputeClickOnceManifestInfo"
Condition="'$(GenerateClickOnceManifests)'=='true'"
DependsOnTargets="_DeploymentGenerateTrustInfo">

<!-- Grab just the serialization assemblies for a referenced assembly. There may also be a symbols file in ReferenceRelatedPaths -->
<CreateItem Include="@(_ReferenceSerializationAssemblyPaths)" Condition="'%(Extension)' == '.dll'">
<Output TaskParameter="Include" ItemName="_SGenDllsRelatedToCurrentDll0" />
</CreateItem>
<CreateItem Include="@(_SGenDllsRelatedToCurrentDll0->'%(FullPath)')">
<Output TaskParameter="Include" ItemName="_SGenDllsRelatedToCurrentDll" />
</CreateItem>

<!-- Flag primary dependencies-certain warnings emitted during application manifest generation apply only to them. -->
<CreateItem Include="@(ReferencePath)" AdditionalMetadata="IsPrimary=true" >
<Output TaskParameter="Include" ItemName="_DeploymentReferencePaths"/>
</CreateItem>

<!-- Create list of items for manifest generation -->
<ResolveManifestFiles
EntryPoint="@(_DeploymentManifestEntryPoint)"
ExtraFiles="$(IntermediateOutputPath)$(TargetName).pdb;$(IntermediateOutputPath)$(TargetName).xml;@(_ReferenceRelatedPaths)"
Files="@(ContentWithTargetPath);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath)"
ManagedAssemblies="@(_DeploymentReferencePaths);@(ReferenceDependencyPaths);@(_SGenDllsRelatedToCurrentDll)"
NativeAssemblies="@(NativeReferenceFile);@(_DeploymentNativePrerequisite)"
PublishFiles="@(PublishFile)"
SatelliteAssemblies="@(IntermediateSatelliteAssembliesWithTargetPath);@(ReferenceSatellitePaths)"
TargetCulture="$(TargetCulture)">

<Output TaskParameter="OutputAssemblies" ItemName="_DeploymentManifestDependencies"/>
<Output TaskParameter="OutputFiles" ItemName="_DeploymentManifestFiles"/>

</ResolveManifestFiles>

<!--here is where I add the extra content-->
<CreateItem Include="$(OutDir)Content\**\*">
<Output ItemName="ExtraFiles" TaskParameter="Include" />
</CreateItem>

<CreateItem Include="@(ExtraFiles)" AdditionalMetadata="TargetPath=Content\%(RecursiveDir)%(Filename)%(Extension);IsDataFile=false;DependencyType=Install;">
<Output ItemName="_DeploymentManifestFiles" TaskParameter="Include" />
</CreateItem>
<!--END - here is where I add the extra content-->

<CreateProperty Value="ClickOnce">
<Output TaskParameter="Value" PropertyName="_DeploymentManifestType"/>
</CreateProperty>

<!-- Obtain manifest version from ApplicationVersion and ApplicationRevision properties -->
<FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
<Output TaskParameter="OutputVersion" PropertyName="_DeploymentManifestVersion"/>
</FormatVersion>

<FormatUrl InputUrl="$(_DeploymentUrl)">
<Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedDeploymentUrl"/>
</FormatUrl>

<FormatUrl InputUrl="$(SupportUrl)">
<Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedSupportUrl"/>
</FormatUrl>

</Target>