UserID blank in template
Last Post 09-02-2009 11:42 AM by Chad Nash. 9 Replies.
AddThis - Bookmarking and Sharing Button
Author Messages
Brian EnglishUser is Offline
going with the flow
going with the flow
Posts:27
Avatar

--
05-15-2009 03:30 AM

    I am using the dynamic user directory module, v 2.5.  I have set up an Item template and need to use the [UserId] Token.  Problem is the UserId does not show.  I am able to use the rest of the tokens fine, and they display no problem.  Just this one token is giving me problems.

    Any one have any ideas where I am going wrong?

    David To HostUser is Offline
    going with the flow
    going with the flow
    Posts:54
    Avatar

    --
    05-15-2009 10:25 AM
    HI Brian, can you try and duplicate this on www.betasprings.com (username: host, password: dnnhost)? If possible, send us the URL so we can take a look at the setup since the userid should work. -- David
    Brian EnglishUser is Offline
    going with the flow
    going with the flow
    Posts:27
    Avatar

    --
    05-15-2009 10:50 AM

    Thanks for the response David.  I am pretty sure that it is a user error, as I was able to duplicate it on the test site: 

    http://www.betasprings.com/UserDire...fault.aspx

    This is just a simple version of what i was trying to do, and this is supposede to have

    [UserID]
    [FirstName] [LastName]
    [Email]

    as you see on the test site, the userid does not display.

    Brian EnglishUser is Offline
    going with the flow
    going with the flow
    Posts:27
    Avatar

    --
    05-19-2009 04:19 AM

    Any pointers as to what I am doing wrong here? 

    David ToUser is Offline
    river guide
    river guide
    Posts:2719
    Avatar

    --
    05-20-2009 11:15 AM
    Nope, you are doing things correctly. We are working on a fix/patch for DUD. -- David
    NicoloUser is Offline
    skipping stones
    skipping stones
    Posts:7
    Avatar

    --
    06-04-2009 05:24 AM

    When will this fix be available?

    Kind regards
    Nicolo

    NicoloUser is Offline
    skipping stones
    skipping stones
    Posts:7
    Avatar

    --
    08-26-2009 08:54 PM

    Hello

    Still avaiting your solution! Or did i miss the patch?

    Kind regards
    Nicolo

    melgertUser is Offline
    skipping stones
    skipping stones
    Posts:6

    --
    08-27-2009 04:03 AM

    Users discovered a bug "UserID blank in template". I believe the bug is for the reason the UserID is passed in the URL as "tabid/89/Detail/True/UserID/15/Default.aspx' for users needing the UserID passed in the form of a query string as "tabid/89/Detail/True/UserID/15/Default.aspx?AccountID=15"

    I created the following workaround on my blog at "http://www.vessea.com/Blog/tabid/58...plate.aspx"

    Step 1: Create a property field named in my example I created "AccountID" this will be the field that has the "UserID" value.



    Step 2: Create a stored procedure below is a sample working stored procedure I used on my site.

    -- CODE COPY BEGIN

    USE [VesseaProdPortal]
    GO
    /****** Object:  StoredProcedure [dbo].[Game_AccountUpdate]    Script Date: 08/30/2009 01:27:31 ******/
    IF EXISTS (SELECT *
               FROM   sys.objects
               WHERE  object_id = Object_id(N'[dbo].[Game_AccountUpdate]')
                      AND TYPE IN (N'P',N'PC'))
      DROP procedure [dbo].[game_accountupdate]
    GO
    USE [vesseaprodportal]
    GO
    /****** Object:  StoredProcedure [dbo].[Game_AccountUpdate]    Script Date: 08/30/2009 01:27:31 ******/
    SET ansi_nulls  ON 
    GO
    SET quoted_identifier  ON 
    GO
    -- =============================================
    -- Author: Matthew David Elgert
    -- Create date: 8/30/2009
    -- Description:    VESSEA Game Account Update
    -- Example: EXEC [dbo].[game_accountupdate]
    -- =============================================

    CREATE PROCEDURE [dbo].[game_accountupdate]
    AS
      BEGIN
        /*T-SQL loop values BEGIN */
        DECLARE  @RowCount INT,
                 @I        INT,
                 @UserID   VARCHAR(8),
                 @CDT      DATETIME
        SET @RowCount = 0
        SET @UserID = 0
        SET @I = 1
        SELECT @CDT = Getdate()
        DECLARE  @USERS  TABLE(
                               recid    INT   IDENTITY ( 1 , 1 ),
                               [userid] INT
                               )
        /*T-SQL loop values END */
      
        /*T-SQL collect the empty accounts that get update into a temp table BEGIN*/
        INSERT INTO @USERS
                   ([userid])
        SELECT p.[userid]
        FROM   [dbo].[userportals] p
        WHERE  p.[portalid] = 1
               AND [userid] NOT IN (SELECT DISTINCT [userid]
                                    FROM   [dbo].[userprofile]
                                    WHERE  [propertydefinitionid] = 71)
        SELECT @RowCount = @@ROWCOUNT
        /*T-SQL collect the empty accounts that get update into a temp table END*/
       
        /*T-SQL loop through and update accounts BEGIN */
        WHILE (@I <= @RowCount)
          BEGIN
            SELECT @UserID = (SELECT [userid]
                              FROM   @USERS
                              WHERE  recid = @I)
            EXEC dbo.Updateuserprofileproperty
              @ProfileID = NULL ,
              @UserID = @UserID ,
              @PropertyDefinitionID = 71 ,
              @PropertyValue = @UserID ,
              @Visibility = 2 ,
              @LastUpdatedDate = @CDT
            SET @I = @I
                       + 1
          END
      /*T-SQL loop through and update accounts END */
     
      END
    GO

    -- CODE COPY END

     Step 3: Create a VB class at /App_code below is the sample class I created for my site named VESSEASchedulerGameAccountUpdate.vb.

    'CODE COPY BEGIN

    'DNN Schedule name - VESSEA.SchedulerGameAccountUpdate

    Imports System.Collections
    Imports System.Globalization
    Imports DotNetNuke.Modules.Events

    Namespace VESSEA
        Public Class SchedulerGameAccountUpdate
            Inherits DotNetNuke.Services.Scheduling.SchedulerClient

    #Region "Constructors"
            Public Sub New(ByVal objScheduleHistoryItem As DotNetNuke.Services.Scheduling.ScheduleHistoryItem)
                MyBase.new()
                Me.ScheduleHistoryItem = objScheduleHistoryItem
            End Sub
    #End Region

    #Region "Methods"
            Public Overrides Sub DoWork()
                Try
                    'notification that the event is progressing
                    Me.Progressing()        'OPTIONAL
                    Dim returnStr As String
                    returnStr = HandleScheduler()
                    Me.ScheduleHistoryItem.AddLogNote(returnStr)
                    Me.ScheduleHistoryItem.Succeeded = True     'REQUIRED

                Catch exc As Exception      'REQUIRED
                    Me.ScheduleHistoryItem.Succeeded = False    'REQUIRED
                    Me.ScheduleHistoryItem.AddLogNote("Scheduler Game Account Update." + exc.ToString + Me.Status)    'OPTIONAL
                    'notification that we have errored
                    Me.Errored(exc)         'REQUIRED
                    'log the exception
                    LogException(exc)       'OPTIONAL
                End Try
            End Sub

            Private Function HandleScheduler() As String
                Try
                    Me.Progressing()
                    Dim mySqlString As New StringBuilder()
                    mySqlString.Append("EXEC [dbo].[game_accountupdate]")
                    DataProvider.Instance().ExecuteSQL(mySqlString.ToString())

                    'Create log message
                    Me.ScheduleHistoryItem.Succeeded = True    'REQUIRED
                    Me.ScheduleHistoryItem.AddLogNote("Task completed with out errors." + Me.Status) 'OPTIONAL

                Catch ex As Exception
                    Me.ScheduleHistoryItem.Succeeded = False
                    Me.ScheduleHistoryItem.AddLogNote("Scheduler Game Account Update failed. " & ex.ToString)
                    Me.Errored(ex)
                End Try

            End Function

    #End Region

        End Class

    End Namespace

    'CODE COPY END

    Step 4: Create a  schedule service login as host go to schedule.


     

    Create a service name in my example I call the service "VESSEA.SchedulerGameAccountUpdate" schedule to run every 5 minutes.



    Step 5: Select the [AccountID] this field returns the [UserID] value now.

    This will work around the blank [UserID] field issue and return the following URL for a query string http://www.yourdomainname.comtabid/89/Detail/True/UserID/15/Default.aspx?AccountID=15

    melgertUser is Offline
    skipping stones
    skipping stones
    Posts:6

    --
    08-30-2009 01:24 AM

    Nicolo I created a work around at http://www.vessea.com/Blog/tabid/58...plate.aspx

    Chad NashUser is Offline
    Posts:5260
    Avatar

    --
    09-02-2009 11:42 AM
    Hi guys... This is a great work around and thanks for posting this. We have fixed this already so if someone else runs into the [UserID] not coming into Dynamic User Directory please contact us by opening a support case or the contact us page directly and we can get this to you.

    -Chad


    ---
  • film izle
  • 720 izle
  • film
  • sinema izle
  • film makinesi
  • T�rk�e dublaj film
  • film izle
  • film izle
  • baglan film izle
  • sinema izle
  • 1080 film izle
  • film mercegi