Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityCommunity Membe...Community Membe...New Free DotNetNuke Module - DiagnostixNew Free DotNetNuke Module - Diagnostix
Previous
 
Next
New Post
1/16/2011 1:00 AM
 

Diagnostix is a DotNetNuke module that executes .Net Assemblies that may test specific features of DotNetNuke or modules that you have installed. Some of these Diagnostix Tests can also change the configuration of your site and process data in background threads (An example of this is the Axon POP3 Processing Test for Diagnostix).  

Diagnostix includes several Tests and you can also add new Tests to your site at any time. You can download new Diagnostix Tests from www.OnyakTech.com or you can build your own.

Win a FREE OnyakTech 1 Year Subscription - Submit your Diagnostix Tests to Sales@OnyakTech.com and if we include your test into the next release of Diagnostix you will be given a free one year subscription. If you are already member then we will add an additional year to your account!

History - Diagnostix was originally developed in early 2010 to help trouble-shoot and unit test OnyakTech modules. The possibility of uses for Diagnostix Tests are vast and other developers have developed powerful Tests for many types of solutions. Now that Diagnostix is now available for FREE we hope to collect some of these Tests and make them available to you for use in your own web sites. If you develop a Diagnostix Test please share it with the community by submitting it to Sales@OnyakTech.com for inclusion into the next release of Diagnostix.  Enjoy!

Sample Diagnostix Test Run

Sample Diagnostix Test: Web Site Speed 

The following is the C# Source Code for the Web Site Speed Test that is included with Diagnostix version 1.0.

// C# source code for Diagnostix
// Created by Chris Onyak, OnyakTech LLC - www.OnyakTech.com - Sales@OnyakTech.com
 
using DotNetNuke.Entities.Users;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Reflection;
using OnyakTech.Diagnostix.Utilities;
using System.Web;
using DotNetNuke.Entities.Portals;
 
namespace OnyakTech.Diagnostix.Tests
{
    public class WebSiteSpeedAnalysis : Interfaces.ITest
    {
        #region Properties
        public PortalSettings PortSettings { get; set; }
        public HttpContext CurrentWebContext { get; set; }
        public ActivityLog Log { get; set; }
        public string Author { get; set; }
        public string AuthorWebSite { get; set; }
        public string Version { get; set; }
        public string TestName { get; set; }
        public string TestRestults { get; set; }
        public string Notes { get; set; }
        public int ModuleId { get; set; }
        public int PortalId { get; set; }
        public int UserID { get; set; }
        public int TabID { get; set; }
        public bool HasNotes { get; set; }
        #endregion
 
        public void Init()
        {
            // Populate Test Properties
            this.Author = "Chris Onyak";
            this.AuthorWebSite = "http://www.OnyakTech.com";
            this.Version = Utilities.Common.GENERAL_VERSION;
            this.TestName = "Web Site Performance Analysis";
            this.HasNotes = true;
            this.Notes = "Displays metrics about the performance of your web site.";
        }
 
        public void BeforeRunTests()
        {
 
        }
 
        public bool RunTest()
        {
            bool retval = true;
            HttpWebRequest request;
            HttpWebResponse response = default(HttpWebResponse);
            try
            {
                DateTime timeStamp = DateTime.Now;
                request = (HttpWebRequest)WebRequest.Create(CurrentWebContext.Request.Url);
                response = (HttpWebResponse)request.GetResponse();
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    TimeSpan ts = DateTime.Now - timeStamp;
                    Log.Add(string.Format("Site Response Time: {0} seconds", (ts.TotalMilliseconds / 1000).ToString()), false);
 
                    // DNN Metrics                   
                    Log.Add(string.Format("Portal Name: {0}", PortSettings.PortalName), false);
                    Log.Add(string.Format("Total Registered Users: {0}", UserController.GetUserCountByPortal(PortalId).ToString()), false);
                    Log.Add(string.Format("Administrative Email: {0}", PortSettings.Email), false);
                    Log.Add(string.Format("Portal Expiration Date: {0}", PortSettings.ExpiryDate), false);
                    Log.Add(string.Format("Portal Globally Unique Identifier: {0}", PortSettings.GUID), false);
                    Log.Add(string.Format("Pages: {0}", PortSettings.Pages.ToString()), false);
                    Log.Add(string.Format("Portal Version: {0}", PortSettings.Version), false);
                }
                else
                {
                    retval = false;
                    Log.Add("Failed to Test Site", false);
                }
            }
            catch (Exception ex)
            {
                retval = false;
                Log.Add(ex.Message, true);
            }
            finally
            {
                response.Close();
            }
            return retval;
        }
 
        public void AfterRunTests()
        {
 
        }
    }
}
 
 




Professional DNN Extensions, custom solutions and mobile apps since 2003.
www.OnyakTech.com
 
New Post
1/16/2011 11:58 AM
 
Here is a direct link to download Diagnostix: https://www.onyaktech.com/Products/Do...


Professional DNN Extensions, custom solutions and mobile apps since 2003.
www.OnyakTech.com
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityCommunity Membe...Community Membe...New Free DotNetNuke Module - DiagnostixNew Free DotNetNuke Module - Diagnostix


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out