Wednesday, October 1, 2008

[project] Wedding Gijs en Shirley

In september 2008 gijs en shirley (friends) got married. They asked me to build a website for them, so they can tell something about themselfes. I also created a 'gift shop' with different catogories. The vips on the wedding also wrote something personal about the married couple.

I build the website with adobe flash and PHP. The only thing that PHP did in this project is to send the gift shop mails.
Gijs en shirley wanted something grey and purple in their website. So I designed three previews and the picked this one:

http://www.gijsenshirley.nl/

And the lived happely ever after!

Thursday, June 12, 2008

3D .... video!?

Yes, its already possible to create 3D images and to show them on the web.
And yes, its also possible create a 3D scene

Papervisions blog show this amazing link.
Video and 3D together. Flabbergasting!! The equipment is al little bit expensive. But if you got the equipment setup, you can make amazing videos.
This is the direct link to the website: click

I'm waiting to implement this technique into the world of www...


Wednesday, May 7, 2008

CollapsiblePanelExtender and postback in C#

After a week of searching I found the solution to save the state of an Ajax collapsiblePanelExtender.
I want to show you that it is very easy to save the state after a postback.

Clientside

First you need to create your collapsiblePanelExtender:


TargetControlID="PanelNewsItems"
CollapsedSize="0"
ExpandedSize="220"
Collapsed="False"
ExpandControlID="LinkButtonPanelHeader"
CollapseControlID="LinkButtonPanelHeader"
ScrollContents="False"
TextLabelID="LinkButtonPanelHeader"
CollapsedText="Toon Nieuws"
ExpandedText="Verberg Nieuws"
ExpandDirection="Vertical"
ImageControlID="ImageCollapsePanel"
CollapsedImage="~/images/expand.gif"
ExpandedImage="~/images/collapse.gif"
SuppressPostBack="false"/>

Important is the SuppressPostback parameter. If you set it 'true' the postback will not be fired. So to create a postback the SuppresPostBack parameter needs to be set to 'false'.
The expandControl and the CollapseControl is in my case a LinkButton.




As you can see the LinkButton has an OnClientClick. This click calls a javascript function that saves the state of the collapsiblePanelExtender into a HiddenField.

So you have to put a HiddenField somewhere on your page:




Somewhere in the code you need to place the javascript code to set the hiddenfield value after the clientclick on the linkbutton:


function changeStateNews(){
objExtender = $find("<%=CollapsiblePanelExtenderNewsItems.ClientID%>");
objHiddenField = document.getElementById("<%=HiddenFieldNews.ClientID%>");
if(objExtender.get_Collapsed()){
objHiddenField.value = '0';
}
else objHiddenField.value = '1';
}

Serverside
That's it for the clientside. Now I'll show you the serverside code:


#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///

private void InitializeComponent()
{
this.LinkButtonPanelHeader.Command += new CommandEventHandler(LinkButtonPanelHeader_Command);
this.RepeaterNewsItems.ItemDataBound += new RepeaterItemEventHandler(RepeaterNewsItems_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

void LinkButtonPanelHeader_Command(object sender, CommandEventArgs e)
{
if (HiddenFieldNews.Value == "1")
{
controlPanelExtender(true);
}
else
{
controlPanelExtender(false);
}

lib.cookie.setCookieValue(CookieName, HiddenFieldNews.Value);
}

void controlPanelExtender(bool value)
{
CollapsiblePanelExtenderNewsItems.Collapsed = value;
CollapsiblePanelExtenderNewsItems.ClientState = value.ToString().ToLower();
}

First to get the postback of the LinkButton you need to create the Command event in the InitializeComponent function.

In the Command function you can read the value of the HiddenField. According to the Hiddenfield value you can set the collapsed and the clientState of the collapsiblePanelExtender.

I also created an option in the Command function to save the state into a cookie. So the next time you open the page it sets the last saved state in the Page_Load function.

There is still one buggy thing I want to solve. If the server is very quick (say localhost) the postback sets the new state faster than the clientside. In other words: if you clicked on an expanded panel while its collapsing, the postback sets its state to collapsed, so it will collapse immediatly. My goal is to fire the postback after the clientside has finished the animation.

Any questions or reactions are welcome.

Monday, March 31, 2008

Eigen werk: unive

Dag beste mensen,

Ook ik kan er niet aan ontkomen om een blog te openen en mijn eigen bevindingen, meningen en eigen werk te laten zien. Ik zal me eerst even een beetje voorstellen, voordat ik jullie mijn uitgesproken mening zal laten horen ...

Mijn naam is zoals je wel ziet Karl van Santen. Ik ben nu bijna een jaar aan het werk bij het middelgrote bedrijf Amercom. Daarvoor heb ik mijn HBO-informatica opleiding afgerond en heb ik mijn eindstage gedaan bij Amercom. Zoals wel meer ben ik daar blijven hangen en ben ik in een ontwikkelteam begonnen met het maken van .net applicaties voor het web.
Na een paar maanden ben ik er achter gekomen dat ik mijn pijlen een andere kant op wilde schieten. Of ik wilde meer de projectleiding op gaan, of ik wilde meer de grafische kant op.
Flash is binnen amercom al een tijd inzetbaar, alleen door de onderbezetting nooit echt uitgegroeid tot een echt team. Flash was voor mij de ideale keuze tussen het grafische en technische gedeelte waar ik mijn creativiteit, technische kennis en plezier in kan stoppen.

Momenteel ben ik alweer bijna een half jaar bezig met het ontwikkelen van flash applicaties en kleinere flash onderdelen binnen een website. Ik heb gemerkt dat ik een heleboel energie kan halen uit de dynamische en technische aspecten.

Om dan toch even een beeld te geven van wat ik nu doe (even visualiseren... ) kun je kijken op www.jebrommerfoto.nl . Voor Unive hebben we een actiesite gemaakt die volledig in flash is gemaakt. Het opslaan, mailen en beheren van de ingezonden foto's wordt gedaan door .Net. Voor mij was het dus de uitdaging om deze communicatie op te zetten en na te gaan wat hiervoor de beste oplossingen zijn. In een volgende post zal ik verder ingaan op de technische achtergrond van deze applicatie