Posted
on May 10, 2011 in Technical Tips | 1 comment
I am amazed how difficult it was to find simple examples of exposing a hyperlink in an asp.net gridview control. I tried some obvious things that didn’t work at first, but I got four different approaches working that I thought I would share for others that run into this [I would assume] common need.
In my case, I wanted to hyperlink to an external site based, passing in the external url along with an ID passed in as a URL parameter.
For example: http://www.externalsite.com?myID=1234
Construct URL Inside SQL
This is old code that had the SQL query inside a SqlDataSource control, so I first thought of just adding the column there:
SELECT '<a href="http://www.externalsite.com?myID=' + CONVERT(VARCHAR,MY_FIELD) + '">Link</a>' Link, ...
By default, this rendered the actual HTML encoded hyperlink inside the grid: Link
This was easily remedied by either of the following approaches:
<Columns>
<asp:BoundField HtmlEncode="false" DataField="Link" HeaderText="Link" SortExpression="Link" />
</Columns>
Note: The key here is HtmlEncode="false"
<Columns>
<asp:TemplateField HeaderText="Link">
<ItemTemplate>
<%# Eval ("Link") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
Construct URL Outside of SQL
The other two approaches do not rely on the URL being generated inside the SQL, but instead leveraging the ObjectId when constructing the URL in the GridView:
<Columns>
<asp:HyperLinkField Text="Link" Target="_blank" DataNavigateUrlFields="ObjectId" DataNavigateUrlFormatString="http://www.externalsite.com?myID={0}" />
</Columns>
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink runat="server" Text="Link" Target="_blank" NavigateUrl='<%# "http://www.externalsite.com?myID=" + Eval("ObjectId")%>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
Posted
on Apr 26, 2011 in Industry Trends, Offerings, Technical Tips | 0 comments
I have been running Oracle Identity Management 10g with heavy use of 10g SSO capabilities. Much of our web security architecture along with application authentication relies on this infrastructure. What do I do as development begins to shift from OracleAS to WebLogic, and our middleware stack goes from 10g to 11g? We will need to run 10g and 11g in production side-by-side for some period of time.
This is a question many of our customers are asking and it is understandable that there is confusion around this. Oracle hasn’t provided the clearest of answers, and in general, identity management initiatives are not for the faint of heart to tackle. The fact is that 11g identity management has begun a paradigm shift away from the 10g approach. The good news is that customers have options as they inevitably run 10g and 11g together in their environments since identity management solutions span across applications and nobody [I know of] decides to upgrade all of their enterprise applications at once.
In 11g, you have the option of integrating applications (i.e. ADF 11g applications) running on WebLogic with 10g SSO through identity asserters. This approach basically passes in header information to WebLogic that enables it to “trust” a user authenticated via 10g SSO much like it would trust AD or any other form of identity assertion. As you move to an 11g identity management stack, nowhere will you find 10g SSO as you know it. You will need to buy into the OAM (Oracle Access Manager) 11g model, which includes a robust enterprise access management approach in line with 11g applications that rely on J2EE security standards like JAAS.
Posted
on Apr 22, 2011 in Case Studies, Industry Trends, Offerings, Technical Tips | 0 comments
I was recently asked [again] about what platform to choose for an open source web CMS. At the highest level, and to avoid considering too many variables that introduce confusion into a decision, my general feeling on this is to go with the technology that best balances the following (in order):
- Community (users, third parties, and developers): size, enthusiasm, and proselytization
- Technology: tech stack and solution architecture
- Leaders: commitment, flexibility, release schedule
I feel the community size and enthusiasm is so important that I decided to chart out the general trends. Although we implement will all of these CMS’s successfully, we have been choosing WordPress over the others for a number of years on most CMS implementations. My own experience is that the WP community has been growing rapidly and gaining enthusiastic momentum. The below results prove it.
Overall, trends show popularity in WordPress far surpassing Joomla and Drupal over the years:

For the past year, we see WordPress in its own league of popularity:

Trends for the three solutions with the word “CMS” attached shows a slightly closer picture overall. I feel this is mainly because WordPress was initially marketed as a blogging platform. Though I’ve been using it as a CMS for quite some time, only more in the past year or two have people really embraced it as a powerful CMS:

However, when you look at the past year, again WordPress far surpasses the others:

Using these products for years, I have many insights and considerations that have yet to be put down in writing, but I hope the above provides you a little idea of one of the main variables we consider when selecting a solution for our customers.
Posted
on Apr 8, 2011 in Industry Trends, Technical Tips | 0 comments
I had been using VMWare Server 2 for a few years now. It was free and provided extra features that were not present in VMWare Player. Unfortunately I found out that VMWare Server is no longer going to be supported as of June 2011. I needed to make a decision quickly so I could stand up a Linux CentOS VM to run a memory intensive software stack.
For me VMWare Server probably would not have worked anyway because of memory and processor restrictions. I decided to look to 3 different solutions to get me up and running quickly, VMWare Player, VMWare Workstation and Oracle VirtualBox (formerly Sun VirtualBox).
VMWare Player
VMWare Player was included early on because it now allows you to create VMs instead of only running them. It also has increased memory and processors/cores available to a VM. I did however quickly eliminate Player because it lacks essential features including multiple snapshots, cloning and replay.
Snapshots are a must have as I am always installing different operating systems, software and making configuration changes. Some of the changes involve technology I have not worked with before so being able to rollback to a snapshot if something goes wrong has been an invaluable tool. This also allows me to experiment more knowing I can recover to a previous state.
VMWare ESXi
VMWare suggests moving to one of their other products, mainly ESXi or Workstation. ESXi is free and looks to be an exciting product. It basically is your base operating system. It requires a dedicated server with no base OS installed. It also limits the types of hardware it works with, so no you can’t break out your old PC and have it automagicly work with ESXi. I did not have a dedicated box so I chose to look at VMWare Workstation.
VMWare Workstation

VMWare Workstation had all of the functionality I was looking for including snapshots, cloning and replay. It also had good memory (32g), processor (8) and core (8 per processor) support. I downloaded and installed Version 7. I created a Linux CentOS VM. The install was overly easy with “Easy Install” and the OS booted up in no time. The user interface for workstation is intuitive and provides easy configuration. I installed VMWare tools and changed my display resolution. Next up, I started my software stack taking snapshots along the way. The branching snapshot functionality was easy and worked well. All in all Workstation was quick and easy.
VirtualBox

Next I looked at VirtualBox 4. VirtualBox was started under Sun as an open source product. It is obviously now an Oracle product and still open source. VirtualBox has come a long way and provides many features that are present in VMWare Workstation. Installation of CentOS was only a bit more of a task then VMWare Easy Install. VirtualBox’s UI was fairly simple and I liked the layout with the popout VM windows. The initial install did not have have a CD/DVD ROM drive installed so installing VirtualBox Guest Additions (like VMWare Tools) did not work. Not a big deal, just add a CD drive.
The VirtualBox VM OS window played funny tricks with my mouse as I tried to move it in and out of the window. I am also not quite clear on how you increase the size of the virtual hard drive after creation. Say you need more hard drive space on a certain drive or partition how do you do that in VirtualBox? I see you can add another virtual hard drive but no way to increase the existing drives size. I have increased the drive size for a VMWare Workstation Linux VM drive and then used a repartition tool to allocate the extra space.
My final decision was to go with VMWare Workstation. This was a result of Workstation’s features, support and maturity of the product. I also chose it because it has a broad base of use, it’s ease of sharing VMs. It has ACE, better snapshot functionality, replay, integration with Eclipse, encryption and 3D video. Workstation 7.1 does retail for $189 right now, although I did receive a discount on it. I have started to Google “coupon” for everything I buy now to see if there are any discounts out there on the web. I did this for Workstation and received 30% off. I did really like Virtual Box’s speed and ease of use. I will be spending more time with this free product soon.
I have gone back and forth with free and commercial software, they both have their place in my opinion. I have used Eclipse for years and love it. However, I believe that nothing is really ever free. You have to sacrifice some functionality, support and reliability for products that are free. Even with Eclipse, I ended up moving to the new-at-the-time MyEclipse commercial product because I liked some of the extra functionality and tooling it provided. This was a commercial product with a free product as its base! Everything has its place and obviously if you don’t have the cash then free is the way to go. It gives an entire population of our community access to tools. I don’t know where I would be with out these free products.
This is just a quick look at a few of the Virtual Machine technologies out there today. In the future I am interested in looking at Oracle VM and Linux Xen. What are your opinions of Virtual Machines?
Posted
on Apr 5, 2011 in Technical Tips | 2 comments
If you’re running Windows 7, and you’ve used the Remote Desktop Connection program (mstsc.exe), then you may have experienced the following: you start the program in Full Screen mode, then you go back to your computer at some point. But when you return to your Remote Desktop Connection session, it no longer goes to Full Screen — it just looks like a maximized window. With a few keystrokes, here’s how to remedy that with the Remote Desktop Window being in focus:
[Ctrl]+[Alt]+[Pause Break]
If your computer doesn’t have a “Pause Break” key, then maybe it has “Pause” or “Break”; if no luck there, try [Ctrl]+[Alt]+[F1] or [Ctrl]+[Alt]+[F2] or [Ctrl]+[Alt]+[F3] or … or [Ctrl]+[Alt]+[F12] — one of them should hopefully work for you.
Before:

Remote Desktop Connection - Maximized
[Ctrl]+[Alt]+[Pause Break]
After:

Remote Desktop Connection - Full Screen
Posted
on Apr 5, 2011 in Technical Tips | 0 comments
We are implementing a portal framework which works just fine in FireFox, but seems to act less-than-optimally in IE. Any web designers and developers know exactly what I am talking about. In researching some of the JavaScript errors that IE had identified, we found a reference to a line number in the hundreds-of-millions that I couldn’t help but share.

This is one case where I would have had more fun reading “Line #: fat chance finding this one, buddy“.
Posted
on Mar 30, 2011 in Technical Tips | 0 comments
Most people, including myself, don’t memorize the syntax and associated options for every programming language. So, I was interested in determining what the issue was with the following create table command that one of my developers was having. He continued to receive the following error, regardless of what he did with parentheses:
ORA-00907: missing right parenthesis

CREATE TABLE AppItem (id INTEGER PRIMARY KEY NOT NULL,
name VARCHAR(100),
url VARCHAR(100),
required CHAR(1) CHECK (required IN('N','Y')) DEFAULT 'N',
img VARCHAR(100),
title VARCHAR(100),
description VARCHAR(100)
);
Being that the parentheses evened out, I first thought that the word required would be a reserved word in Oracle, so I tried changing that to is_required. No dice. After a little more fiddling — and only a few seconds before I would have turned to some documentation — I realized that the CHECK constraint needed to come after the DEFAULT value setting.
CREATE TABLE AppItem (id INTEGER PRIMARY KEY NOT NULL,
name VARCHAR(100),
url VARCHAR(100),
required CHAR(1) DEFAULT 'N' CHECK (required IN('N','Y')),
img VARCHAR(100),
title VARCHAR(100),
description VARCHAR(100)
);
Posted
on Mar 25, 2011 in Technical Tips | 0 comments
We just had to download Java SE JDK 1.6.0_11 (6 Update 11) and finding the files was not as intuitive as we had hoped. So, navigate to this link and you will see a screen like below where you can download many previous releases. Hope this helps get you there more quickly.

Recent Comments