Author |
Topic |
kentk
Starting Member
USA
30 Posts |
Posted - 05 May 2006 : 08:51:08
|
Hi All,
I'm looking to get involved with anyone interested in converting Snitz to ASP.NET 2.0. I've been hosting a Snitz forum for a little over a year now. I am a VB.NET programmer at a trucking company, but dabble in ASP.NET. I did a search here and know that some of you have something in the works, so I would like to offer my help.
Let me know if your interested.
Kent |
Kent
"Wakey, wakey, hands off snakey!" |
|
Ghostnetworks
New Member
95 Posts |
Posted - 05 May 2006 : 10:57:06
|
It may not be possible to convert Snitz into ASP.Net. The only thing you'll be able to keep from the ASP version is the database.
The structue and layout of the code in Snitz is so different (even compared to other ASP apps) it will just be easier to write the whole thing from scratch. This way, the user can just change the connection string in the web.config file and keep all the old data intact. |
|
|
|
-gary
Development Team Member
406 Posts |
|
MarkJH
Senior Member
United Kingdom
1722 Posts |
|
kentk
Starting Member
USA
30 Posts |
Posted - 05 May 2006 : 12:53:38
|
Sorry, I guess I should have clarified in my original post, that what I meant by converting to ASP.NET is actually building the forums from scratch using the same database structure as was stated in Ghostnetworks post. |
Kent
"Wakey, wakey, hands off snakey!" |
|
|
Ghostnetworks
New Member
95 Posts |
Posted - 07 May 2006 : 02:32:16
|
Then the first step would be to setup the admin end.
Ver. 3.4.05 introduced a lot of improvements and 3.x has a lot of new features. Before moving on to those, the best place to start is the login and admin portion. When administration functions like moving, editing and deleting forums/categories/topics have been created, you can move on to other stuff...
Security can be kept very straight foreward. As in members with privileges can be easily filtered through FormsAuthentication. This will also enable multiple groups per user.
So the basic roadmap to start :
- Using the original database, implement some sort of login system.
- Using those privileges, give access to the admin section. Can be very crude until things are sorted out. In fact, as a first test, the admin section can only have a list of categories and forums. (Good place for a nested DataRepeater).
The login can be a few simple functions, but I'd recommend putting them in a sperate class. In fact, it would keep things sane for everyone if each page has its own class and shared classes. The current ASP code can be a challenging for people wanting to customize.
...So let's say there's a Snitz.AUTH class
Imports System
Imports System.Text
Imports System.Data
Imports System.Data.OleDb
Imports System.Web
Imports System.Web.Security
Imports System.Security.Principal
'### CRYPT can be a Cryptography class that can be reused for passwords, cookies etc..
Imports Snitz.CRYPT
'### CONFIG can get all the settings from Web.Config . Things that usually go in config.asp
Imports Snitz.CONFIG
Namespace Snitz
Public Class AUTH
Private objCRYPT As New CRYPT()
Private objCONFIG As New CONFIG()
Private ConnectionString As String = objCONFIG.ConnectionString() 'Get the connection string
Public Function SignIN(ByVal UserName As String, ByVal Pass As String, ByVal SuccessURL As String, ByVal FailURL As String)
'### GetRoles can be another function that connects to Snitz
'and grabs the user roles as comma delimited string
'Password is best encrypted
Dim UserRoles As String = GetRoles(UserName, objCRYPT.EncryptWithHash(Pass))
If Not (UserRoles = "") Then
FormsAuthentication.HashPasswordForStoringInConfigFile(Pass, "md5")
Dim UserTicket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
UserName, Now(), DateTime.Now.AddMinutes(30), Me.Persist(), UserRoles, _
FormsAuthentication.FormsCookiePath)
Dim UserCookie As HttpCookie = New HttpCookie(FormsAuthentication.FormsCookieName, _
FormsAuthentication.Encrypt(UserTicket))
If (Me.Persist()) Then
UserCookie.Expires = UserTicket.Expiration
End If
Current.User = New GenericPrincipal(Current.User.Identity, UserRoles.Split(","))
Current.Response.Cookies.Add(UserCookie)
Current.Response.Redirect(SuccessURL)
Else
Current.Response.Redirect(FailURL)
End If
End Function
End Class
'### Can add GetRoles function here.
Private Function GetRoles(ByVal UserName As String, ByVal Password As String) As String
Dim Conn As OleDbConnection = New OleDbConnection(ConnectionString)
Dim rList As StringBuilder = New StringBuilder
Dim objCommand As New OleDbCommand("SELECT SQL Statement", Conn)
'### Use parameters to log the user in
objCommand.Parameters.Add("@USER", OleDbType.VarWChar).Value = UserName
objCommand.Parameters.Add("@PASS", OleDbType.VarWChar).Value = Password
Conn.Open()
Dim objDataReader As OleDbDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
'### No rows = Not a match
If (objDataReader.HasRows) Then
While objDataReader.Read()
'### Check which group this user belongs to..
' Remember to add that comma
If Not (objDataReader("GROUP_NAME") Is DbNull.Value) Then rList.Append(objDataReader("GROUP_NAME") &",")
End While
'### Lastly, add the "Member" role. This closes the list
rList.Append("Member")
End If
objDataReader.Close()
objDataReader = Nothing
Conn = Nothing
Return rList.ToString()
End Function
End Class
End Namespace
That was something borrowed from one of my apps. But you see where I'm going with that.
This is going to be a big application if it's done reasonably well. I hope that gives you a taste of what you're in for
edit_ Forgot to add.. There's a "Me.Persist()" property added to the authentication.
This can be grabbed from a "Remember Me" checkbox the user can select when he/she first signs-in.
As in..
Public Property Persist() As Boolean
Get
'### Returns True if checked, false if not
RememberMe.Checked
End Get
'### But what if the checkbox needs to be set programmatically?
Set(ByVal Value As Boolean)
If (Value = True) Then
RememberMe.Checked = True
Else
RememberMe.Checked = False
End If
End Set
End Property
This is up for debate, but as long as you still have to re-authenticate before going into your profile page, this is fine. |
|
Edited by - Ghostnetworks on 07 May 2006 02:41:21 |
|
|
-gary
Development Team Member
406 Posts |
Posted - 07 May 2006 : 13:58:05
|
You didn't look very closely at CoreBoard did you. |
KawiForums.com
|
|
|
Ghostnetworks
New Member
95 Posts |
Posted - 07 May 2006 : 21:25:44
|
Of course I did... But you didn't look very closely at the CoreBoard license did you? |
|
|
|
-gary
Development Team Member
406 Posts |
Posted - 08 May 2006 : 09:13:23
|
And your point is what? |
KawiForums.com
|
|
|
Ghostnetworks
New Member
95 Posts |
Posted - 08 May 2006 : 10:28:37
|
quote: Originally posted by -gary
And your point is what?
Snitz Can I make copies of the Snitz Forums 2000 program? Yes. All that is required is to retain the "Powered By: Snitz Forums 2000" statement at the bottom of each page (this can be either text or a graphic). Also, make sure you leave the copyright notices intact in the source code and retain the GPL.txt file.
CoreBoard EXTENT OF GRANT You may NOT distribute or redistribute any file or files you received as part of this distribution. You may NOT reverse engineer, decompile, or disassemble this product
...And I'm a little shocked an experienced Snitz user like you would even ask that.
CoredBoard is binary only as of the latest betas and has been for a while. The only customizable portions are the template files.
Whereas Snitz can be hacked to pieces by whoever uses it as long as the Snitz label remains intact. And I'm not just talking about looks.
Besides, if a source available .Net forum is all anyone needs, no one will even bring up a conversion topic on Snitz. |
|
|
|
-gary
Development Team Member
406 Posts |
Posted - 09 May 2006 : 10:31:55
|
He asked for a port to help with development not a source for code to fork and didn't specifiy that it needed to be open sourced. I still don't see your point. This whole open source thing is very over rated to start with and has no bearing on my experience with Snitz, so I fail to see why you would be "shocked" by anything I say. IPB has the same restrictions and you have to pay for it to boot, but thousands of forums use it every day with no problem so it's not just my thinking. |
KawiForums.com
|
|
|
kentk
Starting Member
USA
30 Posts |
Posted - 09 May 2006 : 16:06:57
|
Actually I am looking for others who might be interested in co-developing it with me, it is a very large task, and not one that I would want to tackle on my own. I think leaving it open source would be a good thing it has been for the original. I would not want to go to all that work and then not share it with the community that help me put up a successful forum using the orignal Snitz board and a few mods all freely available to the general public.
I hope this clarifies more, if no one is interested then I will most likely ask the community again in a couple months, see if there is more interest then.
Thanks for the replies, Kent |
Kent
"Wakey, wakey, hands off snakey!" |
|
|
Ghostnetworks
New Member
95 Posts |
Posted - 11 May 2006 : 22:31:52
|
Okie. I'm on board. But, I think you'd want to leave 1.1 compatibility intact. Which means no MasterPages and such.
quote: Originally posted by -gary
This whole open source thing is very over rated to start with and has no bearing on my experience with Snitz, so I fail to see why you would be "shocked" by anything I say.
Gary, I admit I might have jumped to conclusions here. But most Snitz users are very proud of the OS thing. I've seen more than enough threads here of people adamantly defending it. I just thought it strange why someone, who I thought was part of that group, would point to CoreBoard. My mistake.
I don't have any strong opinions either way on OS software. I'm just happy I get to play with the code. |
|
|
|
kentk
Starting Member
USA
30 Posts |
Posted - 16 May 2006 : 11:03:47
|
OK, Ghostnetworks,
I guess we've got some planning to do. Do you want to communicate strictly over this board and/or emails? Sounds like from previous posts you may already have a plan in the works. 1.1 compatability is cool as long as we can provide an upgrade route for ASP.NET 2.0 and beyond. One of the things that I like about ASP.NET 2.0 is the built in Membership and profiles, but maybe the best route would be to upgrade the forums leaving the data structure as is. I'm flexible on features and such.
|
Kent
"Wakey, wakey, hands off snakey!" |
|
|
HuwR
Forum Admin
United Kingdom
20584 Posts |
Posted - 16 May 2006 : 11:12:27
|
quote: I like about ASP.NET 2.0 is the built in Membership and profiles, but maybe the best route would be to upgrade the forums leaving the data structure as is. I'm flexible on features and such.
You can still use .net 2 membership and keep Snitz db structures in tact, take a look here www.modonize.com, this uses the built in membership and the snitz members db, it may not be possible to do using access, but it is certainly possible for SQL |
|
|
kentk
Starting Member
USA
30 Posts |
Posted - 17 May 2006 : 09:56:13
|
Wow! What a daunting task this is turning out to be, I can see why people are reluctant to try converting to ASP.NET. I think we would need a team of more than just 2 to convert this in a reasonable amount of time. I guess all I can do is ask one more time, if there is interest in converting snitz and is anyone else willing to devote some time in helping? Are any of the original developers interested? Doing programming for a living I completely understand how much time it takes to take on a project like this. Obviously planning is crucial, without a good plan and feature list this project will be tough to do. |
Kent
"Wakey, wakey, hands off snakey!" |
|
|
Topic |
|