Snitz Forums 2000
Snitz Forums 2000
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Community Forums
 Code Support: ASP.NET (Non-Forum Related)
 ASP.NET Conversion
 New Topic  Topic Locked
 Printer Friendly
Next Page
Author Previous Topic Topic Next Topic
Page: of 11

kentk
Starting Member

USA
30 Posts

Posted - 05 May 2006 :  08:51:08  Show Profile
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  Show Profile  Visit Ghostnetworks's Homepage
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.

Go to Top of Page

-gary
Development Team Member

406 Posts

Posted - 05 May 2006 :  12:32:05  Show Profile

http://coreboard.net


KawiForums.com



Edited by - -gary on 05 May 2006 12:32:27
Go to Top of Page

MarkJH
Senior Member

United Kingdom
1722 Posts

Posted - 05 May 2006 :  12:47:28  Show Profile  Visit MarkJH's Homepage
Looks like work stopped on Coreboard over a year ago.

Bandlink.net - http://www.bandlink.net/
Bandlink Music Forums - http://www.bandlink.net/forum/
Go to Top of Page

kentk
Starting Member

USA
30 Posts

Posted - 05 May 2006 :  12:53:38  Show Profile
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!"
Go to Top of Page

Ghostnetworks
New Member

95 Posts

Posted - 07 May 2006 :  02:32:16  Show Profile  Visit Ghostnetworks's Homepage
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
Go to Top of Page

-gary
Development Team Member

406 Posts

Posted - 07 May 2006 :  13:58:05  Show Profile
You didn't look very closely at CoreBoard did you.

KawiForums.com


Go to Top of Page

Ghostnetworks
New Member

95 Posts

Posted - 07 May 2006 :  21:25:44  Show Profile  Visit Ghostnetworks's Homepage
Of course I did...
But you didn't look very closely at the CoreBoard license did you?

Go to Top of Page

-gary
Development Team Member

406 Posts

Posted - 08 May 2006 :  09:13:23  Show Profile
And your point is what?

KawiForums.com


Go to Top of Page

Ghostnetworks
New Member

95 Posts

Posted - 08 May 2006 :  10:28:37  Show Profile  Visit Ghostnetworks's Homepage
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.

Go to Top of Page

-gary
Development Team Member

406 Posts

Posted - 09 May 2006 :  10:31:55  Show Profile
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


Go to Top of Page

kentk
Starting Member

USA
30 Posts

Posted - 09 May 2006 :  16:06:57  Show Profile
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!"
Go to Top of Page

Ghostnetworks
New Member

95 Posts

Posted - 11 May 2006 :  22:31:52  Show Profile  Visit Ghostnetworks's Homepage
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.

Go to Top of Page

kentk
Starting Member

USA
30 Posts

Posted - 16 May 2006 :  11:03:47  Show Profile
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!"
Go to Top of Page

HuwR
Forum Admin

United Kingdom
20577 Posts

Posted - 16 May 2006 :  11:12:27  Show Profile  Visit HuwR's Homepage
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
Go to Top of Page

kentk
Starting Member

USA
30 Posts

Posted - 17 May 2006 :  09:56:13  Show Profile
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!"
Go to Top of Page
Page: of 11 Previous Topic Topic Next Topic  
Next Page
 New Topic  Topic Locked
 Printer Friendly
Jump To:
Snitz Forums 2000 © 2000-2021 Snitz™ Communications Go To Top Of Page
This page was generated in 0.16 seconds. Powered By: Snitz Forums 2000 Version 3.4.07