Jun
30
2006

Tech Head Brothers meets CodePlex

That's it!!! I decided to open the code of the second release of my authoring/publishing tool used on Tech Head Brothers portal.

You might read more about the new version here:

And about the first release here:

The project is hosted on CodePlex, an online software development environment for open and shared source developers to create, host and manage projects throughout the project lifecycle. It has been written from the ground up in C# using .NET 2.0 technology with Team Foundation Server on the back end. CodePlex is open to the public free of charge.

It is a work in progress and I will need some time to cleanup the solution before making the first checkin of the source code, but it will come.

The project is called Tech Head Brothers Authoring and it is hosted on this page.

Jun
29
2006

The best answer was given :-) Spain - France 1 - 3

I would like to congratulate all the French "has-been too old" football players :-)

Then I would like to quote Didier
"
And my dear Spanish colleagues, friends and non-friends, journalists, trainer and players, sometimes, as in the business field, it is *definitely* better to keep a low profile and to respect your opponents, and more especially before playing a match, even if you have won your last 26 games. Some examples...."

What about the shameful behaviour of the Spanish fans during the anthem?

Striker Thierry Henry described the rival supporters' behaviour as shameful. "I've never seen that before in the World Cup. It's shameful that their supporters reacted like that during the Marseillaise.

What about the reaction of the trainer after the match?

"I don't think the final scoreline was an accurate reflection of what happened," insisted coach Luis Aragones after Spain's first defeat in 26 games.

What about the racist remarks of the Spanish trainer (for a while) and supporters?

Aragones and Henry are not the best of friends after Aragones’ used a racist remark in referring to the France striker while trying to motivate Jose Antonio Reyes, an Arsenal teammate of Henry.
Domenech also suggested that some Spain supporters had made monkey noises when the bus carrying the France players arrived at the stadium."
"

I think that the best answer was given by the French team during the game. THANKS GUYS !!!

Allez les Bleus!

Jun
13
2006

Trip in the Atlas - Part 2

This time the targeted scenario was to implement a login the way I saw it on on10.net.

Using the Atlas Control Toolkit, I started to implement the scenario with a ModalPopup atlas control surrounding an ASP.NET Login.

After some drag and drop on the designer I hit the F5, and I was in front of my Modal login. Nice, but no postback, so no login. Tehn I came with the idea to add the property UseSubmitBehavoir to false for OK/Cancel button like so:

<asp:Button ID="OkButton" runat="server" Text="OK" OnClick="OkButton_Click" UseSubmitBehavior=false></asp:Button>

I had then my postback, but all controls in my login template were empty. After spending some time on that without success I gave up.

But yesterday evening I came back to this and downloaded the latest bits of the Atlas Control Toolkit from CodePlex. By the way Korby, I can't wait getting my projects there ;-) And restarted the implementation using the demo web application they deliver with it. And there it worked fine.

<asp:Panel ID="LoginPanel" runat="server" CssClass="modalPopup" Style="display: none">
   
<asp:Login ID="Login1" runat="server" LoginButtonText="S'identifier" PasswordLabelText="Mot de passe:" PasswordRequiredErrorMessage="Le mot de passe est requis." RememberMeText="Se souvenir de moi." TitleText="Identifiez vous " UserNameLabelText="Nom d'utilisateur:" UserNameRequiredErrorMessage="Le nom d'utilisateur est requis.">
   
</asp:Login>
   
<asp:Button ID="CancelButton" runat="server" Text="Cancel"></asp:Button></asp:Panel>

   <span class="login">

      <asp:LinkButton ID="LinkButton1" runat="server" Text="S'identifier"></asp:LinkButton>   |
      
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Register.aspx">S'enregistrer</asp:HyperLink>
   </
span>

<atlasToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server">
   <atlasToolkit:ModalPopupProperties TargetControlID="LinkButton1" PopupControlID="LoginPanel" BackgroundCssClass="modalBackground" CancelControlID="CancelButton" />
</
atlasToolkit:ModalPopupExtender>

And now with some slight modification to my implementation it is also working fine as you can see:

atlas login

Jun
13
2006

Trip in the Atlas - Part 1

After a smooth integration of Atlas in the new version of Tech Head Brothers website, I decided to go a step further with a project a bit more complex then the scenario developed here.

The new version of the site is totally rewritten in C# and ASP.NET 2 and uses the Webparts.

So the new scenario I wanted to implement was a system of connected Webparts, one showing an article, a how-to or news and the other the comments associated with that. The connection of the webparts was done in about 10 minutes, really cool techno.

Then I learned that an Atlas UpdatePanel can't be part of a Webpart because then you have the UpdatePanel in a Template of the WebpartZone and that doesn't work, so you have to move the UpdatePanel to have it around the Webpartzone. As I am working with nested Master Pages I decided to have the UpdatePanel in an asp Content control around the WebPartZone like this:

<%@ Page Language="C#" MasterPageFile="~/OneColumn.master" AutoEventWireup="true"

    CodeFile="Articles.aspx.cs" Inherits="Articles" Title="Tech Head Brothers - Articles" %>

 

<%@ MasterType VirtualPath="~/OneColumn.master" %>

<%@ Register Assembly="Nsquared2.Web" Namespace="Nsquared2.Web.UI.WebControls.WebParts"

    TagPrefix="nsquared2" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" runat="Server">

    <atlas:UpdatePanel ID="panelarticles" Mode="Conditional" runat="server">

        <ContentTemplate>

            <nsquared2:TemplatedWebPartZone ID="ContentZone" runat="server" ChromeTemplateFile="~/Templates/Chrome/THBOriginalTemplate.chrome"

                CssClass="webpartzone" Padding="0">

                <ZoneTemplate>

                </ZoneTemplate>

            </nsquared2:TemplatedWebPartZone>

        </ContentTemplate>

    </atlas:UpdatePanel>

</asp:Content>

 

Then in my comments WebPart I implemented a button doing a response redirect to another page that will handle the writing of a new comment, and this in the UpdatePanel postback not the whole Page postback. To be able to access some information from the calling page I had added some information in the Session on the first page that I wanted to read on the second one. Boom!! Session is empty on the second page. I then removed the UpdatePanel and session was back again. hum!!! But that was not the scenario I wanted for my comments, so I added again my UpdatePanel and made several tests withtout any success.

Then searching on the forum I found why, here : "The specific reason it happens is that when ScriptManager detects a Redirect during an async postback, it clears the response, which means all cookies are lost. One of those cookies is the session ID cookie. This doesn't necessarily affect all scenarios, but it does affect some." A bug in the CTP april of Atlas.

Then it was clear if the Response is cleared, no chance to get my Session values.

As it was not critical data I decided to use QueryString to pass on data and that's for sure worked. I will revert to Session when it will be fixed.

Now I have a system with connected WebPart, one displaying comments using Atlas UpdatePanel to reload only the comments that the suer wnats to see. Great stuff!!

There is one thing I don't liked in the WebPart connection is that if you have a link button in your page and the OnCommand is set, then when the Command is called the WebParts connection is not already done so you have to remmeber parameters given to your method and reuse them in OnPreRender.

[ Currently Playing : With My Two Hands - Ben Harper - Diamonds On The Inside (04:35) ]

Jun
8
2006

Good luck Djibril

Tonight the French soccer team played against China in a training match for the World Cup 2006 in Germany.

After 11 minutes, Djibril Cissé, was hurt and it seems that his right leg is broken.

I just want to say that I really like this player, and that I am pissed off by this stuff.

So Djibril good luck for your recover.

[ Currently Playing : Run Baby Run - Garbage - Bleed Like Me (03:58) ]

Jun
8
2006

Opening users access to the new ecenter solutions platform

Tuesday 6th, June 2006 we launched our new platform to the 12 000 users. This was a big day for us after lots of efforts we finally made it.

After 15 minutes of pure stress because of an issue on a front end server, we finally had a platform running without any major issue. The platform is running since two days now and we received wonderful feedback about the response time. 

The last days and first minutes really showed us the importance of having two production streets in fail over mode. And this part was fully tested ;-)

Now we enter a stabilization phase, and for the moment only two adaptations on the front end. Not bad with such a complex project.

As next step we planned horizontal scalability of the architecture and it will really allow us to grow without any issue with this new architecture. But that's another story.

[ Currently Playing : Song to Say Goodbye - Placebo - Meds (03:38) ]

Jun
6
2006

Second step of a long migration weekend reached

My migration weekend started on Friday at 5:00PM, you might read more about here : "First step of a long migration weekend reached".

The second step was System Acceptance Tests from business application's owners. And I am really happy to say that it went well, even better than what I thought, and all applications are tested and are working well and really fast according to the different testers. So we received the GO from the business to activate the new platform to all the users.

Tomorrow will be step three with the access of 12 000 users to the platform. I hope it will go like step one and two.

Jun
3
2006

First step of a long migration weekend reached

Yesterday, Friday 2 June, 2006 at 5:00 PM, we started our platform migration process at ecenter solutions.

This is the result of one year of hard work splitted in two phases:

  1. first 6 months we made several proof of concepts
  2. last 6 months we redesigned the whole architecture, made a new security concept, defined new processes and finally implemented it

So what did we currently have changed. We still have a three stages strategy with Integration, Pre-Production and Production, but we went :

  • from 4 HP L2000 (RISC Processor, 32 bits, 440MHz) to 11 HP DL385/DL585 (AMD Opteron processor, 64 bits, 2.6GHz)
  • from one DataCenter to two DataCenters with Business Recovery
  • from HP-UX 11.x to SLES 9 (64 bits)
  • from Virtual Vault to appArmor
  • from Apache 1.x to Apache 2.x
  • from Tomcat 3.x to Tomcat 5.x
  • from Java 1.3 to Java 1.5 (64 bits)
  • from Oracle 9i to Oracle 10g (64 bits)
  • from a hoster in Francfort, Germany to one in Basle, Switzerland

We also improved our deployment process, you will like it Thomas ;-), our maintenance setup, our production street switch...

The tough time of this weekend is the migration of the whole data set sized to more than 650 Gb. It worked :-) Great job Philippe.

After some slight last modifications our internal tests are all on green. We now are waiting the system acceptance test of the business for tomorrow. And the final Production activation on Tuesday. So as Didier write it "eCENTER: Please cross your fingers for us :-)".

After that we will need for sure some rest and "normal working hours".

About Laurent

Laurent Kempé

Laurent Kempé is the editor, founder, and primary contributor of Tech Head Brothers, a French portal about Microsoft .NET technologies.

He is currently employed by Innoveo Solutions since 10/2007 as a Senior Solution Architect and certified Scrum Master.

Founder, owner and Managing Partner of Jobping, which provides a unique and efficient platform for connecting Microsoft skilled job seekers with employers using Microsoft technologies.

Laurent was awarded Most Valuable Professional (MVP) by Microsoft from April 2002 to April 2012.

JetBrains Academy Member
Certified ScrumMaster
My status

Twitter

Flickr

www.flickr.com
This is a Flickr badge showing public photos and videos from Laurent Kempé. Make your own badge here.

Month List

Page List