Site Menu  Site Menu 

Recent posts

Recent comments

Tags


    About the Website (For the Techies in the group)

    I am not sure if there is anyone out there who really cares about the technology behind this site, but if there is, this post is for you. I designed this site using ASP.NET running on a Windows 2003 server with MS SQL Server 2005 for the database. The server is housed at Cafe Luwak where I have a T1 line coming into the restaurant. In my gut I felt this kind of initiative should be done on the open source model, Linux Apache PHP, and MySQL for example. My reasoning for using .NET is that besides owning a restaurant, I also work as a computer consultant (my restaurant doesn't quite pay the bills), and ASP.NET is one of the technologies I am trying to learn for my job. That being said, I learned a lot from this project.

    One of my goals for this site was to make it easy to reuse. We chose the domains buylocalmichigan.com and buylocalmichigan.org because we could prefix any host we wanted on the front. If you go to ypsi.buylocalmighigan.com you come to this site, but if you type annarbor.buylocalmichigan.com, you come to this site, but it looks different. Lisa from Think Local First wanted the Ann Arbor site to have the pledge and view pledge sections, but the rest of the information was on her site, so all she needed was a link from the main menu. When you go to the Ann Arbor site you are actually going to the same site as the Ypsi site. When the pages load, the incoming url is checked, and a site ID is assigned which tells the website which theme to present to user. The themes are made up of different master pages, CSS Style sheets, and Skins for the .NET controls. So if you are coming to the Ypsi site, you get the nice red banner that Linette created and a full menu on the left side (including the blog you are reading now), but if you go to the Ann Arbor site, you get the green and orange colors and a limited menu on the left. This is all controlled by the themes and the data that you see in the center section is controlled by the website id that is sent to the database. The database server uses one set of tables for the data, so pledges from Ypsilanti and Ann Arbor are all in one table and are distinguished by the website ID.

    Due to time constraints there are a number of items that aren't as dynamic as I would like, but it would be easy to update if the need arises. If someone in our group lived in Belleville for example, and they wanted to do the same thing we are doing. We could have a copy of this site setup just by creating a color theme, a couple of images, and some data. The blog is the only portion of the site that isn't easily moveable. I didn't write that, so it is just incorporated into the site.

    If you have any questions about the site or suggestions for improvements, let me know by posting a comment here.

    Be the first to rate this post

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Posted by Jim on Monday, November 26, 2007 3:01 PM
    Permalink | Comments (2) | Post RSSRSS comment feed

    Related posts

    Comments

    Brian Filipiak us

    Thursday, November 29, 2007 11:19 AM

    Brian Filipiak

    Jim,

    Just tried taking the pledge - got back this error:

    Server Error in '/' Application.

    Service not available, closing transmission channel. The server response was: Message rejected

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Net.Mail.SmtpException: Service not available, closing transmission channel. The server response was: Message rejected

    Source Error:


    Line 82:
    Line 83: '(4) Send the MailMessage (will use the Web.config settings)
    Line 84: smtp.Send(mm)
    Line 85: End Sub
    Line 86:

    Source File: D:\inetpub\www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com\pledge\takepledge.aspx.vb Line: 84

    Stack Trace:


    [SmtpException: Service not available, closing transmission channel. The server response was: Message rejected]
    System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) +848152
    System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from) +39
    System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception) +95
    System.Net.Mail.SmtpClient.Send(MailMessage message) +2004
    Pledge_takepledge.SendThankYou(String name, String email) in D:\inetpub\www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com\pledge\takepledge.aspx.vb:84
    Pledge_takepledge.ObjectDataSource1_Inserted(Object sender, ObjectDataSourceStatusEventArgs e) in D:\inetpub\www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com" rel="nofollow">www.shoplocalmichigan.com\pledge\takepledge.aspx.vb:61
    System.Web.UI.WebControls.ObjectDataSourceView.OnInserted(ObjectDataSourceStatusEventArgs e) +114
    System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +631
    System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method) +38
    System.Web.UI.WebControls.ObjectDataSourceView.ExecuteInsert(IDictionary values) +867
    System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +72
    System.Web.UI.WebControls.FormView.HandleInsert(String commandArg, Boolean causesValidation) +388
    System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +623
    System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +95
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
    System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +109
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
    System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
    System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +163
    System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

    Version Information: Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832

    Brian Filipiak us

    Thursday, November 29, 2007 11:20 AM

    Brian Filipiak

    *Apart* from that, great effort on your part! Thanks!

    Add comment


    (Will show your Gravatar icon)  

      Country flag





    Live preview

    Sunday, September 07, 2008 3:57 PM