Charles Nurse posted on September 29, 2008 09:48

Over the last weekend Scott Guthrie announced that Microsoft would be providing full support for the jQuery javascript library, including full PSS support.

This is quite a momentous announcement.  jQuery is an Open Source project, with a similar license to DotNetNuke (it uses a modified MIT license).  Microsoft are not absorbing jQuery and writing their own version.  Scott Guthrie stated that they intend to include the library “as-is”, and if they want changes they will submit them to the jQuery team for review in the same way as any other developer.

So, where does this leave DotNetNuke. 

It certainly makes it easier for us to provide jQuery support.  As it will be part of the core ASP.NET distributions, it will likely be included in most hosting provider solutions.  Enterprises will feel more comfortable with jQuery as Microsoft will provide PSS support for the library.

I am sure that over the next few weeks there will be many discussions within the core team on where we go from here – and we will keep you posted on any decisions moving forward.

If you want to know more about jQuery then check out these links:

  • jQuery site
  • Scott Hanselman  has a jQuery example on his blog
  • Hanselminutes – Scott Hanselman interviews John Resig – creator of jQuery on a recent Hanselminutes podcast

Posted in: DotNetNuke , ASP.NET  Tags: ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Charles Nurse posted on September 25, 2008 06:52

As many of you will have gathered by reading this blog I am an avid genealogist.  I have been researching my family tree for longer than I have been developing software for a living.  At one time I even considered a career as a Professional Genealogy Researcher.

I have made many attempts to combine my two passions – and recently I launched a new Open Source Project on Codeplex – The Family Tree Project.

This project has a number of goals.

  1. Create an ASP.NET MVC sample application to manage genealogical data.
  2. Create a DotNetNuke Module, using the MVP (Model View Presenter) pattern
  3. Create a common Business and Data Layer that can be used by both the MVC application and the DotNetNuke module
  4. Provide a full set of Unit Tests
  5. Develop a .NET Library for working with GEDCOM files – GEDCOM is a standard file format for the interchange of Genealogical Data

Ultimately the goal for this project is to provide users with the tools to manage their genealogical data online, whether through a standard Web Application (MVC) or through a DotNetNuke site (DNN module).

While all the code is currently available on the Codeplex site, it doesn’t yet do very much – it is basically in a proof of concept stage.  It has 50 tests, which cover about 65% of the code.

Yesterday I upgraded the MVC portion to support the latest preview (Preview 5), and after I return from Open Force Europe next month I hope to be able to flesh the project out and provide a little more functionality.

And I will be blogging about my progress.


Be the first to rate this post

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

The first reference to a Nurse family living in the Hanham Abbots area of Hanham was the baptism of William Dolman (Nors) son of Samuel Nors on 12th April 1778 at St. George's Hanham, a chapelry of the parish of Bitton. [1][2]

As mentioned in the previous article, Samuel and his wife Rachel (nee Dolman) were married in the neighboring parish of Keynsham on the 11th October 1772. [3][4] It has not been completely proven that this Samuel was the same Samuel that was baptised in Compton Dando, but a review of the evidence indicates that it was very likely.

During the period 1754-1790 there were 9 Nurse marriages in N. Somerset. Of these 4 were in Compton Dando, 1 in Keynsham (Samuel and Rachel), 1 in Dundry, 1 in Chew Magna[5] and 2 in Bedminster, so Compton Dando appears to be the most likely birthplace.

In addition, Robert Nurse[6], who also witnessed the marriage of Sarah Nurse to Robert Ashley, six months later in Compton Dando, witnessed Samuel and Rachel’s wedding.

The chances of there being another Samuel Nurse, married to Rachel, with a brother Robert is very slim indeed. As further proof of the connection, Samuel and Rachel gave their eldest son the middle name Dolman – Rachel’s maiden name. This was quite a common practice for the time.

Figure 1 – Pickwick House, Hanham Mills (c1890)
PickwickHouse

Samuel moved to the area, with his brother Robert, sometime between 1774 and 1778. According to my great-Aunt Nell’s notes[7][8] Robert and Samuel moved into Pickwick House at Hanham Mills.

It appears that Robert initially took a job as a servant to Henry Creswicke of Hanham Court. The Creswickes were the main land owning family in the area, and when Samuel Creswicke died in September 1778 he left Robert 5 guineas in his will – “to Robert Nurse (late servant of my said brother Henry Creswicke) - 5 guineas”.[9]

Robert learnt the trade of malting and rented a house called “Strattons” on Hanham Green, where he established a Malting business[10]. He was quite involved in the life of the local church, acting as Chapel Warden many times between 1794 and 1811.[11]

Meanwhile, Samuel worked as a quarryman in a large quarry at the back of their premises called “Sam Nurse’s Quarry”. He already had one child – a daughter, Rachel – when he moved to Hanham. She was baptized in Keynsham on 3rd July 1774 [3] and she was the first to marry in 1795, to John Couch.

Over the course of the next fourteen years eight more boys were born to Samuel and his wife Rachel (see Figure 2), all of whom were baptized at St. George's Hanham.

Figure 2 – The Family of Samuel and Rachel Nurse
SamuelRachelNurse

Although there is no direct evidence, it appears that at least two of Samuel and Rachel's children, the second son and the last but one son, died in infancy. This conclusion is drawn from the fact that it is unusual to give two children the same name but it was quite common in those times to name the next child of the same sex after a recently deceased child.

In addition, only Rachel, Robert, Joseph, Samuel and William stayed in the area, married and had their own family. While the fate of the other three children is unknown, given the mortality rate of that time it is quite probable that none of them survived childhood. [12]

Rachel, William, Samuel and Robert were all married at Bitton Parish Church - apparently the chapelries of Hanham and Oldland were not licensed for weddings or burials. [1]

Figure 2 – The River Avon from Sam Nurse’s Quarry
SamNursesQuarry

Rachel being the eldest was first to marry on 2nd February 1795 to John Couch,[13] the son of Jonathan and Betty Couch.[14] John Couch was a Stone Quarryman.[15],[16],[17] This occupation was very common in the Hanham area. Rachel Couch died in 1834 and was buried at St. Mary Bitton on 29 August 1834.

Robert Nurse, my great-great-great-grandfather married Salley Couch at Bitton Parish Church on the 15th March 1803.[1]

While there is no direct evidence, it does appear that John and Salley (or Sarah) were brother and sister. John Couch was born in late 1774 or early 1775 to Jonathan and Betty Couch[18] and baptized on the 8th January 1775. One other child was baptised in the parish, Ann on the 4th February 1776. She died in infancy being buried at Bitton on the 4th May 1777. The first reference to Salley[21] was her marriage, but the evidence suggests that she was from the same family as her and Robert's eldest son was baptised Jonathan Couch Nurse (after her father).

William Nurse married Mary Willis on 20th July 1800. The registers of Hanham Church are full of references to the Willis family - there appears to have been 4 or 5 branches of the family living in the area in the late 18th century. Mary died in 1826 and was buried at St. Mary Bitton on 3 Sep 1826. Two years later William married Ann Selman, the half-sister of John and Salley Couch.16 William died in 1839 and was buried at St. Mary’s Bitton on 5 Mar 1839.

Samuel married Lucy Bishop on 17th November 1818 at the ripe old age of 33. They had nine children over the next 13 years. Samuel was also a Quarryman,[1][22][23] and three – at least – of his sons were Stone Masons.[22][23] Samuel died in 1857 and was buried at Christ Church, Hanham on 30 Dec 1857. Samuel and Lucy lived at Hanham Mills, in the house that Samuel inherited from his uncle Robert Nurse.[20]

The other child of Samuel and Rachel, Joseph was not married in the parish, but he and his wife Martha had a large number of children (seven) baptised in Hanham Church (between 1810 and 1832). Joseph’s occupation is not known, but he was probably also a Quarryman, as two of his sons were both Quarrymen.[22][23] Joseph died in 1839 and was buried on 15 December 1839 at St. Mary Bitton.

Martha outlived her husband for almost 30 years, dying in 1869. She was buried at Christ Church, Hanham on 17 Dec 1868. Martha was a launderess [23] – she probably took up this occupation when her husband died. The family, at least from 1841 on lived at Riverside.[22][22]

Samuel Nurse died and was buried at Keynsham[24] on 13th September, 1810. He must have been considered somebody of some importance in the area as he was buried in the church itself, rather than in the churchyard. His wife Rachel, died some 21 years later and was also buried at St. John’s Keynsham on 9th August 1831.

Samuel apparently died without a will[25] and his share of the malting business passed to his son Robert. Samuel’s brother, Robert died a few years after him and was buried at St. Anne’s Oldland on 14th December 1819. His will[20] also gave his share of the malting business to his nephew Robert, so Robert became the sole owner of the business, on his uncle’s death.


Bibliography and Notes

[1] Parish Register for the Parish of St. Mary, Bitton, including the chapelries of Hanham and Oldland, 1571 - 1934. Microfiched by the Bristol Record Office, Bristol.

[2] Bishop's Transcripts for the Parish of St. Mary, Bitton, including the chapelries of St. George, Hanham and St. Anne, Oldland, 1578-1813. Microfilmed by the Church of Jesus Christ Of Latter-Day Saints, Film No. ??????.

[3] Parish Register for the Parish of St. John, Keynsham, 1750 - 1807. Microfilmed by the Church of Jesus Christ Of Latter-Day Saints, Film No. 1526662

[4] Bristol and Avon Marriage Index 1754-1837, Bristol and Avon Family History Society. Microfilmed by the Mormon Church, Film No. 1565996.

[5] Although the marriage of William Nurse and Ruth Sage occurred in Chew Magna on 5 Jan 1761, the Banns were read during the previous November and December in Compton Dando, as William Nurse was a resident of that parish.

[6] Whether this Robert Nurse was Samuel’s father or elder brother is not mentioned.

[7] Personal Notes of Francis Ellen Nurse (Nell), transcribed by Francis Edward Charles Nurse (Frank).

[8] My great-aunt Nell - Francis Ellen Nurse – was the sister of my grandfather William Richmond Nurse. Both of them appeared to have had a considerable interest in the history of their family. Aunt Nell’s work is in the possession of my second-cousin Frank, and he and his wife have transcribed much of what she recorded.

[9] GENUKI, The Wills of Gloucestershire - http://www.genuki.org.uk/big/eng /GLS/ProbateRecords/WillsC.html

[10] The malting house at Strattons is still standing today.

[11] ChurchWarden Accounts for the Parish of Hanham, Bristol Record Office.

[12] The parish register of Keynsham lists the burials of John as well as two unnamed children of Samuel Nurse of Hanham.

[13] I have a pewter tankard that was made in 1765, and has the letters “JRC”, inscribed on the side. I believe that this belonged to Jonathan and Rachel Couch, and was given to them, probably as a Wedding present. According to John Couch’s Will20 all of his plate, china, glass etc. were bequeathed to his half-sister Ann Nurse (nee Selman). As she died, with no heirs, it is possible that she left the tankard to her half-sister Salley and brother-in-law Robert.

[14] Jonathan Couch and Betty Rawbone were married at St John’s Keynsham on 22 Feb 1773. Jonathan Couch died 6 years later on the 11 Aug 1779, and his widow Betty remarried three years later to William Selman (18 Dec 1782) at St. Mary’s Bitton. William and Betty Selman, had a daughter Ann who would later marry William Nurse (see Figure 3)

[15] The Will of John Couch, dated 15 May 1865; Bristol Wills, vol. 29, Bristol Record Office.

[16] 1841 National Census. Microfiche copy held at the Bristol Reference Library.

[17] 1851 National Census. . Microfiche copy held at the Bristol Reference Library.

[18] Jonathan and Betty Couch are mentioned in the Land Tax records for Keynsham[19] as the occupier of a piece of property owned by William Dolman (who was probably the brother of Rachel Nurse (nee Dolman)). Also John Couch (the younger) was the executor of Robert Nurse’s will.[20] Thus there are multiple connections between the Couch, Dolman and Nurse families which taken together provide strong evidence for our deductions.

[19] Land Tax Records for the Parish of Keynsham, Somerset, 1766 – 1831. Microfilmed by the Church of Jesus Christ Of Latter-Day Saints, Film No. 1526847.

[20] The Will of Robert Nurse, dated 24 March 1819; Gloucester Record Office .

[21] My grandfather’s notes indicate that Salley was born on 2 Feb 1781. However, Jonathan Couch died on 11 Aug 1779. In the burial register for her death in Jan 1843 she is listed as being 63 years old, which would mean that she had been born between Feb 1779 and Jan 1780, so I believe that she was born on 2 Feb 1779, six months before her father died.

[22] 1841 National Census. Microfiche copy held at the Bristol Reference Library.

[23] 1851 National Census. . Microfiche copy held at the Bristol Reference Library

[24] Parish Register for the Parish of St. John, Keynsham (1808 – 1837). Microfiched by the Taunton Record Office, Taunton, Somerset.

[25] No record of a will has been found in Bristol Record Office, Gloucester Record Office or at the Public Record Office in London.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Charles Nurse posted on September 19, 2008 11:59

Are you going to the OpenForce Europe conference being held in conjunction with the annual SDC (Software Developers Conference) in the Netherlands..

This is the second OpenForce Europe conference, although SDC has been running much longer.

If so – I look forward to meeting you.  I will be presenting 3 talks.

  • NN15 – Creating Testable Modules
  • NN16 – A Deep Dive into DotNetNuke 5.0
  • NN17 – A Deep Dive into the DotNetNuke Proeprty Editor

So come on by and introduce yourself.


Posted in: DotNetNuke  Tags: , ,

Be the first to rate this post

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

In previous blog posts in this series on creating testable modules I have show how the various layers of a DotNetNuke module can be built and tested independently.  In this blog we will create the LinksView UserControl and demonstrate in the browser that everything does indeed work as expected.

The LinksView UserControl

Lets first take a look at the code file for the UserControl.  As we would expect the UserControl has to implement the ILinksView interface.  As we are writing a DotNetNuke Module it must also implement the IModuleControl interface.  In DotNetNuke 5.0 the IModuleControl interface replaces the PortalModuleBase class as the contract which all module controls must implement.

Listing 1 – The LinskView UserControl’s Code File
   1:  public partial class LinksView : ModuleUserControlBase, ILinksView
   2:  {
   3:      LinksViewPresenter presenter;
   4:   
   5:      public LinksView()
   6:      {
   7:          //Instantiate associated Presenter
   8:          presenter = new LinksViewPresenter(this, 
   9:                      new LinksRepository(new DataService()));
  10:      }
  11:   
  12:      public int ModuleId
  13:      {
  14:          get { return this.ModuleContext.ModuleId; }
  15:      }
  16:   
  17:      public List<Link> Links
  18:      {
  19:          set
  20:          {
  21:              grdLinks.DataSource = value;
  22:              grdLinks.DataBind();
  23:          }
  24:      }
  25:   
  26:      protected override void OnLoad(EventArgs e)
  27:      {
  28:          base.OnLoad(e);
  29:          presenter.OnViewLoaded();
  30:      }
  31:  }

In this case as we are creating a UserControl we can inherit from the new ModuleUserControlBase.  The View has to create an instance of the LinksViewPresenter, which in turn requires an instance of LinksRepository and an instance of DataService, and this is all wired up in the Constructor. 

The ModuleId property, which the presenter uses, wraps the ModuleId property of the IModuleControl’s ModuleContext property, while the Links property wraps the DataSource property of a DataGrid control on the ascx page.  Finally, the view’s OnLoad method calls the presenter’s OnViewLoaded method to make everything work.  This is similar to how we wired up the concrete View control in our HelloWorldMVP application.

Listing 2 - The LinskView UserControl’s ASCX File
   1:  <asp:DataGrid ID="grdLinks" runat="server" AutoGenerateColumns="false" 
   2:                  GridLines="None" ShowHeader="false">
   3:      <Columns>
   4:          <asp:TemplateColumn>
   5:              <ItemTemplate>
   6:                  <asp:HyperLink 
   7:                      ID="lnkLink" runat="server" CssClass="CommandButton" 
   8:                      NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"LinkUrl") %>' 
   9:                      Text='<%# DataBinder.Eval(Container.DataItem,"LinkText") %>'
  10:                      ToolTip='<%# DataBinder.Eval(Container.DataItem,"Title")%>' />
  11:              </ItemTemplate>
  12:          </asp:TemplateColumn>
  13:      </Columns>
  14:  </asp:DataGrid>

Listing 2 shows the ascx file for the UserControl.  Here we just set up the binding to the various properties of our Link objects.

Registering the LinksMVP Module

We are now ready to Register the Links MVP module.  The process has changed a little in DotNetNuke 5.0. In Host/Module Definitions (or Host/Extensions) select the Create New action.  On the first page of the Create new Extension Wizard fill out the Package level properties (Figure 1) – Note:  if you launched the Wizard from the Module Definitions page (Rather than Extensions) you will not see the Select Extension Type drop-down.

Figure 1 – Creating the New Module Definition – Page 1
LinksMVPCreateModule1

The next Wizard page will allow you to set the Module properties. (Figure 2).

Figure 2 – Creating the New Module Definition – Page 2
LinksMVPCreateModule2

Finally, on the last Wizard page, if you intend this module for distribution, you can add some information about you or your company (Figure 3).

Figure 3 – Creating the New Module Definition – Page 3
LinksMVPCreateModule3

After selecting Next the Module will be registered.  You will need to add the Module Definition and the Module Control reference.  This is done in much the same way as it was prior to 5.0.

Setting up the Database

The last step is to create the database objects we will need.  We will do this by executing the same SQL we used in our DataService tests.

Listing 3 – The TSQL required to create the Links Table and GetLinks Procedure
   1:  CREATE TABLE {databaseOwner}[{objectQualifier}LinksMVP_Links](
   2:      [LinkId] [int] IDENTITY(1,1) NOT NULL,
   3:      [ModuleId] [int] NULL,
   4:      [LinkText] [nvarchar](250) NULL,
   5:      [LinkURL] [nvarchar](1000) NULL,
   6:      [Title] [nvarchar](250) NULL
   7:      CONSTRAINT [PK_{objectQualifier}LinksMVP_Links] PRIMARY KEY CLUSTERED ([LinkId] ASC)
   8:  )
   9:   
  10:  CREATE PROCEDURE {databaseOwner}[{objectQualifier}LinksMVP_GetLinks]
  11:            @ModuleId int
  12:  AS
  13:      SELECT *
  14:      FROM {databaseOwner}{objectQualifier}LinksMVP_Links
  15:                     WHERE ModuleID = @ModuleID
  16:  GO


Add the Module to a Page

Once the Module is registered and the Database obejcts have been created we can add an instance of our new module to a test page.  As there is no data we will not see anything, but we can use SQL Server Management Studio to add some links to the database.

Figure 4 – Adding Data to the Links Table
LinksMVPLinksTableData1

After adding links to the table, we can refresh the page and we should see a list of the links (Figure 5)

Figure 5 – The LinksMVP Module with two Links
LinksMVPLinksView

Be the first to rate this post

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

 Search Blog

 Adsense

 Calendar

«  January 2009  »
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678
View posts in large calendar

 Recent Posts

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2009 Thoughts from the Wet Coast