How to MANUALLY install Redmine 3.x on Windows Server 2008 R2

redmine_logo_v1  Redmine is a free and open source, web-based project management and issue tracking tool. It allows users to manage multiple projects and associated subprojects. It features per project wikis and forums, time tracking, and flexible role based access control. It includes a calendar and Gantt charts to aid visual representation of projects and their deadlines. Redmine integrates with various version control systems and includes a repository browser and diff viewer. The design of Redmine is significantly influenced by Trac, a software package with some similar features. Redmine is written using the Ruby on Rails framework. It is cross-platform and cross-database and supports at least 34 languages.

There are issues with installing Redmine on Windows due to some gems. The key to a successful outcome is to match the versions. Obviously with time this situation will change…

This ‘should’ take < 30 minutes.

You can always use the Web Platform Installer process. Google/Bing/etc. will help you find it.

You WILL experience a Json gem error around step 4.3 – just keep following the directions.

IGNORE “DL is deprecated, please use Fiddle”

Assumptions

  • You have IIS up and running
  • You already have an instance in place of SQL, MAriaDB, POST/My etc
  • Rmagick is NOT being/already installed.

Download the following:

  • Ruby 2.0.0 x32 – http://rubyinstaller.org/downloads/
  • Ruby Dev Kit for use with 2.0 x32 – http://rubyinstaller.org/downloads/
  • Redmine 3.0.4 – http://www.redmine.org/projects/redmine/wiki/Download

‘THE’ Process

  1. Install Ruby. Just double click, agree, and accept the defaults.
  2. Create the IIS site that will host Redmine.
  3. Extract the Redmine file into the above IIS site folder. Let us assume it shall be C:\inetpub\wwwroot\redmine\
  4. Open a Ruby Command prompt as Administrator. Capture1
    1. CD into the folder C:\inetpub\wwwroot\redmine\ and run
    2. gem install bundler
    3. bundle install –without development test rmagick
  5. Install the Dev Kit
    1. Double click and extract to a folder that makes sense. E.g. C:\RubyDevKit
    2. CD into that folder and run:
      • ruby dk.rb init
      • ruby dk.rb install
      • gem install json -v ‘1.8.3’
  6. Go back to C:\inetpub\wwwroot\redmine\ and run
    • bundle install –without development test rmagick
    • bundle exec rake generate_secret_token
    • rake db:migrate – IF you get a SQL error here you probably have the wrong PW in your C:\inetpub\wwwroot\redmine\config\database.yml file OR your user is different.
    • set RAILS_ENV=production
    • set REDMINE_LANG=en
    • bundle exec rake redmine:load_default_data
  7. In theory you should now have a functional instance of Redmine BUT you are not yet done. Run the following to test
    • bundle exec rails server webrick -e production
    • OPEN a browser on the server and check http://localhost:3000
    • If you see what looks like Redmine CTRL+C and continue.
    • NOTE: You CAN run Redmine like this but it is not really stable enough for ‘real’ production use.
  8. IIS needs to be set up to run Ruby & Redmine. This detail will be added at a later date when I have time.

 

This seems useful / complimentary: http://jonathanmatthey.com/project/opensource/2012/11/01/redmine-sprint-reports.html

IIS Media Services 4.0 Beta is now available

There’s a new download available for IIS Media Services. Though still in Beta, real Beta not “Google Beta”, some new key features are:
  • One Encoding Format, One Server, Many Devices – including iPhone
  • Easy Content Conversio
  • Content Creation
  • Rich Player Options
  • New Live Smooth Streaming Features
If you are not already familiar with it, IIS Media Services is an integrated HTTP-based media delivery platform, that delivers true HD (720p+) live and on-demand streaming, DVR functionality, and real-time analytics support to computers, TVs, and mobile devices. By offering a complete multi-format media delivery platform and a proven Web server, highly immersive websites can now be managed from a single Web platform: IIS.

Download links

Silverlight: Getting Started

Silverlight is not the easiest thing to get good at. In fact even if you are a seasoned .NET developer I would still call it a non trivial venture. Over at http://jesseliberty.com/2010/06/03/getting-started-with-silverlight-a-path-through-the-learning-material/ there’s a good short list on what to do if you want / or have to get into Silverlight development. Essentially he, Jesse Liberty, says:

“1. Go to the GetStarted page and download the components you need

2. Work your way through #1-5 in the “Start Learning Silverlight” section on that same page

3. Take a look at my Key Topic on Starting Silverlight (see the sidebar on the right)

4. Take a look at the Silverlight How-Do-I videos, picking subjects that seem interesting to you.

5. Join the forums, especially the Getting Started forum. They are the very best place to get fast answers. See my Note On Posting Questions On Forums.

Free SEO Toolkit From Microsoft

Search Engine Optimization (SEO) Toolkit is a free tool from Microsoft forimproving a website’s relevance in search results.

Features:

  • full-featured crawler engine
  • query builder interface that allows you to build custom reports
  • display of detailed information for each UR
  • ability to manage robots.txt file
  • ability to manage sitemap.xml file
  • It requires an IIS7 enabled computer to run which is basically Vista, Windows 7 or Server 2008. After that it can analyze any local or remote website.

SEO Toolkit can be installed easily using the Microsoft Web Platform.

The value of distributed computing: The return of Markov chain Monte Carlo methods

A while back I wrote something on doing Monte Carlo simulations with Web Services and SharePoint. Halfway through I mentioned that Google Pagerank was defined by a Markov chain which in turn was an output of a process called Markov chain Monte Carlo methods. Not that it concerned me but only one person mentioned this, and at that it was a vague mentioning. Huh…

This actually is a big deal. In fact a very big deal. A multi billion dollar deal in fact, as in the case of Google PageRank. Distributed computing has the power to help us solve many things if applied correctly. The “cloud” does not. (A topic for later.) Probably the greatest hurdle in getting people back on track is that this technology has use beyond the scope of most peoples daily lives. For example…

A paper was published in PLoS last week, September 4th 2009, called “Can an Eigenvector Measure Species’ Importance for Coextinctions?” In it the authors state that “PageRank” can be applied to the study of food webs. Food webs are the complex networks of who eats whom in an ecosystem.Typically we’re at the top, unless Hollywood or very bad planning is involved. Essentially, the scientists are saying that their particular version of PageRank could be a simple way of working out which extinctions would lead to ecosystem collapse. A relatively handy thing to have these days… As every species is embedded in a complex network of relationships with others, even a single extinction can rapidly cascade into the loss of seemingly unrelated species. Investigating when this might happen using more conventional methods is complicated as even in simple ecosystems, the number of combinations exceeds the number of atoms in the universe… E.g. a typical lottery which has 8 numbers that can range between 1 and 50 has 39,062,500,000,000 different combinations…

The researchers had to tweak PageRank to it to adapt it for their ecology focused purposes.

“First of all we had to reverse the definition of the algorithm.” “In PageRank, a web page is important if important pages point to it. In our approach a species is important if it points to important species.”

They also tested against algorithms that were already in use in computational biology to find a solution to the same problem. PageRank, in its adjusted form, gave them exactly the same solution as these much more complicated algorithms.

With the right design SharePoint can be an extremely useful, and totally appropriate, interface for accessing and disseminating the inputs and outputs of such an effort. It can store and present this data with all of the requisite benefits one would expect from a collaborative platform. Certainly there’s a world of work involved in doing something like this but the key point is that the right tool for the right job mantra works here. “All” you need is:

  • IIS
  • .NET
  • SharePoint
  • PowerShell
  • Visual Studio
  • SQL
  • Skill

IIS7 FastCGITimeouts

I recently had a problem with FastCGI timeouts and IIS7. After a bit of poking around I fixed the problem by running:

%windir%system32inetsrvappcmd set config -section:system.webServer/fastCgi /[fullPath=’c:{php_folder}php-cgi.exe’].ActivityTimeout:XXXX

where XXXX was the new timeout value in seconds.

“Time out” for Session Timeouts

On occasion there is a need to persist a session for the duration that a page is in the browser without concern for security. Doing this with .NET / SharePoint is actually pretty easy.

Option A
You can hack your way to a solution, which works just fine, by doing the following.

  1. Add an iFrame / iFrame webpart and link to a custom page.
  2. In the code behind for the linked custom page put:

private void Page_Load(object sender, System.EventArgs e)
{
Response.AddHeader(“Refresh”, Convert.ToString((Session.Timeout*60)-10));
}

What will this do? Basically seconds before the session is due to expire it will post back to the server. Simples if naught crude? Perhaps. Effective. Definitely.

Option B
Or you could add something like this to your master page.

< asp:Timer ID=”tmCheckStatus” Interval=”1800000″ runat=”server”>

< /asp: Timer>

With a code behind resembling:

    Protected Sub tmCheckStatus_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmCheckStatus.Tick
If b2bGlobal.isUserOnline = False Then
'This is if you use forms authentication
'but I'd say it works equally fine for 'normal' sessions
'Or you can fire a popup or redirect to a page asking the users
'if they want to stay online
FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()
End If
End Sub

Option B example is from here. Needless to say tweaking is required…

Microsoft Windows Azure July 2009 CTP new features

This download extends Visual Studio to enable the creation, building, debugging, running and packaging of scalable Web applications and services on Windows Azure. A hot topic to say the least.

In case you are not sure what it is: “Windows Azure is the cloud operating system that serves as the development, run-time, and control environment for the Azure Services Platform.”

And you can get the whole marketing blurb here: http://www.microsoft.com/azure/default.mspx

If you are just getting started with the CTP go here Working with Multiple Web and Worker Roles and here Associating an ASP.NET Web Application (including MVC) as a Web Role.

Download it from here: Windows Azure Tools for Microsoft Visual Studio July 2009 CTP

Copy of text from the link page below
=====================================================

Overview


Windows Azure Tools for Microsoft Visual Studio extend Visual Studio 2008 and Visual Studio 2010 Beta 1 to enable the creation, building, debugging, running and packaging of scalable web applications and services on Windows Azure.

Please note that this is a CTP release and should not be used on production systems. Please see the EULA for more details.

New for the July 2009 CTP:

  • Support for developing and deploying services containing multiple web and worker roles. A service may contain zero or more web roles and zero or more worker roles with a minimum of one role of either type.
  • New project creation dialog that supports creating Cloud Services with multiple web and worker roles.
  • Ability to associate any ASP.NET Web Application project in a Cloud Service solution as a Web Role
  • Support for building Cloud Services from TFS Build
  • Enhanced robustness and stability

Windows Azure Tools for Microsoft Visual Studio includes:

  • C# and VB Project Templates for creating a Cloud Service solution
  • Tools to change the Service Role configuration
  • Integrated local development via the Development Fabric and Development Storage services
  • Debugging Cloud Service Roles running in the Development Fabric
  • Building and packaging of Cloud Service Packages
  • Browsing to the Azure Services Developer Portal
  • SSL Certificate selection

System Requirements

  • Supported Operating Systems: Windows 7; Windows Server 2008; Windows Vista

PHP and IIS7: Easier than ever

The FASTEST and EASIEST way to install PHP on IIS is using Microsoft’s Web Platform installer. It completely automates setting up IIS, FastCGI and the latest version of PHP from the php.net site. To install it, just click this button:
If you don’t have Web PI v2 installed, you will be prompted to install it. Once installed, the tool will launch. You can either navigate to the “Web Platform” tab and select “PHP” under “Framework and Runtimes” customize link, or close your browser, re-open to this blog and click the button again to launch the tool directly into PHP install.

Don’t forget to test it out with