The Gadget Dashboard bundled plugin is not available. Please contact an administrator to ensure the Gadget Dashboard plugin is enabled!

ERROR

The Gadget Dashboard bundled plugin is not available. Please contact an administrator to ensure the Gadget Dashboard plugin is enabled! Perhaps you need to log in to see the page.

If you think this message is wrong, please consult your administrators about getting the necessary permissions.

I login to JIRA and this is the exception I see instead of the dashboard. It means the Gadget Dashboard plugin is not available. However I can see rest of the pages i.e. administration and issues.

After looking into JIRA knowledgebase I found,

Cause

The Gadget Dashboard is a bundled plugin of JIRA and must keep up always enabled. The condition in which this won’t occurs is when there is some data corruption under its respective folder ($JIRA_HOME/plugins/.osgi-plugins) as well as when a third-party plugin is disturbing the instance operation (not so usual).

Resolution

Delete the directory $JIRA_HOME/plugins/.osgi-plugins and start JIRA up in order to it re-extract the plugins.

For me this resolution worked fine and I was back in the game :)

Enumerating a StringBuilder object

While trying to list all the string values within a stringbuilder object, I got an exception saying -

foreach statement cannot operate on variables of type ‘System.Text.StringBuilder’ because ‘System.Text.StringBuilder’ does not contain a public definition for ‘GetEnumerator’

But finally thought of a workaround. Using an array of string object. For example,


StringBuilder sColumns = new StringBuilder();
foreach (DataColumn col in dt.Columns)
{
sColumns.Append(col.ColumnName);
sColumns.Append(",");
}


string[] nameIDs = sColumns.ToString().Split(',');
foreach (string nameID in nameIDs)
{
Debug.WriteLine(nameID);
}

Configuring Office365 smtp on ASP.NET 1.1 web applications

If you are still having that frustrating exception “The transport failed to connect to the server” while trying to use an Office365 smtp server settings with ASP.NET 1.1 websites or web applications, then here is the quick fix.

SmtpMail.SmtpServer = pod0000.outlook.com; //your smtp server
webMail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusing”,”2″);
webMail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”, “1″);
webMail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusername”, myusername@email.com);
webMail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendpassword”, mypassword);
webMail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpserverport”, 25); //the confusing part is here
webMail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpusessl”,”true”);

We know that Office365 uses SSL and the port should be 587 (or 465 in some cases) but unfortunately for some reason 587 port does not work in ASP.NET 1.1 when using CDONTS. So just plain luck, tried port 25 and the emails went through. This scenario only applies to ASP.NET 1.1 whereas ASP.NET 2.0 or later work fine with 587 port.

NetTiers generates methods for custom stored procedures that require nullable parameters

When generating methods for custom stored procedures using NetTiers all the paramters of Int, Decimal, etc get defined as Int32?, Decimal? as nullable parameters.

NetTiers says,

The problem is that a param of a stored procedure is always nullable.  You can’t have it not accept a null, you can however, have it use a default value.  So CodeSmith’s AllowDbNull property on the object is always true.
CSPUseDefaultValForNonNullableTypes, set that to true, and it will attempt to use see if the DefaultValue is not = NULL, then it will not make it a regular value type.  This of course only works for value types.

So the fix was to edit the template and
in section #07. CRUD – Advanced
change the value for CSPUseDefaultValForNonNullableTypes to True.

JIRA and Agile Task Types

Often wondered what is the difference between Themes, Epics, Stories, and Tasks?

In JIRA with GreenHopper we can use the Scrum template that gives us the ability to add such task types. But how would we know what hierarchy to follow.

A simple explanation I found at Agile 101 (http://agile101.net/2009/08/10/the-difference-between-agile-themes-epics-and-user-stories/) made it clearer.

A Theme is a top-level objective that may span projects and products. At its most granular form, a Theme may be an Epic.

An Epic is a group of related User Stories.

A User story is an Independent, Negotiable, Valuable, Estimate-able, Small, Testable requirement (“INVEST Acronym”). They are easy to understand, discuss and prioritize – and more commonly used at Sprint-level. User Stories will often be broken down into Tasks during the Sprint Planning Process – that is unless the stories are small enough to consume on their own.

In JIRA you don’t have THEMES, so the hierarchy would be like

EPIC > STORY > SUB-TASK OR TECHNICAL TASK

 

Cannot start multiple virtual machines in Hyper-V

Whenever I tried to start multiple virtual machines on my Windows Server 2008 R2 Hyper-V, I kept getting the following error

Microsoft Emulated IDE Controller (Instance ID {83F8638B-8DCA-4152-9EDA-2CA8B33039B4}): Failed to power on with Error ‘The process cannot access the file because it is being used by another process.’

Failed to open attachment ‘E:’. Error: ‘The process cannot access the file because it is being used by another process.’

 

It turned out all my virtual machines were accessing the same DVD drive. Well VMware does not have such an issue, but in any case had to do something. So got the DVD drive shared and removed it from the Virtual Machine Settings. Now all machines can access it from the primary machine share instead.

NetTiers ‘layerExceptionPolicy’ is inaccessible due to its protection level

I kept getting this exception while trying to build the generated classes from NetTiers.

To solve this mystery, here is my 20 cents :)

Open nettiers-2.3.1 (the version I am using) template in CodeSmith Generator Studio and browse to Components>ComponentDataAccess.cst file. You could even open this file in notepad.

In the region Fields you will see the following code,

  private static SecurityContext<<%= className %>> securityContext = new SecurityContext<<%= className %>>();
  private static readonly string layerExceptionPolicy = “<%= ComponentPattern %>ExceptionPolicy”;
  private static readonly bool noTranByDefault = false;

Change the highlighted code to the following

  protected static readonly string layerExceptionPolicy = “<%= ComponentPattern %>ExceptionPolicy”;

 

Hyper-V virtual machines do not automatically start on Windows Server 2008 R2 after Reboot

A very annoying issue. However, I was able to find a solution to this.

This problem is related with FSDepends.sys which is probably set to Manual in the Registry. The workaround is to have this driver set to Boot by following the directions below. Only users having expertise in using registry editor should do this.

Make sure that you back up the registry before you modify it. To work around the issue, do the following:

1) Start Regedit.exe.
2) Navigate to the following reg key: “HKLM\SYSTEM\CurrentControlSet\Services\FsDepends”
3) Under the “FsDepends” key change REG_DWORD value “Start” from “3” to “0”
4) Reboot the machine.

For detailed information, visit http://bytesolutions.com/Support/Knowledgebase/KB_Viewer/ArticleId/23/Cannot-start-Hyper-V-virtual-machines-on-Windows-Server-2008-R2-after-Reboot.aspx

Hypervisor is not running on a HP machine

You receive the error message “virtual machine could not start because the hypervisor is not running” in Windows Server 2008 or Windows Server 2008 R2

Just trying to setup a few virtual machines on my new Windows Server 2008 R2 (x64) and I get this error. The machine is a HP Pro 3300 Microtower. After searching on Microsoft Support I found the following article,

http://support.microsoft.com/kb/2490458

which said, The Data Execution Prevention (DEP) setting is not enabled in BIOS. For HP server, it is called “No Execute Memory Protection”

So I entered into the BIOS settings,

  1. Press F10 while booting (Computer Settings)
  2. Select Security Tab and then sub menu System Security
  3. Enable ‘Virtualization Technology (VTx)’. By default I had DEP enabled.
  4. If you have another option ‘Virtuialization Technology Directed I/O(VTd)’ – enable that too.

There we go, save changes and boot up. Select the virtual machine in Hyper-V and click Start :)

Handler Mappings for ActiveReports 3.0 on IIS7

If you are still facing that 404 – File Not Found exception when trying to open an ActiveReport in a ASP.NET 2.0 integrated website in a IIS7 hosting, then try the following mappings  – tried and verified -

<system.web>
…..
…..
<httpHandlers>
      <add verb=”*” path=”*.rpx” type=”DataDynamics.ActiveReports.Web.Handlers.RpxHandler, ActiveReports.Web, Version=5.3.1436.1, Culture=neutral, PublicKeyToken=cc4967777c49a3ff” />
      <add verb=”*” path=”*.ActiveReport” type=”DataDynamics.ActiveReports.Web.Handlers.CompiledReportHandler, ActiveReports.Web, Version=5.3.1436.1, Culture=neutral, PublicKeyToken=cc4967777c49a3ff” />
      <add verb=”*” path=”*.ArCacheItem” type=”DataDynamics.ActiveReports.Web.Handlers.WebCacheAccessHandler, ActiveReports.Web, Version=5.3.1436.1, Culture=neutral, PublicKeyToken=cc4967777c49a3ff” />
</httpHandlers>
…..
…..

<system.webServer>
…..
…..
<handlers accessPolicy=”Read, Execute, Script”>
      <add name=”ActiveReports RPX Handler” path=”*.rpx” verb=”*” type=”DataDynamics.ActiveReports.Web.Handlers.RpxHandler” resourceType=”Unspecified” requireAccess=”Script” />
      <add name=”ActiveReports WebCache Handler” path=”*.ArCacheItem” verb=”*” type=”DataDynamics.ActiveReports.Web.Handlers.WebCacheAccessHandler” resourceType=”Unspecified” requireAccess=”Script” />
      <add name=”ActiveReports Compiled Report Handler” path=”*.ActiveReport” verb=”*” type=”DataDynamics.ActiveReports.Web.Handlers.CompiledReportHandler” resourceType=”Unspecified” requireAccess=”Script” />
</handlers>

Follow

Get every new post delivered to your Inbox.