You are viewing limited content. For full access, please sign in.

Question

Question

WebLink Display Multi Field MetaData

asked on February 19, 2014

How can WebLink be configured so that multi-field data is somehow displayed in the Browse window?  With the winClient and WebAccess, when you hover the mouse over a column with multi-field data you get pop-ups showing multiple values from the multi-field.  With the winClient there is also an astrisk to indicate that the column is a multi-field.

 

Is there a browser setting that must be enabled so that you can view multi-field data in the Browse window?

 

0 0

Replies

replied on October 13, 2015

Hello all,

A corresponding bug report has been filed. We'll keep you posted on a fix. Thanks for bringing this to our attention.

2 0
replied on June 9, 2014

Hello Dave,

 

Did you ever figure it out to display a multiple field in Weblink?

 

Thanks

Bala

0 0
replied on June 9, 2014

I don't feel that it is possible with the current shipping version of WebLink.

 

DAVE

 

0 0
replied on January 7, 2015 Show version history

Here is a little something that I whipped up quickly (WebLink 8.2.2) that will show metadata (non blob) of a file or folder whenever the mouse cursor hovers over the link. You can quickly tell which items have metadata available by the "**" next to the name (it should only be one asterisk but the WebLink app is firing twice on load).

 

1. Open up your "web.config" file and add the following line of code in the "assemblies" section:

<add assembly="Interop.LFSO82Lib, Version=8.2.0.0, Culture=neutral, PublicKeyToken=607dd73ee2bd1c00"/>

2. Save the changes and then open up "Browse.aspx" and add the following:

  1. At the top of "Browse.aspx" add the following line below "<%@ Page"
    <%@ Import Namespace="LFSO82Lib" %>

     

  2. At the bottom of "Browse.aspx" add the following code after the "</html>" tag:
     

    <script language="vbscript" runat="server">
    Private Sub Page_PreRenderComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRenderComplete, Me.PreRenderComplete
    Dim child_count As Integer = TheDocumentBrowser.ChildCount
            If (child_count > 0) Then
                Dim wcs As New System.Collections.Generic.List(Of HtmlAnchor)()
                GetControlList(Of HtmlAnchor)(Page.Controls, wcs)
                'Response.Write(wcs.Count)
                Dim class_name As String = String.Empty
                Dim entryid As Integer = 0
    
                For Each childControl As HtmlAnchor In wcs
                    class_name = childControl.Attributes("class")
                    'Response.Write(childControl.GetType.ToString())
                    If class_name = "DocumentBrowserNameLink" Then
                        entryid = extract_docid(childControl.Attributes("href"))
                        If entryid > 0 Then
                            Dim entry As ILFEntry = MyBase.m_Conn.Database.GetEntryByID(entryid)
                            Dim lffd As LFFieldData = WLConnection.GetFieldData(entryid)
                            Dim field_count As Integer = lffd.FieldCount
                            If field_count > 0 Then
                                Dim lft As LFTemplate
                                Try
                                    lft = WLConnection.GetTemplate(entryid)
                                Catch ex As Exception
                                    lft = lffd.Template
                                End Try
    
                                Dim sb As New StringBuilder()
                                Dim field_name As String = String.Empty
                                Dim field_value As Object
                                Dim field_is As Boolean = False
                                Dim field As ILFTemplateField
                                Dim field_type As Field_Type
                                Dim field_string As String = String.Empty
                                Dim field_value_array As Object()
                                Dim field_has_value As Boolean = False
    
                                For fidx As Integer = 1 To field_count
                                    field_type = lffd.FieldTypeByIndex(fidx)
                                    If Not field_type = LFSO82Lib.Field_Type.FIELD_TYPE_BLOB Then
                                        field_name = lffd.FieldName(fidx).ToUpper()
                                        field_is = lffd.IsSupplementalField(field_name)
                                        If field_is Then
                                            field = lffd.FieldObject(field_name)
                                        Else
                                            field = DirectCast(lft.ItemByName(field_name), ILFTemplateField)
                                        End If
    
                                        If (field.MultiValued) Then
                                            field_value_array = lffd.FieldByIndex(fidx)
                                            If Not (field_value_array) Is Nothing Then
                                                If sb.Length > 0 Then sb.AppendLine()
                                                sb.AppendFormat("{0}: ", field_name)
                                                For Each v As Object In field_value_array
                                                    If Not v Is Nothing Then
                                                        sb.AppendLine().Append(v.ToString())
                                                    End If
                                                Next
                                            End If
                                        Else
    
                                            field_value = lffd.Field(field_name)
                                            
                                            If Not (field_value) Is Nothing Then
                                                If Not (field_has_value) Then field_has_value = True
                                                If sb.Length > 0 Then sb.AppendLine()
                                                sb.AppendFormat("{0}: {1}", field_name, field_value.ToString())
                                            End If
                                        End If
                                    End If
                                Next
                                childControl.Attributes.Add("title", sb.ToString())
                                If field_has_value Then
                                    childControl.Controls.Add(New HtmlGenericControl("span") With {.InnerHtml = " *"})
                                    field_has_value = False
                                End If
                            End If
                        End If
                    End If
                Next
            End If
    End Sub
    </script>


     

  3. Save the file and open up WebLink. No recompiling necessary.

 

Again, it has not been tested extensively, does not contain any deep formatting on field types and is only meant to be a proof of concept but it does show Metadata on files and folders but more importantly multi field data.

 

Hope this helps!!!!

0 0
replied on November 9, 2015

Can anyone confirm if there is a way to configure the Web.config or use the SDK to get this feature to work in version 9?

0 0
replied on November 9, 2015

I don't believe so, not at least through web.config; this is a software bug which Development is currently trying to assess the best way to handle it. That being said, if someone does find a workaround through the SDK, please share!

0 0
replied on May 2, 2019

Is this still a bug for weblink 9 or is there a workaround? I'm having this issue with a system right now.

Thanks,

Julie

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.