Sunday 12 December 2010

Week-14-CRM

12 Dec 2010
Total 6 hours
  1. <Documentation> 6 hours Today I have finished installation manual. And I tried to follow other person's format. But it is difficult and takes long time, because that is original format. Sometimes I have to search what format they use. I want to finish today.
11 Dec 2010
Total 6 hours
  1. <Documentation> 6 hours Still I'm doing installation manual. I took capture everything, so I need to write explanation one by one. I want to finish by tomorrow. And now I'm doing web development job, which is ordered by my friends. I am very busy this week.

10 Dec 2010
Total 6 hours
  1. <Set up server> 6 hours Today I have done only to help set up server. Because my classmates' web site is shown some errors, they were supposed to make presentation again. But they cannot show server, so they used local machine. They will pass, but the fixing problem is required. That's why I helped them. I think my classmates need to get more problem solving skills. The reason of the error is that Master page error, which has left menu contents inside contents place holder. Therefore, IIS is shown error.

8 Dec 2010
Total 6 hours
  1. <Documentation> 6 hours I have finished design documentation. And I got feedback this documentation also. However, still I have to do installation manual. When I set up server, I asked my team member to take capture or not. At that time, we haven't known we need to write installation manual, so I didn't take capture. Now I regret that I didn't take capture, because I set up server 4 times. Now I starts to set up again.

7 Dec 2010
Total 6 hours

  1. <Presentation> 3 hours I joined the presentation. We have already finished our presentation, so we felt relax! However, I helped other team. That's why sometimes I worried their presentation. I think compering this semester with last semester we have done quite well. But this time only one team have passed. Two teams were left. I hope everyone will finish this week.
  2. <Documentation> 2 hours I spend to help setting their server, so I cannot spend the time to write documentation. The documentation takes a lot of time. I want to finish this week.


6 Dec 2010
Total 6 hours


  1. <Server setting> 4 hours I helped other team to upload their application. I have suggested that they have to check before presentation because environment is completely different. However, they were busy for modifying their source code. Anyway, I hope they will pass this week!
  2. <Documentation> 2 hours I have to finish my documentation, but I also help other team. I don't have enough time to do my documentation. Which is the important...?

Thursday 2 December 2010

Week-13-CRM

03 Dec 2010
Total 4 hours

  1. <Presentation> 4 hoursToday, we had final presentation. If we can pass this presentation,  we can graduate this year. If not, we need to continue up to all teachers are agree with the level. So this is the most important time for us. I prepared yesterday without internet connection. This morning, I want to connect to the internet, however we cannot see network card. The reason is network card was burned. Therefore, we changed network card and configure IP address. I used virtual machine, so firstly I cannot connect to the internet, that's why I became nervous. Finally I can connect to the internet, so I feel relief!


02 Dec 2010
Total 8 hours

  1. <Presentation Practice> 4 hours We practiced our presentation, but this time I cannot remember what I want to say. My part is User ID management, schedule, and client details. Topic is not so difficult. However, the logical order is difficult. And sometimes I forgot what I want to explain. Maybe my brain is stopped. I need more practice.
  2. <Upload source code and testing> 4 hours I upload source code to the server. This server normally disconnected from internet. If I want to connect to the internet, I have to ask School staff. Actually, it is not convenient, so source code also need to change depend on the internet connection. I think school must think about the environment. Our teacher said to us that no one have asked about the internet connection. Uhh...n. This is the biggest problem:)
01 Dec 2010
Total 8 hours

  1. <Truncate and create new data> 8 hours Our presentation was postponed, so now we have a time. We decided to truncate database, because some dummy data case trouble. First, truncate our database and then we want to insert front page. So test data should be logical. But it takes long time....

30 Nov 2010
Total 6 hours

  1. <Connect to the internet> 6 hours We were supposed to make a presentation today. And we would like to finish this semester. But we have internet connection problem. Because this server has only one network card, so I set up another network card. However, it was broken, so I cannot connect to the network. I changed to the new network card. It worked, so I feel relief.


29 Nov 2010
Total 10 hours

  1. <Server setting> 10 hours I want to use a physical server not virtual machine. So this morning, I set up everything. However, I know we cannot use this server, so again I need to set up. The reason why I don't use this virtual machine is that windows 2003 server couldn't install SQL 2008 server. After I said to the teacher about the problem, they gave us windows 2008 server. Hardware setting is taking time. I'm really exhausted.

Sunday 28 November 2010

Week-12-CRM

28 Nov 2010
Total 6 hours
  1. <Reminder testing> 6 hours I thought this function is working well, but when I started testing, many bugs are there. I don't know the reason, degrade or my misunderstanding... Anyway I have to fix and start testing, so first I need to unit testing. Finally I have finished my part.

27 Nov 2010
Total 6 hours
  1. <Manage user Testing> 6 hours I have tested my manage user function. This function is affected by adding client role. So I need to fix bugs. And this is very important part for the security. That's why I need to test many patterns.


26 Nov 2010
Total 7 hours
  1. <Set up IIS> 7 hours I have set up IIS for the final presentation. In the final presentation, we have to upload the application to the internal server. I can install IIS however some errors are shown, I don't know I can finish by next Monday or not.

25 Nov 2010
Total 6 hours
  1. <Login Testing> 6 hours I have done login testing. But I realized I forgot to create recovery password and change password function. I created those function and tested also. ASP.net recovery password and change password are not so perfect. I needed to modify something.
 ASP.net membership password recovery
If you want to use gmail for password recovery mail, you need to write following.
- web.config
<mailsettings>
   <smtp deliverymethod="Network" from="riekosgmt@gmail.com">
    <network defaultcredentials="false" host="smtp.gmail.com" password="######" port="587" username="username">
   </network>
  </smtp>
</mailsettings>
- Forgotpassword.aspx.cs
protected void prForgotPassword_SendingMail(object sender, MailMessageEventArgs e)
    {
        MailMessage mm = new MailMessage();


        mm.From = e.Message.From;

        mm.Subject = e.Message.Subject.ToString();

        mm.To.Add(e.Message.To[0]);

        mm.Body = e.Message.Body;
        SmtpClient smtp = new SmtpClient();
        smtp.EnableSsl = true;

        smtp.Send(mm);
        e.Cancel = true;    
    
    }

25 Nov 2010
Total 6 hours
  1. <Login Testing> 6 hours I have done login testing. But I realized I forgot to create recovery password and change password function. I created those function and tested also. ASP.net recovery password and change password are not so perfect. I needed to modify something.

24 Nov 2010
Total 6 hours
  1. <Create Test document> 3 hours I wrote test plan documentation and Test case example documentation. I wondered the sample test document is not such convenient format. So I asked our teacher we can modify format or not. He allowed me to modify the format. Therefore, I created test example format and we will start testing. 
  2. <Client Login function> 3 hours I have done client login function. I use ASP.net membership function. First, I thought I just add on new role for the client. But this adding role affects whole managing user function. I should have thought deeply designing role.

    23 Nov 2010
    Total 5 hours
    1. <Marge source code> 3 hour  Today we have a presentation. However, I need to merge source code again. That's why I cannot spend the time for preparing a presentation. 
    2. <Presentation> 2 hours We made a semi-final presentation. We have a lot of functions, therefore, we explained one by one. And also this software is a little complex, so I don't know they can understand or not. I hope they understand our application.

     22 Nov 2010
    Total 6 hours
    1. <Manage User> 3 hours I finalized manage user function. This time it is not so perfect, but we don't have enough time and we want to graduate this year, so I focused on the normal flow.
    2. <Marge source code> 3 hour  We merged source code for the presentation. We are using SVN, but this time it didn't work. Our some parts of source code were downgraded. We didn't have enough backup, so we need to check whole source code. The most important is to take back up often. 

    Sunday 21 November 2010

    Week-11-CRM

    21 Nov 2010
    Total 5 hours
    1. <Manage user> 5 hours I finished assign client function. I thought it was easy, however when I consider deeply, it is difficult, because some people have already assigned clients and others don't have. If user has already assigned particular client, I need to update. If not, I will insert. Therefore, lots of conditions are there. 


    20 Nov 2010
    Total 5 hours
    1. <Document Testing Plan> 5 hours Today I wrote testing plan documentation. In the academic purpose, we need to write many documentations. Honestly, we haven't touched the documentations, so many documentations are not started yet. Now we have to start documentations also. Testing plan documentation is not so difficult, however I may misunderstand some parts. Therefore, I need to check my understanding is correct or not.  

    19 Nov 2010
    Total 4 hours
    1. <Manage User> 3 hours I created search user, update user, activate user and deactivate user function. I have to do create user and assign clients functions. I hope I will finish this week. But these days many my class mates ask fix their bugs, so I am busy.
    2. <Group meeting> 1 hour  We make a presentation our application to the our supervisor. Actually, we have a lot of functionality manage client, manage contact history, manage schedule, reminder, invoice, payment and manage users. Also we have client function, so it is rich application:) 


    18 Nov 2010
    Total 7 hours

    1.  <Create Reminder> 5 hours I have done reminder function. ASP.net uses javascript meny part, which is auto generated by the ASP.net. So sometimes this javascript conflict each other. If I use the File Upload control inside update panel, the file data is automaticaly gone. Maybe it is already clear bug, but I didn't know that. And that kinds of conflicts are happen many times, that's why I took more time than I expected.
    2. <Manage User> 2 hours Now I can start manage user function, But I used asp.net membership control, which is generated own about 10 tables. I needs to research how to connect my application to the membership control. 


    16 Nov 2010
    Total 7 hours

    1. <Create Reminder> 5 hours Still I continue to create reminder function. I have done attach document function. But I regret this function, because reminder allows user to attach document up to 5 documents. However, it became very complex, I think three is enough, but if I change them, it also needs to spend time. 
    2. <Presentation> 2 hours Today we joined the presentation, I thought we can make a presentation, but team reader and supervisor don't want to show this application at the moment. So we postponed our presentation to the next week. 

    Send Email Class
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Net.Mail;
    using System.Collections;
    
    
    /// 
    /// Summary description for SendEmail
    /// 
    public class SendEmail
    {
        public string Email1{set;get;}
        public string Email2 { set; get; }
        public string Subject{set; get;}
        public string Body { set; get; }
        public string AttachementPath { set; get; }
    
    
    
        public void SendEmailmethod(string email, string subject, string body)
        {
            string To = email;
            string From = "riekosgmt@gmail.com";
            MailMessage message = new MailMessage(From, To);
            message.Subject = subject;
            message.Body = body;
    
            // Add a carbon copy admin
            MailAddress copy = new MailAddress("riekosgmt@gmail.com");
            message.CC.Add(copy);
    
            SmtpClient Client = new SmtpClient();
            Client.Host = "smtp.gmail.com";
            Client.Port = 587;
            Client.Credentials = new System.Net.NetworkCredential("riekosgmt", "testcrm111");
            Client.EnableSsl = true;
            Client.Send(message);
        }
    
    
        public void SendEmailwithAttach(string email, string subject, string body, string[] attachementpath)
        {
            string To = email;
            string From = "riekosgmt@gmail.com";
            MailMessage message = new MailMessage(From, To);
            message.Subject = subject;
            message.Body = body;
    
            // Add a carbon copy admin
            MailAddress copy = new MailAddress("riekosgmt@gmail.com");
            message.CC.Add(copy);
            foreach (string file in attachementpath)
            {
                Attachment attachFile = new Attachment(file);
                message.Attachments.Add(attachFile);
            }
            SmtpClient Client = new SmtpClient();
            Client.Host = "smtp.gmail.com";
            Client.Port = 587;
            Client.Credentials = new System.Net.NetworkCredential("riekosgmt", "testcrm111");
            Client.EnableSsl = true;
            Client.Send(message);
        }
     public SendEmail()
     {
      //
      // TODO: Add constructor logic here
      //
     }
    
    }
    

    15 Nov 2010
    Total 7 hours

    1. <Create Reminder> 5 hours I created reminder function. I couldn't finish search reminder function, so I have to continue to do.But my concern is our team member's part. I hope we will finish by this week.
    2. <Client meeting> 2 hours Today, we discussed with the client. Most we talked about Invoice and Payment function. Finally, we got his idea clearly. So, now we will finalize it.

    Sunday 14 November 2010

    Week-10-CRM

    14 Nov 2010
    Total 6 hours 
    1. <Create Reminder> 6 hours I created reminder function 70%. Actually, I want to finish today, but I need to do retrieve Email also, so I will start retrieve email. However, before I start, I have to merge source code to other team members' source. We use SVN, so it will be easy. Honestly, I was impressed this software. I really understood the reason, which many people have already used!  

    13 Nov 2010
    Total 4 hours 
    1. <Create Reminder> 4 hours Now I started coding for reminder function, however it will be longer than I expected. Ummmm.... I want to finish by end of this week, but I try to use radio button inside gridview. When I use auto generate function, it will work. But if I use radio button in the gridview binded data from behind C#, it won't work. I didn't know that, so until I realized the reason,  I researched many pages. That's why I don't like ASP.net.
     12 Nov 2010
    Total 6 hours 
    1. <Create Reminder> 6 hours Finally, I could start my part, which is reminder function. I need to start from first, because table layout was completely changed, so I'm not sure how long I will take to create reminder function. But I want to finish it as much as first.

    11 Nov 2010
    Total 6 hours 
    1. <Research for Create Cookie> 6 hours I research for creating cookie, because when user logs in this system, we want to pass the information to this user, and we will always use this information during logged in. First, I want to put in the information into the authentication cookie, however, they cannot have extra information, so I have to create original cookie. The coding is following, I need to encode this cookie. But this coding hasn't encoded yet. 

    int AccountantID = GetAccountantID(LoginHome.UserName);
     
                  // Get cookie from the current request.
                  HttpCookie cookie = Request.Cookies["Acc"];
    
                  // Check if cookie exists in the current request.
                  if (cookie != null)
                  {
                      HttpCookie myCookie = new HttpCookie("Acc");
                      myCookie.Expires = DateTime.Now.AddDays(-1d);
                      Response.Cookies.Add(myCookie);
    
                  }
                 
                      HttpCookie cookieAcc = new HttpCookie("Acc");
                      cookieAcc.Expires = DateTime.Now.AddDays(1);
                      cookieAcc.Value = Convert.ToString(AccountantID);
    
                      Response.Cookies.Add(cookieAcc);
    
    
    10 Nov 2010
    Total 6 hours 
    1. <Research for ASP.net Membership> 6 hours Finally, I could use membership control. The solution is that we have to use formauthenticationticket class, such as following. And I can control to access website using roles.

    if (Membership.ValidateUser(username, password))
        {
          string userData = "ApplicationSpecific data for this user.";
    
          FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
            username,
            DateTime.Now,
            DateTime.Now.AddMinutes(30),
            isPersistent,
            userData,
            FormsAuthentication.FormsCookiePath);
    
          // Encrypt the ticket.
          string encTicket = FormsAuthentication.Encrypt(ticket);
    
          // Create the cookie.
          Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
    
          // Redirect back to original URL.
          Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent));
        }
        else
        {
          Msg.Text = "Login failed. Please check your user name and password and try again.";
        }
    

    09 Nov 2010
    Total 6 hours
    1. <Presentation> 2 hours We joined the presentation and we can get knowledge from other teams. I think this time many teams try to do hard, so average level becomes high.
    2. <Research for ASP.net Membership> 4 hours I still research login authentication using role function. And I couldn't find solution today also. Who can use this function properly? Microsoft should have good reference.

    08 Nov 2010
    Total 6 hours
    1. <Group Meeting> 1 hours We discussed how much we will finish by next week. We decided to do up to prototype and plus alpha. But this time, the application must have a validation and security. So we will become busy. 
    2. <Research for ASP.net Membership> 5 hours I researched ASP.net membership function, because I want to use role function. However, there is no good solution. If I follow the web site, which is tutorial website, it will not be enough to control using role. Microsoft offered many references, but the concept is not so clear, that's why it is very difficult to find good solution. 

    Saturday 6 November 2010

    Week-09-CRM

    07 Nov 2010
    Total 5 hours
    1. <Group Meeting> 3 hours We discussed about login function because we don't want to create duplicated pages. Maybe ASP.net offers those functionality for the secure login and authorization purpose. However, we couldn't get clear idea of the function. Because many references are written different way, so we cannot understand what is the correct answer.
    2. <Create Dummy data> 2 hours I want to finish to create dummy data today, but I couldn't finish because of the research of role function. If I have enough time, I can do both:)

    06 Nov 2010
    Total 5 hours
    1. <Group meeting> 1 hour We reviewed ERD. There is no answer, so we are still wondering it is suitable or not. But we can understand many things, so after finish this project, we can continue more efficient product.
    2. <Create SQL statement> 3hours I created SQL statement, I thought I can reuse previous SQL statement, but I couldn't. Because there are many changes, I needed to create first.
    3. <Research for the role> 1 hour We discuss about the system admin function. System admin is like a add-on to the accountant role, therefore, many functions are duplicated. I need to research how to solve this problem using ASP.net.


    05 Nov 2010
    Total 2 hours
    1.  <Group meeting> 2 hours Today we talked about the ERD and we need to modify Database layout many things. After configure ERD, we can start final coding. This time I want to create more beautiful coding, maybe I can do.

    04 Nov 2010
    Total 5 hours
    1. <Coding for Reminder function> 1 hours I almost all finish reminder function. I don't want to see reminder anymore:) But still I have to create reminder function for the final version. We don't have enough time coding.
    2. <Group Meeting> 2 hours We discussed about the agenda for the client meeting. Today we need to discuss with our client many things. So we prepare for the client meeting. Our client is very busy. I'm not sure he has time or not.
    3. <Client Meeting> 2 hours Hopefully he has time to discuss us, so we could get a lots of requirements from him. Many parts must be changed, we will become more busy.

    03 Nov 2010
    Total 6 hours
    1. <Coding for Reminder function> 2 hours I updated reminder search function. But I wonder it is handy or not. Uhhh... I hope it will be useful for our client. And also we are thinking whether bulk or one by one e-mail is good.
    2. <Group Meeting> 1 hour We will have a client meeting, so now we discuss about the agenda. This time we have a lot of questions, so we may not have enough time to ask everything.
    3. <Research> 3 hours I researched login function for after logout. Normal login is not so hard, but if we want to create real secure login, it will be difficult. Now I research back button restriction.

    02 Nov 2010
    Total 6 hours

    1. <Presentation> 2 hours We showed the our progress and receiving email function. Actually, I don't know they understand or not. But the atmosphere is good mood. Therefore, I think OK.
    2. <Group Meeting> 2 hours We discussed about the presentation, this time there are many team will explain, so we may not have time to show our progress.
    3. <Coding for Reminder function> 2 hours I need to upgrade for the reminder function. There are many similar coding, so I wonder what is the good way. This is prototype, so I need to refresh my mind and then I start coding.


    01 Nov 2010
    Total 6 hours

    1. <Group Meeting> 2 hours We discussed about the presentation, what we will explain. My supervisor advised us to tell our progress briefly. So I created the PPT slide for the presentation.
    2. <Coding for Reminder function> 4 hours I almost finished the reminder function. However it becomes very complex, so sometimes I am confused by myself. I need to get more clear idea for the reminder function.

    Saturday 30 October 2010

    Week-08-CRM

    29 Oct 2010
    Total 6 hours
    1. <Group Meeting> 2 hours We discussed about the table layout. In this time we haven't done normalization. So there are many tables, which have duplicated information, for example, status, category and so on.
    2. <Coding for Reminder function> 4 hours Honestly, I want to finish up the reminder function today, however I could not finish. So I will continue that on weekend. This weekend I have an appointment, so I don't know I can finish or not. Anyway I will do my best:)

    28 Oct 2010
    Total 6 hours
    1. <Coding for mail> 1hours I created to display part of the recent e-mail address. I checked the recent e-mail and I could get result, which I expected.
    2. <Coding for Reminder function > 5hours Now I make the programming for the reminder function. I realized one page has many functions, so I have to coding many things. And also I need to send e-mail to the using smtp, however sending e-mail function has already done at the last semester, so I can do.

    27 Oct 2010
    Total 8 hours
    1. <Coding for mail> 3hours I searched internet and I found the C# console application can create exe file. So I can make exe file and I create schedule to do this execute file every 5 min.
    2. <Coding for Reminder function > 5hours I make the reminder function, however I need to take a time using ASP.net, because I don't know many functions, and also sometimes working is different from my expectation. So I need time. 
    To create exe file
    Tool bar > Build > Batch build > select release and then press Build button. You can fine bin file in the release folder, there is exe file.
    I create record using control panel in side scheduler.


    26 Oct 2010
    Total 5 hours
    1. <Coding for mail> 3hours I thought the web application is not suitable for getting e-mail, because someone must go to this web site. So I need to create bat file or some kind of executable file. This programming can get e-mail automatically, which means no one action to get e-mail. Therefore, system can do to get data automatically.
    2. <Presentation meeting> 2hours We attend the meeting.This time only two group made a presentation, so we have a time to do.
    25 Oct 2010
    Total 4 hours
    1. <Coding for mail> 4hours Today is Labor day, which is New Zealand National holiday. New Zealand's holidays are less than Japanese ones. So I got a little rest. Today, I could get to read Google mail using ATOM Feed. Finally, I understood C# XML classes. Actually, there are many similar naming classes, so I need to research one by one. I can already read some ATOM feed, but I could not get attribute of the link, for example "href=". So if someone may try to do same thing, I will write down coding.  

    GmailHandler Class
    I downloaded this class form http://fci-h.blogspot.com
    using System;
    using System.Data;
    using System.Xml;
    using System.Net;
    using System.IO;
    /*
     * this code made by Ahmed Essawy
     * AhmedEssawy@gmail.com
     * http://fci-h.blogspot.com
     */
    /// 
    /// Summary description for Class1
    /// 
    public class GmailHandler
    {
        private string username;
        private string password;
        private string gmailAtomUrl;
    
        public string GmailAtomUrl
        {
            get { return gmailAtomUrl; }
            set { gmailAtomUrl = value; }
        }
    
        public string Password
        {
            get { return password; }
            set { password = value; }
        }
    
        public string Username
        {
            get { return username; }
            set { username = value; }
        }
    
        public GmailHandler(string _Username, string _Password, string _GmailAtomUrl)
        {
            Username = _Username;
            Password = _Password;
            GmailAtomUrl = _GmailAtomUrl;
        }
    
        public GmailHandler(string _Username, string _Password)
        {
            Username = _Username;
            Password = _Password;
            GmailAtomUrl = "https://mail.google.com/mail/feed/atom";
        }
        public XmlDocument GetGmailAtom()
        {
            byte[] buffer = new byte[8192];
            int byteCount = 0;
            XmlDocument _feedXml = null;
            try
            {
                System.Text.StringBuilder sBuilder = new System.Text.StringBuilder();
                WebRequest webRequest = WebRequest.Create(GmailAtomUrl);
    
                webRequest.PreAuthenticate = true;
    
                System.Net.NetworkCredential credentials = new NetworkCredential(this.Username, this.Password);
                webRequest.Credentials = credentials;
    
                WebResponse webResponse = webRequest.GetResponse();
                Stream stream = webResponse.GetResponseStream();
    
                while ((byteCount = stream.Read(buffer, 0, buffer.Length)) > 0)
                    sBuilder.Append(System.Text.Encoding.ASCII.GetString(buffer, 0, byteCount));
    
    
                _feedXml = new XmlDocument();
                _feedXml.LoadXml(sBuilder.ToString());
    
    
            }
            catch (Exception ex)
            {
                //add error handling
                throw ex;
            }
            return _feedXml;
        }
    }
    

    Default.aspx.cs
    This page calls Google mail Atom feed and displays result.
    I was struggling "if (entrychild.Name == "link")" part, because Atom feed uses link for attribute. If it was <link> URL </link>, there would be no problem:)
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Xml;
    using System.Net;
    using System.IO;
    using System.Net.Sockets;
    using System.Net.Security;
    using System.Text.RegularExpressions;
    using System.Xml.XPath;
    
    public partial class _Default : System.Web.UI.Page
    {
        public string r = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            //Create the object from GmailHandler class 
            GmailHandler gmailFeed = new GmailHandler("your username", "password");
            //Get the feed :) 
            XmlDocument myXml = gmailFeed.GetGmailAtom();
    
            //For to get Name and Innner Text From Atom Feed
            XmlElement root = myXml.DocumentElement;
            XmlNodeList xmlnode = myXml.GetElementsByTagName("entry");
    
            foreach (XmlElement entry in xmlnode)
            {
                foreach (XmlElement entrychild in entry)
                {
                    if (entrychild.Name == "author")
                    {
                        foreach (XmlElement entry2ndchild in entrychild)
                        {
                            Response.Write(entry2ndchild.Name);
                            Response.Write(":\t" + entry2ndchild.InnerText + " \n
    ");                   
                        
                        }
                    }
    
                    Response.Write(entrychild.Name);
                    Response.Write(":\t" + entrychild.InnerText + " \n
    ");
                    if (entrychild.Name == "link")
                    {
                        string target = entrychild.OuterXml;
                        Match match = Regex.Match(target,
                        @"href=""([^""]+)""");
                        if (match.Success)
                        {
                            string href = match.Groups[1].Value;
                            Response.Write(href + " \n
    ");
                        }
                    }
                }
                Response.Write("\r\n\r\n
    ");
            }
        }
    }