Silverlight 3 Launch Confirmed for July 10

•July 7, 2009 • Leave a Comment

Microsoft confirmed rumors in their MCP newsletter “MSDN Flash” last night that they are launching Silverlight 3 on July 10. The new version of the platform is going to come with a bit of fanfare with an online launch event hosted at www.seethelight.com. The event will have a keynote, in-depth sessions and a virtual exhibit hall – which should be a cool way to launch the new platform.

There are a bunch of new features in SL3 and in Expression 3. Here are a few of the highlights that we will begin implementing next week:

  • Export Illustrator and Photoshop files with native support for layers in Expression. No more recreating vector objects!
  • UI element property binding.
  • True(er) 3D.
  • Deep linking.
  • Out of browser experience – make Silverlight apps behave more like a click-once deployment app.

Arrow has a number of projects coming up over the next 6-12 weeks using Silverlight as the UI on a Sharepoint back end for decision support systems. The new features are going to hit at just the right time for our team.

Links:

Hope this helps!

Ryan Morgan
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

New ArrowDesigns.com Site Launched!

•July 2, 2009 • Leave a Comment

I’m very excited to announce our new website at www.ArrowDesigns.com. We’ve spent several months tweaking it and getting it just right and I’m really proud of what we have. Check it out and drop me a line to let me know what you think – ryan atsign arrowdesigns dot com.

Some of the highlights:

Happy Nuking,

Ryan Morgan
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

DotNetNuke Events Coming Up in Florida

•January 14, 2009 • Leave a Comment

Just a quick note to let everyone know that there are going to be dedicated tracks for DotNetNuke at the Ft. Lauderdale and Orlando Code Camps. I’ll be presenting the session I gave with Tom Kraak at the Open Force track at DevConnections on CSS Driven Layouts in DotNetNuke 5.

Saturday February 7th – Ft. Lauderdale – http://codecamp09.fladotnet.com/

Saturday, March 28th – Orlando - http://www.orlandocodecamp.com/ (looks like this site isn’t updated yet)

Will Strohl’s done a great job of herding the cats into getting their sessions together so that we have 5 published DotNetNuke authors presenting!

Looking forward to seeing a bunch of you there!

Happy Nuking,

Ryan Morgan
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

DotNetNuke Client-Side Widget: Relocation Widget

•October 20, 2008 • Leave a Comment

I just finished the draft of the skinning chapter for the new DotNeNuke 5 book from Wrox that’s coming out early next year. I go back and forth on which feature is my favorite, but today it is client side widgets. Once I begin training my staff on the changes next week, it’s probably going to be super stylesheets because that is going to make our coding more consistent.

There’s not a lot of information out yet about client-side widgets, so if you haven’t seen Nik Kalyani give a presentation on it yet here’s a quick overview. A client-side widget is a mini application that is run in JavaScript and adds web 2.0-style interactivity and DOM manipulation to DotNetNuke skins. It uses the same HTML object syntax as skinobjects with the codetype set to dotnetnuke/client. If you haven’t read about the new skinobject (token) format, check out my last post here: http://dotnetnukeconsulting.wordpress.com/2008/10/11/new-token-format-for-dnn-5/

The following example adds a client-side widget to a DotNetNuke skin:

<object id=”RelocationWidget” codetype=”dotnetnuke/client” codebase=”RelocationWidget” declare=”declare”>
<param name=”sourceId” value=”dvMainContent” />
<param name=”targetId” value=”ContentPaneHolder” />
</object>
Like the skinobject parameter, client-side widgets use the HTML object syntax to add the functionality to a page. Unlike the server-side Skinobject, this HTML makes it to the client and JavaScript renders the functionaity here. I’ll get more into the “why” and “how” widgets work in future posts, this is more to whet the appetite and demonstrate the utility and purpose of a client-side widget.

The relocation widget is my favorite widget (so far) becaue it is functionality built with SEO in mind and I’m always excited to see new SEO functionality in DNN.

Let’s say you have a DotNetNuke skin with the typical kinds of things on it. Banners, links,  a navigation menu, logos, secondary navigation etc. Tom at SeaBlick will tell you that if you want search engines to know what your most relevant content is, you should put it first. This is where the relocation widget comes in handy.

By using the Relocation Widget, you can use JavaScript to move content when the page is loaded in the browser by the browser. So, your main content section that has your H1’s, H2’s and the content that you’re trying to get indexed can be wrapped in a div that is absolutely first in your markup and then you can inject it into the appropriate layout element for users.

Example HTML:

<div id=”dvMainContent”>

<h1>Main Topic</h1>

<p>exciting information that will be indexed as the main topic for this page</p>

</div>

<div id=”MainLayout”>

<div id=”banners”>

Less important information like banners, links, and all of the HTML for the menu.

<div/>

<div id=”ContentPaneHolder”>

</div>

</div>

By using the Relocation Widget, the div with id dvMainContent will be injected into the div with id ContentPaneHolder with JavaScript on the browser after the page is loaded in the browser.

Happy Nuking,

Ryan Morgan
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

New Token Format for DNN 5

•October 11, 2008 • 1 Comment

Skinning in DotNetNuke 5 has really gotten a nice revamp. The skin package parser is easier than it’s ever been. Skins are treated as packages now so they can actually be uninstalled. Even the default skin that comes with DNN has changed (as of 4.9) to be an almost pure CSS layout.

Since I’ve been working on the DNN 5 book from Wrox, I’ve spent some time digging into the new features around skinning. Purists will be happy to know that the skinning chapter examples will teach skinning without using a single table. I will be posting over the next few weeks on XHTML and pure CSS layout as this will be covered in the book in the skinning chapter. I’ll also preview the DotNetNuke Skin Widget framework in later posts.

Today’s post (as you’ll see by the title) is about the new token format for DotNetNuke 5. The token format is still supported for legacy skins, but now HTML skinners can use the object HTML element to create tokens and include all of the parameters within the skin instead of using an external XML file.

As a consultant, I’ve helped a handful of design and web development teams establish their procedures and base template files for skinning. During the training, using the XML file to supply parameters for tokens would generally be the point where I would lose HTML developers and designers. Web developers would usually take that as their cue to work in the ASCX files without bothering with an external file to manage how the tokens in their skin should behave.

The old token format would work like the following example:

Token in the skin:

[BREADCRUMB]

Token information in a separate file named Skin.xml:

<Object>
<Token>[BREADCRUMB]</Token>
<Settings>
<Setting>
<Name>Separator</Name>
<Value><![CDATA[&nbsp;&raquo;&nbsp;]]></Value>
</Setting>
<Setting>
<Name>RootLevel</Name>
<Value>0</Value>
</Setting>
</Settings>
</Object>

The new format for using tokens in HTML skins for DotNetNuke 5 is based upon the HTML Object element. The same breadcrumb skinobject listed above can be done without an external skin.xml by embedding all params directly within the skin. Consider the following example:

New Object Skinobject Format

<object id="dnnBreadCrumb" codetype="dotnetnuke/server" codebase="BREADCRUMB" >
<param name="Separator" value="&nbsp;|&nbsp;" />
<param name="RootLevel" value="0" />
</object>

As you can see, the new format moves all of the control to within the skin making the HTML developer’s job much easier.

Happy Nuking,

Ryan Morgan
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

Check out Microsoft Surface on the Today Show

•September 22, 2008 • 1 Comment

So, this is a bit off-topic but very cool. I got pretty excited this morning when I saw NBC using Microsoft Surface as a presentation tool. If you watch for a few minutes, you’ll see Chuck Dodd showing off the features of the new tool set to release this year. When you see it, try to not think of Tom Cruise in the Minority Report.

Check out the video below:
Click here to launch the video

The Microsoft Surface Website

ASPDotNetStoreFront in DotNetNuke 4.8.4 Workaround for SSL

•September 13, 2008 • 2 Comments

So, I did 90% of my integration work for the site I’m releasing on DNN before I read the sticky note that says DON’T USE DNN 4.8.4. He he – too late.

I seem to have everything working, but since getting around the SSL redirect problem actually required me to open the source code for DNN, I though I’d post the answer here for everyone.

1. Go to Host>SQL and run this script

 

DECLARE @IsSecure bit
–This controls whether your admin page should be SSL secured or not.
–1 = secure, 0 = not secure
Set @IsSecure = 1

DECLARE @ASPDNSFTabName nvarchar(100)
–if you’ve changed the name of your admin tab
–manually, update this line to reflect thatASDNSF Store Admin
SET @ASPDNSFTabName = ‘AspDotNetStorefront Admin’

–Check to make sure this will only be run once
IF (
SELECT COUNT(*) FROM dbo.Tabs
where tabname = @ASPDNSFTabName
and url like ‘%tabid=’ + cast(tabid as nvarchar(5))

) = 0
BEGIN
UPDATE dbo.tabs
SET URL= url + ‘?tabid=’ + cast(tabid as nvarchar(5))
,ISSECURE = @IsSecure
where tabname = @ASPDNSFTabName
END

Check the Execute SQL Box

Check the Execute SQL Box

2. Go to Host>Settings, drill into the performance section and clear the cache.

Notes:

1. If you’ve manually updated your Admin Tab Name, you’ll need to update the parameter at the top.
2. If you do not want your store admin page to be secure, update the issecure parameter to be 0.

Happy Nuking,

Happy Nuking,

Ryan Morgan 
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

I’m Co-Authoring Professional DotNetNuke 5

•September 8, 2008 • 1 Comment

I got the contract via FedEx today so it’s official – I’ll be working on the Professional DotNetNuke 5 book from Wrox with Stan Schultes, Brian Scarbeau, Darrel Hardy and Shaun Walker.

I got my hands on the DNN 5 beta and really dug in this weekend and I’m enjoying it so far. I’m really excited that the admin is now treated like any other menu in DNN – to test it I immediately deleted the Solutions page without having to open SQL Enterprise Manager :-)

Over the coming weeks I’ll be digging into the new packaging engine and skinning engine so be on the look out for new content on my http://dotnetnukeconsulting.wordpress.com blog about the “Cambrian” release of DNN.

Happy Nuking,

Ryan Morgan
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

Manually Managing the Friendly URL’s in Your DotNetNuke Menu

•August 30, 2008 • Leave a Comment

On our DotNetNuke Consulting site, we have a page up for a training class that we provided for DotNetNuke a couple of years ago. Since the page has been around for a couple of years and we’ve got a couple of links to it, it’s indexed by Google pretty well. The only problem was that the URL that DNN’s friendly URL provider provided didn’t quite generate what I wanted for the search terms to be in the URL.

Here’s what I had: www.arrownuke.com/Videos/DNNTrainingLIVE/tabid/307/Default.aspx

Here’s what i wanted: www.arrownuke.com/DotNetNuke-Training/DNN-Class/tabid/307/Default.aspx

Now, since everything behind TabID is ignored, I could update my links that are in the rest of the content but that still wouldn’t update my menu item to have the URL I wanted. In order to do that, I needed update the database record that stores how that path is built. In the tabs table, there is a field named “TabPath” that DNN uses to build the URL. So, all I had to do was tweak the TabPath field (See Screenshot) and then use the Host Settings page to clear the cache and the URL was built with the hyphens like I wanted and was generated in the menu.

 

You should note that this is a DotNetNuke Hack and the URL will be overwritten by the framework any time you update the page.

Happy Nuking,

Ryan Morgan 
Arrow Consulting & Design

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Site: www.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here

Managing Pages in the DotNetNuke Admin Menu

•August 23, 2008 • 4 Comments
A question I get often is “How do I hide pages from users of a DotNetNuke portal that I setup for my users?”

From now on, I’ll point them here :-)

First, it’s important to understand a little bit about how DotNetNuke actually manages pages. Since all pages and module content is rendered from the database you’ve got to go there if you want to manage content that isn’t made available through a management interface. That means that in order to edit or remove an item from the menu, we need to edit a record in the database. This is often where seasoned webmasters and HTML designers get hung up because there are no common include files that can be found to edit.

Solutions Admin Menu

Solutions Admin Menu

Let’s start with a very practical example. Most consulting clients of mine don’t want their clients going to the solutions explorer. With that, we’ll demonstrate in this post how to remove that menu item from the admin menu.

 

To start, we need to figure out the tabid for the “Solutions Explorer” menu. If you have access to the SQL Server where the database is stored, that’s easy. If you don’t, it will require us to run a little bit of SQL.

From SQL Enterprise Management Studio

Open your DotNetNuke Database, drill into tables and open the Tabs table.

Find the record with the TabName “Solutions” and update the IsVisible property to be “False” or 0, depending upon the version of SQL Manager you are using.
 
Go to the Host>Host Settings page and drill into Performance and click the link named “Clear Cache” to rebuild the Admin menu.
 
If You Do Not Have Access to the Database
 
*** Warning*** – if you do not understand SQL well enough to understand what these T-SQL scripts do, do not modify your database from the SQL page in DotNetNuke. As always, please back up your database before making changes to your database and seek the help of a professional to do this. These statements have not been evaluated by the FDA and should not be used to treat or diagnose any medical conditions.
 
After agreeing to the above statement, go to the Host>SQL menu.
Execute the following script:
 
    Select tabid from tabs where title = ‘Solutions Explorer’ and portalid = 0
    /* if you are using a portalid other than 0, you should update that in the script above */
 
Write down the number that it gives you for the next script – mine was 53.
 
Replace the query above with the following (replace your tabid with the tabid from the number you wrote down from the first one).
 
   update tabs
   set isvisible = 0
   where tabid = 53
In order to see your changes reflected, you’ll need to clear the cache with the same step listed above:
Go to the Host>Host Settings page and drill into Performance and click the link named “Clear Cache” to rebuild the Admin menu.
Happy Nuking,
Ryan Morgan

Arrow Consulting & Design is a consulting firm based in West Palm Beach, Florida specializing in DotNetNuke, ASP.NET, SQL and WPF Development with a portfolio filled with local, national, government and global enterprise clients.

Case Studies: Click Here
Main Corporate Sitewww.ArrowDesigns.com
DotNetNuke Community Site: www.ArrowNuke.com  
Consulting Inquiries: Click Here
Skin Design/Conversion: Click Here
DotNetNuke Portfolio: Click Here