bwnetnuke wrote
Hello,
I'm new to the world of windows forms application and I'm in the process of trying to build a windows forms application that will use a SQL Server 2005 DotNetNuke 4.5 database, and I see that Matt mentioned using a windows forms application for his project (see below).
Is it possible to have internal employees login using the same DNN userid/pwd credentials & mechanism with a winform login control? I'm trying to determine if it's possible to bring in all the necessary DNN functionality into my windows app. I assume I somehow need to reference the DNN code files, libraries, classes, etc, etc and I need to follow the same stored procedures to ensure user's & pwd's are created properly, and other things in the db are held in check in terms of referential integrity. I'm using Visual Studio 2005 Pro.
Thanks in advance.
mr17hz wrote
The primary product is a windows forms application that runs on local computers against a local database; a local server also exposes a web app used by 'kiosk' machines, or users on the public wireless network to handle self manifesting of themselves and others; as well as viewing departure status, etc...
|
and from this post:
mr17hz wrote
however it would be nice to get the users/roles/membership table data out and into my own data schema so that I can come up with a plan that will allow users to temporaraly work on a windows forms application in a senario when their internet connection goes down.
|
I took a lot of shortcuts as I'm a single developer working on a project that's taken me over a year of development already; and don't have to worry about explaining my shortcuts to a team. I agree with Michael that web services are indeed the appropriate solution for a long term online only solution. I however, without the existance of the framework that Michael's putting together, only used one single webservice - "AreUserCredentialsCorrect".
All of my membership related integration is read only; that is - users must create accounts, manage their passwords, etc - through DotNetNuke... My application has access to the DotNetNuke database (in fact, my application uses the same database for it's 40 or so tables, using a differennt prefix). It references the dnn_users table but only for a list of usernames! It also uses roles (read only - administration is done on the website) - and is vulterable to database schema changes here because it accesses dnn tables directly.
User Properties are edited on both the website and in my application - and have been considerably extended. my application accesses the tables directly, and i created a dotnetnuke profile provider that gives DotNetNuke access to (only most of ) the properties. I had to create a custom user form because there are certain properties that I wanted to restrict the ability to modify based on more advanced business rules than DNN would allow for.
Another big thing for my application (which is primaraly a reservation manangement application) is that it works if the internet to where the local application is running goes down! it does this by using SQL replication - i designed my tables so that values in rows never change - new rows are added and summaries are always calculated on the spot (i'm using indexed views to make this possible even with hundreds of thousands of rows).. This way I know that concurrency violations won't occur - worst case in a disconnected state is that some overbooking takes place; which is resolved with phonecalls as soon as syncronization occurs.
The best advice I can give you is interact with dotnetnuke as little as possible - don't replicate functionality you dont have to (such as creating users) and concentrate on functionnality you need (such as validating credentials to deturmine if a user can be logged in, and then providing a string array of security groups the user is a member of)... as long as your business requirements allow this; you'll save a ton of time.
I am available for consulting if you get serious and want someone to steer you away from possible integration problems and help create your development roadmap - however i'm not in the position to be taking on any projects by myself for at least until the end of the year.