Dear All,
Many of the grid/reports modules produced for DNN make use a flat table structure. Most users of these modules like to view users in the DNN-build-in user tables but find the stucture with default userdata in one table and additional profile fields sored in seperate fields/tables to difficult. It would be great if someone could create a view or stored procedure that produces one or more flat table(s) that is/are genereated based on the Useraccount data stored in the DNN Database. The following fields would need to be included (default DNN fields):
- Username
- FullName (Concatenation of FirstName, MiddleName and LastName fields stored)
- DisplayName
- Firstname
- MiddleName
- Lastname
- Address (Concatenation of Street and Unit field stored)
- Street
- Unit
- City
- Region
- Country
- PostalCode
- Telephone
- Cell
- Fax
- Website
- E-Mail
- CreatedDate
- PortalID (*)
- PortalName (*)
- Blocked (0 or 1) (*)
- Authorized (0 or 1) (*)
- DisplayUser (Blocked + Authorized, i.e. 0 = Do not Display user in grids, 1 = Display user in grids) (*)
- LastLoginDate (*)
- LastActivityDate (*)
- PasswordDate (*)
- BlockingDate (*)
- OnLine (0 or 1) (*)
- ChangePassword (0 or 1) (*)
I think the best would be if (at least) four seperate views were to be produced:
- DNNUsers Private View for Administrors/Hosts only (all of the above fields)
- ActiveDNNUsers Common View (all of the above fields, only records that have DisplayUser = 1)
- PortalUsers Common View (all of the above fields, only records that have DisplayUser = 1, for one particular portal)
- Contacts Public View (all of the fields above with the exception of the fields marked with "(*)", only records with DisplayUser = 1, for one particular portal)
Most Hosts have multiple Portals on one DNN instance (it's to labour intensive to have one DNN instance per department/customer). Clearly it's not wanted a simple contacts report produced by a vistor of Portal A would include records from the users in Portal B. Maybe it's the best to generate one view per PortalID (e.g. MyWebsite_contacts or Portal_0_contacts). Other suggestions on how to ensure that users in one portal can not access/see users of another portal via SQL are much appreciated (maybe DNN 5.0+??).
Ofcourse the producer of this (OpenSource) sollution may place comments incl. author name/company/website in the SQL statements that generate the requested result.
Some people don't speak english (I know; it's weird). A nice-to-have feature would be if the fieldnames could be localized (e.g. Naam in stead of Name).
Visitors of this Forum can place their suggestions/sollutions in this forum and/or send their work in progress to Info@ShareIT.nu.
As a token of appreciation, on behalf of the DNN Community, I promise to send 6 bottles of fine French champagne to the person/company/usergroup that produces the best (and working) result by November1st.
BTW: Please don't reply with answers such as "Why not use the users modules of DNN Masters or similar?". I'm well aware of the existance of such modules but seek an OpenSource solution for the tens of thousands of users of the standard DotNetNuke Reports/SQL modules and users of other OpenSource/Commercial products such as ReportGrid, SQL Selected Grid, SQL Advanced Data Grid, SQLView, SQLGridView etc.
Thanks for yor reply,
Jeroen van Craaikamp
The Netherlands
www.ChampagneUnLimited.nl
www.ShareIT.nu
www.PleskServices.nl