One problem I ran into was how to change the column display name since my database uses column names with underscores for spaces and I want an actual space between parts of the column name when using the app. To do this you need to use the Display Name attribute in your meta class. Unfortunately this attribute only works on a full property and not on a simple object like other System.ComponentModel attributes seem to. So in my Meta Data class I created a dummy property with the same name as the actual property I want to change the display name for.
Public Property Address_Type() As String
'These are not actually used, they are just required to make this into
'a true property which is required for the DisplayName Attribute.
Get
Return ""
End Get
Set(ByVal value As String)
End Set
End Property
Here is the entire class for you to look at:
Imports Microsoft.VisualBasic
Imports System.Web.DynamicData
Imports System.ComponentModel
Imports System.ComponentModel.DataAnnotations
<MetadataType(GetType(CHMS_Address_TypeMetaData))> _
Partial Public Class CHMS_Address_Type
End Class
<TableName("Address Types")> _
Public Class CHMS_Address_TypeMetaData
<DisplayName("Address Type")> _
Public Property Address_Type() As String
'These are not actually used, they are just required to make this into
'a true property which is required for the DisplayName Attribute.
Get
Return ""
End Get
Set(ByVal value As String)
End Set
End Property
'Columns I want hidden
<ScaffoldColumn(False)> _
Public Church_ID As Object
<ScaffoldColumn(False)> _
Public Created As Object
<ScaffoldColumn(False)> _
Public Created_By As Object
<ScaffoldColumn(False)> _
Public Last_Edited As Object
<ScaffoldColumn(False)> _
Public Last_Edited_By As Object
<ScaffoldColumn(False)> _
Public IsDeleted As Object
End Class
eJOn Edmiston posted a great response to a little rant I put in his comments wondering why Arena was not open sourced. Here is a link to his post http://churchcrosstalk.typepad.com/jonedmiston/2008/12/why-ccv-didnt-release-what-is-now-arena-as-open-source.html
And you should really check out his blog in general http://churchcrosstalk.typepad.com/jonedmiston/
I have re-posted a comment I made in response to that post below, and hi-lighted the part about creating a "competing" open source church management solution.
Thank You so much for the response.
I did not realize when I posted the "rant" on the comment that your church was the one who created Arena.
Given the continuing support you would have felt compelled to provide your decision makes a lot of sense. It is just frusterating to be the IT guy at a church of 500 looking for a new church management system and realize there is no way we could ever afford the best system out there, the one with all the features we could REALLY use and\or want. Honestly even for a "small" church no other system really comes close to matching the features of Arena so good job. And thanks for deciding not to just keep the project in house but to share it with the world.
All that being said if there are people reading this who would like to join me in creating an open source church management system for the rest of us, probably based off a Dot Net Nuke backend, please let me know.