<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Using the logged-in user's identification to automatically filter the map upon its opening in ArcGIS Experience Builder Questions</title>
    <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1545899#M15253</link>
    <description>&lt;P&gt;hi, any luck for solving this issue? I am doing exactly the same thing, but it seems data source is not available, or sometimes it becomes available, not sure how to wait it properly:&lt;BR /&gt;&lt;BR /&gt;my widget.tsx, I put one text input with button, so I can click either by using props.user or test user, that way it always work, but for initial loading, just cannot get data source available most of time.&lt;/P&gt;&lt;LI-CODE lang="c"&gt;import { AllWidgetProps, jsx, FeatureLayerDataSource, SqlQueryParams, DataSourceManager } from 'jimu-core';
import { IMConfig } from '../config';
import { TextInput} from 'jimu-ui';
import React, { Component } from 'react';

interface State {
  testInput: string;
  unavailableDataSources: string[];
}

class Widget extends Component&amp;lt;AllWidgetProps&amp;lt;IMConfig&amp;gt;, State&amp;gt; {
  constructor(props: AllWidgetProps&amp;lt;IMConfig&amp;gt;) {
    super(props);
    this.state = {
      testInput: '',
      unavailableDataSources: props.useDataSources ? props.useDataSources.asMutable().map(ds =&amp;gt; ds.dataSourceId) : []
    };
  }

  componentDidMount() {
    this.retryFilterDataSources();
  }

  componentDidUpdate(prevProps: AllWidgetProps&amp;lt;IMConfig&amp;gt;) {
    if (prevProps.useDataSources !== this.props.useDataSources || prevProps.user !== this.props.user) {
      this.setState({
        unavailableDataSources: this.props.useDataSources.asMutable().map(ds =&amp;gt; ds.dataSourceId)
      }, this.retryFilterDataSources);
    }
  }

  retryFilterDataSources = (retries = 50, delay = 1000) =&amp;gt; {
    const dsManager = DataSourceManager.getInstance();
    const { unavailableDataSources } = this.state;

    const stillUnavailable = unavailableDataSources.filter(dsId =&amp;gt; !dsManager.getDataSource(dsId));

    if (stillUnavailable.length === 0) {
      this.filterDataSources();
    } else if (retries &amp;gt; 0) {
      stillUnavailable.forEach((dsId, index) =&amp;gt; {
        const originalIndex = this.props.useDataSources.findIndex(ds =&amp;gt; ds.dataSourceId === dsId);
        console.warn(`Data source ${originalIndex + 1} of ${this.props.useDataSources.length}: ${dsId} not found.`);
      });
      console.log(`Retrying to check data sources... Attempts left: ${retries}`);
      setTimeout(() =&amp;gt; this.retryFilterDataSources(retries - 1, delay * 2), delay);
    } else {
      console.warn('Data sources not ready after multiple attempts.');
    }
  };

  textInputChangeHandler = (evt: React.ChangeEvent&amp;lt;HTMLInputElement&amp;gt;) =&amp;gt; {
    this.setState({ testInput: evt.target.value });
  };

  filterDataSources = () =&amp;gt; {
    if (this.props.useDataSources?.length &amp;gt; 0 &amp;amp;&amp;amp; this.props.user) {
      const dsManager = DataSourceManager.getInstance();
      const username = this.props.user.username;
      const clientName = username.split('_')[1];

      console.log('Username:', username);
      console.log('Client Name:', clientName);
      console.log('Test Input:', this.state.testInput);

      this.props.useDataSources.forEach((useDataSource, index) =&amp;gt; {
        const ds: FeatureLayerDataSource = dsManager.getDataSource(useDataSource.dataSourceId) as FeatureLayerDataSource;

        if (!ds) {
          console.warn(`Data source ${index + 1} of ${this.props.useDataSources.length}: ${useDataSource.dataSourceId} not found.`);
          return;
        }

        let queryParams: SqlQueryParams;

        if (this.state.testInput === '') {
          const 
          clientName = this.props.user.username.split('_')[1];
          queryParams = {
            where: `LOWER(Client) LIKE LOWER('OWNER%')`
          };
        } else {
          const testClientName = this.state.testInput.split('_')[1];
          queryParams = {
            where: `LOWER(Client) LIKE LOWER('${testClientName}%')`
          };
        }

        console.log(`Query Params for data source ${index + 1} of ${this.props.useDataSources.length}:`, queryParams);
        ds.updateQueryParams(queryParams, this.props.id);
      });
    } else {
      console.warn('No data sources available to filter.');
    }
  };

  render() {
    return (
      &amp;lt;div className="widget-get-map-coordinates jimu-widget p-2"&amp;gt;
        &amp;lt;p&amp;gt;
          &amp;lt;TextInput 
            placeholder='Filter by username' 
            onChange={this.textInputChangeHandler} 
            value={this.state.testInput} 
          /&amp;gt;
          &amp;lt;button onClick={this.filterDataSources} style={{ marginLeft: '10px' }}&amp;gt;
            Test Filter
          &amp;lt;/button&amp;gt;
        &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    );
  }
}

export default Widget;&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 05 Oct 2024 21:17:52 GMT</pubDate>
    <dc:creator>Jason-Daily-Dev</dc:creator>
    <dc:date>2024-10-05T21:17:52Z</dc:date>
    <item>
      <title>Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401887#M11815</link>
      <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am developing a custom widget that interacts with a webMap in my organization. My experience is secured with a user group from my organization. My goal is to filter the data on my map according to the logged-in user.&lt;/P&gt;&lt;P&gt;At the moment, I am able to retrieve the authenticated user. However, I am encountering difficulties in using this information to apply a filter to the data displayed when the map opens.&lt;/P&gt;&lt;P&gt;Does anyone have any ideas or has anyone worked on this scenario before?&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 28 Mar 2024 11:42:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401887#M11815</guid>
      <dc:creator>DéveloppeurP</dc:creator>
      <dc:date>2024-03-28T11:42:17Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401904#M11816</link>
      <description>&lt;P&gt;The user information can be accessed in a custom widget with the props.user object. So your filter could work something like this.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;if (props.user.username === 'Bob') {
    filterFunction()
}&lt;/LI-CODE&gt;&lt;P&gt;For an example widget that uses the props.users object, you can look at the &lt;A href="https://community.esri.com/t5/experience-builder-custom-widgets/security-widget/m-p/1344363" target="_self"&gt;Security Widget&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Mar 2024 12:53:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401904#M11816</guid>
      <dc:creator>JeffreyThompson2</dc:creator>
      <dc:date>2024-03-28T12:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401939#M11820</link>
      <description>&lt;P&gt;Thank you for your response and your promptness. The issue arises precisely when I try to apply the filter to the datasource :&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;props&lt;/SPAN&gt;&lt;SPAN&gt;?.&lt;/SPAN&gt;&lt;SPAN&gt;user&lt;/SPAN&gt;&lt;SPAN&gt;?.&lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt; &lt;SPAN&gt;===&lt;/SPAN&gt; &lt;SPAN&gt;"user1"&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;setState&lt;/SPAN&gt;&lt;SPAN&gt;({&lt;/SPAN&gt;&lt;SPAN&gt;query&lt;/SPAN&gt;&lt;SPAN&gt; :&lt;/SPAN&gt; &lt;SPAN&gt;"field = 'dispo'"&lt;/SPAN&gt;&lt;SPAN&gt;})&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;queryParams&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;where&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;state&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;query&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; };&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;console&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;state&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;query&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; } &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;console.log(&lt;SPAN&gt;dataSource&lt;/SPAN&gt;)&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;dataSource&lt;/SPAN&gt;&lt;SPAN&gt;?.&lt;/SPAN&gt;&lt;SPAN&gt;updateQueryParams&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;queryParams&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;props&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;id&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Since it can't retrieve the datasource, it displays "undefined&lt;/P&gt;</description>
      <pubDate>Thu, 28 Mar 2024 13:49:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401939#M11820</guid>
      <dc:creator>DéveloppeurP</dc:creator>
      <dc:date>2024-03-28T13:49:43Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401960#M11821</link>
      <description>&lt;P&gt;Can you share more of your code? There isn't enough here to see why you can't connect to the dataSource.&lt;/P&gt;&lt;P&gt;Here is the official sample for filtering a feature layer using it's dataSource.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;A href="https://github.com/Esri/arcgis-experience-builder-sdk-resources/tree/master/widgets/filter-feature-layer" target="_blank"&gt;https://github.com/Esri/arcgis-experience-builder-sdk-resources/tree/master/widgets/filter-feature-layer&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Mar 2024 14:26:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401960#M11821</guid>
      <dc:creator>JeffreyThompson2</dc:creator>
      <dc:date>2024-03-28T14:26:13Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401976#M11822</link>
      <description>&lt;LI-CODE lang="javascript"&gt;export default class Widget extends React.PureComponent&amp;lt;AllWidgetProps&amp;lt;unknown&amp;gt;,State&amp;gt; {
  constructor(props){
    super(props)
    this.state={filtre: '1=1'}
    this.state={user:'utilisateur'}
    this.state={query:"field = '1=1'"}
}



}

componentDidMount() {
  this.setState({ user: this.props.user?.username });

  const dataSourceId = this.props.useDataSources?.[0]?.dataSourceId;
  const dataSource = dataSourceId &amp;amp;&amp;amp; DataSourceManager.getInstance().getDataSource(dataSourceId);

  let queryParams;
  if (this.props?.user?.username === "user1") {
    this.setState({query : "field = 'OK'"})
    queryParams = {
      where: this.state.query
    };
  }

  if (!dataSource) {
    console.log("Failed to get dataSource");
  } else {
    dataSource?.updateQueryParams(queryParams, this.props.id);
  }
  
  }

  render() {

    return (
&amp;lt;div className="widget-starter jimu-widget"&amp;gt;
&amp;lt;/div&amp;gt;
)&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 28 Mar 2024 14:38:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401976#M11822</guid>
      <dc:creator>DéveloppeurP</dc:creator>
      <dc:date>2024-03-28T14:38:56Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401998#M11824</link>
      <description>&lt;P&gt;The problem line here looks like this one.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;const dataSource = dataSourceId &amp;amp;&amp;amp; DataSourceManager.getInstance().getDataSource(dataSourceId);&lt;/LI-CODE&gt;&lt;P&gt;With the &amp;amp;&amp;amp; operator, I think this line is only capable of returning a Boolean value. Try taking out the dataSourceId &amp;amp;&amp;amp; part.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;const dataSource = DataSourceManager.getInstance().getDataSource(dataSourceId);&lt;/LI-CODE&gt;&lt;P&gt;You might also need to use a shouldComponetUpdate() function to handle the initial load where the dataSource may not be available yet.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.geeksforgeeks.org/what-does-shouldcomponentupdate-do-and-why-is-it-important/#" target="_blank"&gt;https://www.geeksforgeeks.org/what-does-shouldcomponentupdate-do-and-why-is-it-important/#&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Mar 2024 15:09:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1401998#M11824</guid>
      <dc:creator>JeffreyThompson2</dc:creator>
      <dc:date>2024-03-28T15:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1545899#M15253</link>
      <description>&lt;P&gt;hi, any luck for solving this issue? I am doing exactly the same thing, but it seems data source is not available, or sometimes it becomes available, not sure how to wait it properly:&lt;BR /&gt;&lt;BR /&gt;my widget.tsx, I put one text input with button, so I can click either by using props.user or test user, that way it always work, but for initial loading, just cannot get data source available most of time.&lt;/P&gt;&lt;LI-CODE lang="c"&gt;import { AllWidgetProps, jsx, FeatureLayerDataSource, SqlQueryParams, DataSourceManager } from 'jimu-core';
import { IMConfig } from '../config';
import { TextInput} from 'jimu-ui';
import React, { Component } from 'react';

interface State {
  testInput: string;
  unavailableDataSources: string[];
}

class Widget extends Component&amp;lt;AllWidgetProps&amp;lt;IMConfig&amp;gt;, State&amp;gt; {
  constructor(props: AllWidgetProps&amp;lt;IMConfig&amp;gt;) {
    super(props);
    this.state = {
      testInput: '',
      unavailableDataSources: props.useDataSources ? props.useDataSources.asMutable().map(ds =&amp;gt; ds.dataSourceId) : []
    };
  }

  componentDidMount() {
    this.retryFilterDataSources();
  }

  componentDidUpdate(prevProps: AllWidgetProps&amp;lt;IMConfig&amp;gt;) {
    if (prevProps.useDataSources !== this.props.useDataSources || prevProps.user !== this.props.user) {
      this.setState({
        unavailableDataSources: this.props.useDataSources.asMutable().map(ds =&amp;gt; ds.dataSourceId)
      }, this.retryFilterDataSources);
    }
  }

  retryFilterDataSources = (retries = 50, delay = 1000) =&amp;gt; {
    const dsManager = DataSourceManager.getInstance();
    const { unavailableDataSources } = this.state;

    const stillUnavailable = unavailableDataSources.filter(dsId =&amp;gt; !dsManager.getDataSource(dsId));

    if (stillUnavailable.length === 0) {
      this.filterDataSources();
    } else if (retries &amp;gt; 0) {
      stillUnavailable.forEach((dsId, index) =&amp;gt; {
        const originalIndex = this.props.useDataSources.findIndex(ds =&amp;gt; ds.dataSourceId === dsId);
        console.warn(`Data source ${originalIndex + 1} of ${this.props.useDataSources.length}: ${dsId} not found.`);
      });
      console.log(`Retrying to check data sources... Attempts left: ${retries}`);
      setTimeout(() =&amp;gt; this.retryFilterDataSources(retries - 1, delay * 2), delay);
    } else {
      console.warn('Data sources not ready after multiple attempts.');
    }
  };

  textInputChangeHandler = (evt: React.ChangeEvent&amp;lt;HTMLInputElement&amp;gt;) =&amp;gt; {
    this.setState({ testInput: evt.target.value });
  };

  filterDataSources = () =&amp;gt; {
    if (this.props.useDataSources?.length &amp;gt; 0 &amp;amp;&amp;amp; this.props.user) {
      const dsManager = DataSourceManager.getInstance();
      const username = this.props.user.username;
      const clientName = username.split('_')[1];

      console.log('Username:', username);
      console.log('Client Name:', clientName);
      console.log('Test Input:', this.state.testInput);

      this.props.useDataSources.forEach((useDataSource, index) =&amp;gt; {
        const ds: FeatureLayerDataSource = dsManager.getDataSource(useDataSource.dataSourceId) as FeatureLayerDataSource;

        if (!ds) {
          console.warn(`Data source ${index + 1} of ${this.props.useDataSources.length}: ${useDataSource.dataSourceId} not found.`);
          return;
        }

        let queryParams: SqlQueryParams;

        if (this.state.testInput === '') {
          const 
          clientName = this.props.user.username.split('_')[1];
          queryParams = {
            where: `LOWER(Client) LIKE LOWER('OWNER%')`
          };
        } else {
          const testClientName = this.state.testInput.split('_')[1];
          queryParams = {
            where: `LOWER(Client) LIKE LOWER('${testClientName}%')`
          };
        }

        console.log(`Query Params for data source ${index + 1} of ${this.props.useDataSources.length}:`, queryParams);
        ds.updateQueryParams(queryParams, this.props.id);
      });
    } else {
      console.warn('No data sources available to filter.');
    }
  };

  render() {
    return (
      &amp;lt;div className="widget-get-map-coordinates jimu-widget p-2"&amp;gt;
        &amp;lt;p&amp;gt;
          &amp;lt;TextInput 
            placeholder='Filter by username' 
            onChange={this.textInputChangeHandler} 
            value={this.state.testInput} 
          /&amp;gt;
          &amp;lt;button onClick={this.filterDataSources} style={{ marginLeft: '10px' }}&amp;gt;
            Test Filter
          &amp;lt;/button&amp;gt;
        &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    );
  }
}

export default Widget;&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Oct 2024 21:17:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1545899#M15253</guid>
      <dc:creator>Jason-Daily-Dev</dc:creator>
      <dc:date>2024-10-05T21:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: Using the logged-in user's identification to automatically filter the map upon its opening</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1545900#M15254</link>
      <description>&lt;P&gt;hi, Jeffrey, would you like to help? I have code as above, and it need to filter data source by props.user, I used esri github example filter layer, also took a look at your security widget. but it seem data sources do not work as expected during initial loading.&lt;/P&gt;</description>
      <pubDate>Sat, 05 Oct 2024 21:21:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/using-the-logged-in-user-s-identification-to/m-p/1545900#M15254</guid>
      <dc:creator>Jason-Daily-Dev</dc:creator>
      <dc:date>2024-10-05T21:21:00Z</dc:date>
    </item>
  </channel>
</rss>

