You’ll learn how to optimize CSS declarations, how to optimize JavaScript code and avoid memory leaks, how to use the best image format and prefetch resources.
http://googlesystem.blogspot.com/2009/06/tips-for-making-websites-run-faster.html
Tips for making your website run faster
Posted in CSS, Development, Perception Layer
Intranet Design – Content is King
Some good, but obvious, pointers around Intranet Design. Highlights the short-term wins of the Perception Layer are worthless without a well thought out and sustainable Engagement Layer.
http://www.intranetjournal.com/articles/200910/ij_10_07_09a.html
Intranet owners must realize that users appreciate substance over flash. While the system might be great to look at, this can wear thin very quickly. Flash will result in an initial spike in system use, but the majority of these are going to be “one-night stands”. If you want long term success, your intranet must have more than a pretty face.
Posted in Development, Engagement Layer, Perception Layer
Social Graph Toolkits
A list of Social Graph Toolkits
- http://prefuse.org/ (Java Based toolkit)
- http://www.thinkmap.com/architecture.jsp (Licence required)
Posted in Uncategorized
Conditional Formatting using UltraWebGrid
A code example of how to apply conditional formatting to cells in an Infragistics UltraWebGrid control using ASP.NET 2.0
private void populateSolvents(){
SolventsCollection solvents = new SolventsCollection();
solvents.GetMulti(null);
if (solvents.Count > 0){
uwg_Solvents.DataSource = solvents;
uwg_Solvents.DataBind();
foreach (Infragistics.WebUI.UltraWebGrid.UltraGridRow row in uwg_Solvents.Rows.All)
{
if (row.Cells[1].Value.ToString() == "h2o")
{
row.Cells[1].Style.BackColor = System.Drawing.ColorTranslator.FromHtml("red");
}
}
} else{ globalHelper.DoAlert("No Results to display", Page);}}
Posted in Infragistics
JQuery problems with ASP.NET AJAX UpdatePanel
I recently started to use JQuery on an ASP.NET 3.5 project. The JQuery worked fine until the first async postback event when it would then stop working.
The postback event seems to conflict with the JQUery Ready Function. In order to resolve this you should move all affected code to within a new function called function pageLoad() { }
This will solve all of the conflicts and ensure that JQuery works with the UpdatePanel.
NOTE: This AJAX conflict also occurs with Infragistics WARP controls.
Setting up Sharepoint Search Service:
While trying to configure SSP (shared services provider) i kept getting a ‘no indexer error’. So of i went to set up a search services on MOSS 2007 when i got an annoying ‘An unhandled exception occurred in the user interface.Exception Information: OSearch (AccountName)’ error.
Simple solution involved putting the DOMAIN NAME before the account name. Microsoft user experience continues to frustrate
. I must credit the following blog for the solution http://gpeiris.blogspot.com/2007/04/unhandled-exception-occurred-in-user.html
Posted in Uncategorized | Tags: MOSS 2007, Sharepoint
Remove the comma from WebNumericEdit
If you do not want to display the comma in the Infragistcs WebNumberic Edit control.
//WebNumericEdit control will use a comma to seperate number groups
//This will prevent 1234567 being displayed as 1,234,567
//Requires: using System.Globalization;
NumberFormatInfo numInfo = new NumberFormatInfo();
numInfo.NumberGroupSeparator = “”;
this.txt_Pfizer_id.NumberFormat = numInfo;
Posted in Development, Infragistics
UltraWebGrid helper to find a column index based on the caption
In order to avoid WEAK typing ( i.e. e.Row.Cells[5] ) I have written a helper method to return the index of an Infragistics UltraWebGrid column based upon its caption text.
This is probably best explained via an example:
In this scenario a row in my SOLVENT search results has been clicked. I want to load the solvent id into session and move to the Solvent Edit page.
protected void uwg_Solvents_DblClick(object sender, Infragistics.WebUI.UltraWebGrid.ClickEventArgs e){
if (e.Row != null){
int solventID = globalHelper.getColumnIndex(ref uwg_Solvents,“Solvent ID”);if (solventID >= 0){
Page.Session[globalHelper.SESSION_SOLVENT_ID] = e.Row.Cells[solventID]);Response.Redirect(
globalHelper.PAGE_ADMIN_EDIT_SOLVENTS);}
else
{
globalHelper.DoAlert(“Error as solvent ID could not be found”,this.Page);}
}
}
The HELPER method code is contained in my App Code directory and is called globalHelper. The helper code is:
public static int getColumnIndex(ref Infragistics.WebUI.UltraWebGrid.UltraWebGrid ultraWebGrid, string columnCaption){
//loop through the columns
foreach (Infragistics.WebUI.UltraWebGrid.UltraGridColumn column in ultraWebGrid.Columns.All){
if (column.HasHeader){
if (column.Header.Caption == columnCaption){
return column.Index;}
}
}
return -1;}
Posted in Development, Infragistics
The theme of collaboration – Some ideas for articles
I was recently asked to help identifying some key articles, scenarios and technologies that we could highlight in an upcoming magazine on collaboration. As a framework we are looking at collaboration between individuals, between organisations, between organisations and individuals and between teams across a ‘lifecycle’ of innovation from idea generation through to delivering the desired outcome (whether or not the outcome is intended to be profit making or not).
Luckily its an area I’m very interested in and here were my initial, had 5 mins to think about it, ideas:
- Socialising Innovation. Facebook, iGoogle, Linked In etc… are drastically changing the ways in which we manage our connections, leverage our networks and share our ideas and information. For example on Linked In users can now ask their ‘network’ a question and many of these questions/seeds are evolving and bringing people together. The questioner gains fast and cheap insights from ‘vetted’ users who he she/trusts in their ‘network’. So… How can we apply these benefits within an organisation?
- Measuring/Ranking Collaboration. Yahoo Answers rewards collaboration by giving you ‘points’ the more you collaborate, and even more points if you prove the ‘best’ answer. In business this approach could be another way to encourage more and more ‘Mini TL Contributions’. There are also some VERY clever weighting algorithms that automatically measure the quantity AND the ‘perceived’ quality of a persons contribution and ensures their contributions bubble up to the top. I cannot remember the example website at the moment but its partially based upon the theory of how an Ant Colony collaborates and shares information.
- The Tipping Point of Collaboration. The importance of collaborating with the RIGHT people (Mavens) is critical. Who are these Mavens, How do you find them, Why are they so important. (Read the Tipping Point – Great book). Why does a collaborative effort suddenly ‘tip’ and take off??
- The Psychology of Collaboration. Successful Collaboration needs to recognise and engage members of the various BELBIN (or Myers Biggs) personality groupings (i.e. Shapers, Finishers, Plant etc…) in order to ensure richer collaboration that delivers.
- Facilitating Collaboration pays $$$. Nike now allows customers to specify designs and text on their footwear -and then charge a premium for the service. Wikipedia benefits from free labour and all they did was facilitate the collaboration by providing some simple tools. Gmail gives us 2GB of free storage but by analysing our communications gains key advertising insight into its users.
- Strategy on how to calcualte ROI on investing in collaboration tools & technology.
Posted in collaboration
How to … Set up LLBLgen Databinding in Visual Studio
LLBLGen Pro ships with its own DataSource controls:
- LLBLGenProDataSource for selfservicing
- LLBLGenProDataSource2 for adapter.
These also are located in the SD.LLBLGen.Pro.ORMSupportClasses dll for .NET 2.0 and you have to add them to the toolbox first. This can be done manually by right-clicking the toolbox when a webform is open in the editor (HTML or design view) and then by selecting ‘Choose items…’ which allows you to browse to the ORMSupportClasses dll for .NET 2.0. It’s key you add the ORMSupportClasses dll version you’re also using in your ASP.NET project, as VS.NET can load only one version of a given assembly and this could lead to type clashes in the web form designer. This is a problem with VS.NET 2005.
Next steps
- Drag the llblgen data source onto your form.
- Configure the datasource and select the entity (ignore view/list for now)
- Test using a details view (or other rich data control) by setting the datasourceid to the llblgen datasource.
Posted in Development, LLBLGen, ORM, Visual Studio

