Att de(p)loya på en fredag är ju livsfarligt. Det vet alla i den här branschen.

Att de(p)loya på en fredag är ju livsfarligt. Det vet alla i den här branschen.
Tidigare i veckan så smyglanserades Absolut Vodkas nya kampanj "Absolut Blank".
TGIF! Här på Nansen så badar vi i medieljuset idag.
Systemet som syftar till att effektivisera och underlätta det dagliga arbetet för dess användare lanserades i dagarna och ger användare säker och molnbaserad åtkomst till ett personligt och rättighetsstyrt filsystem.
Via en webbläsare kan användarna ladda upp och hantera multipla filer från varsom i världen, vilket eliminerar eliminerar behovet av VPN-uppkoppling och enhetsmappning.
Webbapplikationen tillåter även att användarna utifrån en enkel eller komplex batchbaserad sökning kan ta fram verksamhetscentrala rapporter i Excel, vilka har stöd för sortering och filtrering samt ett anpassningsbart utseende.
Webbapplikationen som till hög grad är AJAX-driven och interaktiv är utvecklad i .NET 4 och använder kontrollbiblioteket Telerik RadControls for ASP.NET AJAX.
As all of you using Google Chrome on an EPiServer website, know that the right click menu isn't opening correctly in your browser. The problem appears when you have scrolled down on a page and try to open the context menu - the menu will open at the top of the page as if you had not scrolled the page.
After having to endure this bug for a long time and knowing it would take a while for EPiServer to release a new version that fixes it - I chose to try and fix it myself, figuring it would only be a small fix.
Later, after a bit of investigation, I landed in the contextmenu.js
file located in C:\Program Files (x86)\EPiServer\CMS\6.1.379.0\Application\Util\javascript.
The problem lied in the _ScrollPosition
method where it is calling win.document.documentElement.scrollLeft.
This property always returns zero in Google Chrome. To solve this we can use the win.document.body.scrollLeft
property instead which returns the correct value. Using the OR ( || ) operator we can make the browser choose the property that returns a value other than zero.
The final method will look like this after fixing the bug (green is the changed code):
Äntligen är innebandysäsongen igång!
In a project I am working on we make use of the Routing feature in ASP.NET to get friendly URL for a page. This has been working great on the dev machine in IIS 7 but when deploying it to a new Windows Server machine with IIS 7 the routing part did not work at all, so something was different between the two environments.
The solution was as simple as installing the HTTP Redirection module in IIS.
Vi har slutat prata om produktionssättning, leverans och - gud förbjude - deploy. Allt sedan dagen då vår kund gjorde oss uppmärksamma på ett stavfel i ett mejl, "deploy" blev nämligen "deloy", genom att snabbt replikera med en google-bildsök på ordet "deloy", som var en stickad mössa - så har alla leveranser kallats deloyer. Denna s.k. deloy-hatt har sedan förföljt oss till den grad att Jonas valde att sy upp en riktig deloy-hatt. Tack Jonas och Linus för alla dina upptåg. We likes you!
/Team Burton
In a current project using EPi Commerce we ran into an issue in Commerce Admin. It was very hard to get a good overview of placed orders. This due to the ID column in commerce manager displaying OrderGroupId instead of the generated TrackingNumber communicated to the customers.
This is updated with EPi Commerce R2 / EFC 5.2 but we haven't had the possibility to upgrade yet.
View in EPi Commerce / EFC 5.1
View in EPi Commerce R2 / EFC 5.2
If a customer contacts the merchant with a query about a specific order, the Order listing in the first release of EPi Commerce / EFC 5.1 don’t display the Order no. given to the customer.
And the search don’t allow search on the property called “TrackingNumber” either. We needed to solve this issue quickly, waiting for all that comes with upgrading to a new version wasn’t an option.
Commerce manager keeps it’s controls and configurations related to the manager UI in a folder located by default in:
C:\Program Files (x86)\Mediachase\eCommerceFramework\5.1\[YourSiteName]
Configuration for the Order lists are kept in the following file.
C:\Program Files (x86)\Mediachase\eCommerceFramework\5.1\[YourSiteName]\Shared\Apps\Order\Order.config
In this file you can add columns you wish to list, as long as they are on the PurchaseOrder Object.
The view tag in the config file contains the columns listed in the view
89: <View id="Orders-List" … >
To add a new column just insert. The line below adds a new column displaying Order Creation date. (Property “Created”)
<Column Width="200" AllowSorting="true" DataField="Created" HeadingText="Order Created"></Column>The Order Id is displayed using a link template control which is located in
C:\Program Files (x86)\Mediachase\eCommerceFramework\5.1\AvalancheCMS\Shared\Apps\Order\GridTemplates\OrderLinkTemplate.ascx
To stop using the internal object Id of the order and instead display the generated order number for the purchase order we just need to update the following in the OrderLinkTemplate.ascx:
From:
6: Text='<%# EcfListView.GetDataCellValue(DataBinder.Eval(DataBinder.GetDataItem(Container),"OrderGroupId")) %>'>
To:
6: Text='<%# GetViewName().Equals("PurchaseOrder") ? EcfListView.GetDataCellValue(DataBinder.Eval(DataBinder.GetDataItem(Container),"TrackingNumber")) : EcfListView.GetDataCellValue(DataBinder.Eval(DataBinder.GetDataItem(Container),"OrderGroupId")) %>'>
I lördags var det dags för Nansen Team XC att göra tävlingspremiär på Hammarby Hill XC. Förväntningarna var på topp och psykkriget var intensivt sista veckan. Dom två cyklisterna såg påtagligt nervösa ut innan start, trots att det var "flickklassen", alltså ett varv av tre som huvudklassen kör, som skulle köras.
Starten går upp för Hammarbybacken och som den hängivne supporter jag är så hade jag tagit mig upp till toppen för att hejja på våra tävlande. Först upp av dom kom Viktor som såg stark ut och cyklade hela vägen upp.Nån minut senare såg jag Andreas komma en bit ner i backen, gående!
I efterhand så har det bortförklarats med materialfel...
Både Viktor och Andreas hade sagt att dom hade 1:15 som mål för dom 20km och efter 1:10 så tog jag plats vid upploppet och började vänta. efter drygt 1:17 så dyker Viktor upp och går i mål som segrare i Nansenteamet.
Sen började en alltför lång väntan på Andreas. Vi hann spekulera i både trasig cykel och dödskrasher innan han till slut dök upp på tiden 1:31:48.
Andreas höll en lång utläggning om både växelproblem, krashade och medvetlösa tjejer och egna kramper som förklaring till sitt mindre lyckade resultat.
Här ser vi Viktor som nöjd vinnare och Andreas som besviken förlorare.
Efterspelet...
På kvällen när det skulle kollas resultat så upptäcks det att Viktor inte har fullföljt sitt lopp och står som "Brutit". Just nu är det oklart om han får det resultat han själv hävdar att han ska ha, nämligen en 41a plats på 1:17:nånting eller om han förblir som brutit i resultatlistan. Andras slutade på en 67e plats på 1:31:48 av totalt 74 fullföljande. Vinnaren körde på 54 minuter.
We have a customer website which recently started to get ASP.NET AJAX related JavaScript errors. Looking at Firebug, it reported things like:
There are loads of different opinions about this matter. Even here at Nansen we haven't reached consensus. This is strictly my personal opinion.
Here's why I think you should use a separate page type for global site settings.
Nansen front end developer Mr.Lybeck could hereby titulate himself Facebook Specialist (please login to LinkedIN for the full seach results).
Microsoft har precis avslutat sin keynote på BUILD konferensen och jag och några kollegor på Nansen har följt den med chips och läsk. Efteråt höll vi alla med om att Windows 8 kommer bli ett grymt operativsystem och vi väntar med iver att få prova den.
![]() |
Specifikation för tablet som alla konferensdeltagare fick. Avund. |
På kontoret har vi PS3, Nintendo Wii, Sega megadrive, Xbox och ett foosballspel. Men det räcker tydligen inte, för nu är det tydligen schack som gäller. Här ser vi de tre glada grabbarna Christer, David och Robban som vässar bulorna för att kunna göra det smartaste draget.
First Blogger, now Google Music Beta... Google is attempting to push more and more of their services to the iPhone/iPad [dominant?] user base.
Interesting news about Blogger on Mashable today!
"Google has finally launched an iOS app for Blogger, giving the blog network’s millions of users a simple way to write, manage and publish posts from their iPhones."
http://mashable.com/2011/09/08/blogger-iphone-app/
I for one is really looking forward to see the overhaul on Blogger, it's way due...
Happy Friday everyone!
...husse är tillbaka. Nu har hösten sannerligen startat och med den wordfeud-kampen, och alla projekt såklart.
I like my Android phone, I'm not actually in love with it, but I like it very much.
In a EPiServer Commerce project i'm working on we have catalog entries with a good amount of custom meta fields. When we did a new release to stage last week and added one more meta field we got the following error back from .NET on one entry,
Must declare the scalar variable "@ShortDe".
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 0.
The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION
Must declare the scalar variable "@".
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 0.
The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION
...
DECLARE @OPEN_SYMMETRIC_KEY varchar(MAX)
DECLARE @CLOSE_SYMMETRIC_KEY varchar(MAX)
SET @OPEN_SYMMETRIC_KEY = ''
SET @CLOSE_SYMMETRIC_KEY = ''
DECLARE @MetaClassFieldList varchar(MAX)
DECLARE @MetaClassFieldList_E varchar(MAX)
DECLARE @MetaClassFieldListWithAt varchar(MAX)
DECLARE @MetaClassFieldListSet varchar(MAX)
DECLARE @MetaClassFieldListInsert varchar(MAX)
DECLARE @MetaClassFieldList_L varchar(MAX)
DECLARE @MetaClassFieldListSet_L1 varchar(MAX)
DECLARE @MetaClassFieldListSet_L2 varchar(MAX)
DECLARE @MetaClassFieldList_LI varchar(MAX)
DECLARE @MetaClassFieldListInsert_L1 varchar(MAX)
DECLARE @MetaClassFieldListInsert_L2 varchar(MAX)
...
The DRY principle is something all developers most often than not want to achieve. Don't Repeat Yourself. Meaning you shouldn't repeat code.
In a recent project, we created a simple, custom XML feed returning a couple of nodes with image meta data.
To build custom XML feeds, XmlDocument is very common to use in the .NET world. Adding nodes can be done using XmlNode.
The code we had looked like this:
// ...
XmlNode imgNode = doc.CreateElement("LatestImage");
XmlNode imgCountry = doc.CreateElement("Country");
imgCountry.InnerText = LocationHandler.GetLocationAlias(img.GeoTag.Country.LocationID, "sv").Country;
XmlNode imgLocation = doc.CreateElement("Location");
imgLocation.InnerText = LocationHandler.GetLocationAlias(img.GeoTag.LocationID, "sv").Name;
XmlNode imgDate = doc.CreateElement("Date");
imgDate.InnerText = img.UploadDate.ToString();
// ....
imgNode.AppendChild(imgCountry);
imgNode.AppendChild(imgLocation);
imgNode.AppendChild(imgDate);
// ...
private XmlNode AddNode(string nodeName, string nodeValue, XmlDocument doc, XmlNode parentNode)
{
XmlNode node = doc.CreateElement(nodeName);
node.InnerText = nodeValue;
parentNode.AppendChild(node);
return node;
}
AddNode("Location", LocationHandler.GetLocationAlias(img.GeoTag.LocationID, "sv").Name, doc, imgNode);
Igår satt jag och installerade EPiServer Commerce för ett nytt projekt. Projektet kommer vara en svensk site och alltså, på svenska. Som default så finns inte svenska som val när man skapar en katalog i Commerce så man får skapa det själv. Detta görs under Systeminställningar -> Ordlistor -> Språk. När man lägger till ett språk i Commerce så måste man ange språkkoden som sv-SE, att bara vilja använda sv tillåts inte.
Detta skapar dock en del problem. I EPiServer så är det just sv som är språkkoden för svenska. Detta resulterar i att, förutsatt att du har installerat CatalogPageProvider, sidträdet kraschar.
Lösningen på problemet är att skapa ett nytt språk i EPiServer som är sv-SE och använda det. Då laddar sidträdet som det ska.
In January this year (2011), W3C announced its new logo for the HTML5 standard (the superman logo) which created a lot of buzz among web developers in the community. Being a logo for HTML5, a lot of people joked that it should have been created in the same technique it stands for, HTML. It didn't take long before someone helped W3C do the job right.
I'm not sure who did it first, but one of them was Darcy Clarke, and it's pretty amazingly alike the real logo. Go have a look at his CSS/HTML version of the HTML5 logo.
As you probably have noticed, we have released our shiny new website a while ago, and with it came a new logo (*hint*). This got me remembering the HTML5 logo, and I felt it was my duty to try and do the same with the Nansen logo.
Luckily it's quite simple and really only consists of a circle and three rectangles. The most difficult part was to align the different elements correctly to form the N-letter. Have a look at the result below.
Think you can improve on the code? Go ahead and do it, and when your done, come join us at Nansen [swedish].