social interfaces – How to make the user journey map more socializ-able and more integrated within the design process

Right now a 2 person team maintains the user journey map for our mobile app. It sits on a miro board and the only time others in the wider product team or org see it is once a quarter at the most during a detailed run-through of assumptions and pain points.

we’re hoping that we could make the user journey map more socializ-able and more integrated within the design process. My question is how do we do this?

One idea we had was to re-create an offline version in the office where everyone can see it. but given Covid this year people actually working at the office has drastically reduced.

user behavior – UI for Selecting Date Time Differences

I’m creating a Windows MFC app in which I can ask the user to select a time difference from years right down to the second from a known time. For the sake of example, let’s assume a file’s creation date of 2020-11-01 16:00:00.

I could implement this as 6 spin controls to pick the difference, but perhaps this is not the best approach. Each is initialized to 0 and has positive and negative ranges for appropriate values—ie: 0 to 59 and -59 (total of 119 distinct values) for minutes. If I want to change the date & time to a future value like 2020-12-07 17:30:45, I could change each of the spin controls to add 1 month, 6 days, 1 hour, 30 minutes, and 45 seconds. Each part of the date is distinct, so I could add or subtract from each field the necessary amount to each field—ie: changing 2020-01-01 to 2019-12-31 would mean subtracting 1 year, adding 11 months, and adding 30 days.

What I’m not sure about is how most users will perceive time differences where any of those fields have a negative value. For example, if I now want to change 2020-12-01 16:00:00 to 2020-12-01 15:00:00 (ie: an hour fall back to account for DST change), it is easy enough to select -1 hours.

If I want to subtract a total of 1 hour, 23 minutes, and 45 seconds, should I be picking -1 hour, -23 minutes, -45 seconds or should I assume that as soon as a negative value is picked, the ranges for the following ones are changed to positive values only and assume they are to be concatenated to that negative value; that is to say, does picking -1 hour and 1 minute (positive) imply substracting 1:01:00 from a given time or would that be construed as a convenience factor of subtracting 1 hour but adding back 1 minute for a net effect of subtracting 59 minutes? It takes less effort to pick +1 from minutes rather than having to click 59 times down on minutes to -59 or (or click and hold once) to accelerate values.

How do I approach adding or subtracting 237 days without having to calculate a date difference depending on how many days are in each month and the added calculations of accounting for lear years depending on which date and time I start with?

I’m assuming MFC’s spin control has an “acceleration” value where, if I click and hold on 0, it will accelerate through my acceleration value of 10 to get to 10, 20, 30, etc (or 5 for 5, 10, 15, 20, 25, etc.). (or negative if I’m holding down oh the down arrow), but I haven’t coded that yet pending responses I get here.

Anyway, the bottom line is I want to adjust dates and times from a known value. I hope my explanation doesn’t add to the confusion, but I’ll leave it to my fellow software developers to let me know their approach to this. Thanks!

database – How do I create a user input form for my webpage to collect and store data?

So far, I have found an application to read and present the data in the form that I would like (arcgis). What I can not figure out, is how to create a user form that stores user data in a form and location that is readable by arcgis. Preferably a simple csv file format.

This is how I imagine the process looking.

  1. User clicks a button to prompt a fillable form to appear.

  2. Upon form submission, the answers are pushed to a database with all previous answers.

  3. A graphic (arcgis) on the webpage pulls the data from the database on a set interval so it stays up to date. (This step is already solved)

I am happy to pay for any software that can help with the collection and storage in parts 1 and 2. However I do not want the user to be redirected to any other website/webpage when they fill out the form. Also I do not want the raw data to be accessible/reachable by others.

multi selection – What is the best way to present a question where user has to select multiple options?

I am working on a mobile app where, user has to select few categories and subcategories to proceed. eg: Let’s assume I have four categories A,B,C & D. All these four categories have subcategories which are 10-20 in numbers.

  • My goal here is to create question papers for primary school kids. The app is for the parents. Let’s say subjects are the primary categories. Subcategories include which chapters to include in the test.

  • There are four subjects and each subjects have 10-15 chapters.

  • He/She can select more than one category/subcategories.

  • User will see a summary screen of the items selected.

He/She can select more than one category/subcategories.
User will see a summary screen of the items selected.

provisioning – How to pass current user email to Power Automate using site script

I want to trigger Power Automate through site design (inside site script). Found documentation from MS on how to implement this. There is a way to trigger flow using triggerFlow verb and with When Http Request is Received action. But I want to pass currently logged in user email address or user id or at least a display name to my flow as parameter. What is the way to pass? Reason behind this is, I need to send email notification through flow who applied that particular site design. Below is sample format

    "$schema": "schema.json",
    "actions": (
            "verb": "triggerFlow",
            "url": "(paste the workflow trigger URL here)",
            "name": "Apply Template",
            "parameters": {
    "bindata": {},
    "version": 1

Add new filed on new add user page

I want to add new input select on add new user page,

Dropdown list fetch from two different custom post types.

See attached image

enter image description here.

user meta – delete a specific array element when date expired of it

I have user levels for access content. I made a start date and end date input for each other. Each level has its own history. Whichever level date exceeds today’s date, it will be removed from user levels array, but all of them are removed in my function. How can I do that?

add_action( 'show_user_profile', 'crf_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'crf_show_extra_profile_fields' );

function crf_show_extra_profile_fields( $user ) {
  $choices = (
    '+15 minutes'  => '2 Hafta',
    '+9 months' => '9 Ay',
    '+12 months' => '12 Ay',
    '+2 minutes' => 'Uzat',
$rua_user = rua_get_user( $user->ID );
$user_levels = $rua_user->get_level_ids();
$current_date = date("d/m/y H:i:s");

  foreach ( $user_levels as $user_level ) {

    $start_time_meta = 'start-time-'.$user_level;
    $start_time = get_the_author_meta( $start_time_meta, $user->ID);

    $end_time_meta = 'end-time-'.$user_level;
    $end_time = get_the_author_meta( $end_time_meta, $user->ID);

    $effectiveDate = strtotime($end_time, strtotime($start_time));
    $time = date("d/m/y H:i:s", $effectiveDate);


    if ($current_date > $time) {
        $f = "EXPIRED";

    echo esc_html( get_the_title( $user_level ) ) . ' -> ';
    <input type="datetime-local" id="start-time-<?php echo esc_attr( $user_level ); ?>" name="start-time-<?php echo esc_attr( $user_level ); ?>" value="<?php echo esc_attr( $start_time ); ?>"> - 

    <select name='end-time-<?php echo esc_attr( $user_level ); ?>' id='end-time-<?php echo esc_attr( $user_level ); ?>' style='width:180px;'>
        <option value='default'>Süre Seçiniz</option>
        foreach ( $choices as $value => $label ) {
            <option value="<?php echo esc_attr( $value ); ?>"
                <?php selected( $value, $end_time ); ?>>
                <?php echo esc_html( $label ); ?>
    </select> <?php echo $time; ?>
    $html = ob_get_clean();
    $elements() = $html;
  } ?>

  <h3><?php esc_html_e( 'Yetki Süresi', 'crf' ); ?></h3>

    <table class="form-table">
            <th><label for="year_of_birth"><?php esc_html_e( 'Bitiş Tarihi', 'crf' ); ?></label></th>
                <input type="date" id="year_of_birth" name="year_of_birth" value="<?php
                    echo esc_attr( get_the_author_meta( 'year_of_birth', $user->ID ) ); ?>">
    <table class="form-table">
            <th><?php esc_html_e( 'Kitaplar', 'crf' ); ?></th>
                    echo (vsprintf(__('%s'),implode("",$elements )));


function my_demo_cronjob_action () {
    $present_date = date("Y-m-d H:i:s");
    $user = get_user_by('id',26);
    $user_levels = rua_get_user($user)->get_level_ids(false, false, true);

    foreach ($user_levels as $level) {

        $end_time_meta = 'end-time-'.$level;
        $end_time = get_the_author_meta( $end_time_meta, $user);

        $effectiveDate = strtotime($end_time, strtotime($present_date));
        $time = date("d/m/y H:i:s", $effectiveDate);

        if ($present_date > $time) {
add_action('my_demo_cronjob_action', 'my_demo_cronjob_action');

the cronjob function is executing by a cron plugin

php – User Friends – Retorno de dados OAuth Facebook SDK

Boa noite, estou tentando retornar dados dos amigos em comum entre o usuário logado e um outro perfil mas a api do facebook me retorna alguns dados sem sentido a princípio.
Abaixo segue como estou fazendo a requisição:

try {
    $response = $fb->get(
    $userNode               = $response->getDecodedBody();
} catch(FacebookExceptionsFacebookResponseException $e) {
    // When Graph returns an error
    $mutual_friends             = array();
} catch(FacebookExceptionsFacebookSDKException $e) {
    // When validation fails or other local issues
    $mutual_friends             = array();
    $mutual_friends = $response->getGraphNode();
    $totalMutualFriends         = count($mutual_friends);      

mas a resposta enviada pelo facebook é este abaixo:

object(FacebookFacebookResponse)#18 (6) { ("httpStatusCode":protected)=> int(0) ("headers":protected)=> array(17) { ("etag")=> string(42) ""1050253aec7b29caff644806927dabfa81406eee"" ("expires")=> string(29) "Sat, 01 Jan 2000 00:00:00 GMT" ("content-type")=> string(31) "application/json; charset=UTF-8" ("facebook-api-version")=> string(4) "v8.0" ("x-fb-request-id")=> string(23) "AVpaYT7DGG-638sy6r1JReg" ("strict-transport-security")=> string(25) "max-age=15552000; preload" ("x-fb-trace-id")=> string(11) "HsgoQ1BYANZ" ("x-app-usage")=> string(50) "{"call_count":10,"total_cputime":0,"total_time":0}" ("x-fb-rev")=> string(10) "1003025656" ("cache-control")=> string(44) "private, no-cache, no-store, must-revalidate" ("vary")=> string(15) "Accept-Encoding" ("pragma")=> string(8) "no-cache" ("access-control-allow-origin")=> string(1) "*" ("x-fb-debug")=> string(88) "h444crGWztEndIZBRX0OnhGH3EQnMd2PMzpiYm0ZtTl0rbedwUV7bbWp9doCgzB4TjwP5wGmmswoXYLtPaiwug==" ("content-length")=> string(2) "11" ("date")=> string(29) "Tue, 01 Dec 2020 01:57:18 GMT" ("alt-svc")=> string(43) "h3-29=":443"; ma=3600,h3-27=":443"; ma=3600" } ("body":protected)=> string(11) "{"data":()}" ("decodedBody":protected)=> array(1) { ("data")=> array(0) { } } ("request":protected)=> object(FacebookFacebookRequest)#13 (9) { ("app":protected)=> object(FacebookFacebookApp)#4 (2) { ("id":protected)=> string(15) "283804968650883" ("secret":protected)=> string(32) "1f82f17eb8ac1b91b8039e38ee6405c0" } ("accessToken":protected)=> string(182) "EAAECHn5XiIMBACnQIsSmkcnMfC5hkQbdG4BIy62uOS0spRee88AIuvZCdFjWUVkriPuj5ZAMZA2GsQuM55oXCJVifYwi45Y9vj4nmVOaL5zFxyFW3QiWrsXvvg8JJYtut7KbdDadFc6afe2QHbpH1ZBr33RlutKzqZCeJ5WE7zaxApo2NW1Dv" ("method":protected)=> string(3) "GET" ("endpoint":protected)=> string(23) "{userid}/friends" ("headers":protected)=> array(1) { ("Content-Type")=> string(33) "application/x-www-form-urlencoded" } ("params":protected)=> array(0) { } ("files":protected)=> array(0) { } ("eTag":protected)=> NULL ("graphVersion":protected)=> string(4) "v8.0" } ("thrownException":protected)=> NULL }

Alguém já passou por isso, poderia ser problemas coma versão da api que uso, atualmente uso a V8.0.


debugging – Access denied for user ‘root’@’localhost’

I installed DKAN and I briefly worked. Then I closed everything and tried to open it again, I got the following error message:

The website encountered an unexpected error. Please try again later.
DrupalCoreDatabaseDatabaseAccessDeniedException: SQLSTATE(HY000) (1045) Access denied for user 'root'@'localhost' (using password: YES) in DrupalCoreDatabaseDrivermysqlConnection::open() (line 156 of /var/www/html/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php).
DrupalCoreDatabaseDrivermysqlConnection::open(Array) (Line: 376)
DrupalCoreDatabaseDatabase::openConnection('default', 'default') (Line: 166)
call_user_func_array('DrupalCoreDatabaseDatabase::getConnection', Array) (Line: 79)
DrupalComponentDependencyInjectionPhpArrayContainer->createService(Array, 'database') (Line: 171)
DrupalComponentDependencyInjectionContainer->get('database', 1) (Line: 260)
DrupalComponentDependencyInjectionPhpArrayContainer->resolveServicesAndParameters(Array) (Line: 62)
DrupalComponentDependencyInjectionPhpArrayContainer->createService(Array, 'cache.container') (Line: 171)
DrupalComponentDependencyInjectionContainer->get('cache.container') (Line: 513)
DrupalCoreDrupalKernel->getCachedContainerDefinition() (Line: 868)
DrupalCoreDrupalKernel->initializeContainer() (Line: 466)
DrupalCoreDrupalKernel->boot() (Line: 656)
DrupalCoreDrupalKernel->handle(Object) (Line: 19)

I believe it could be the fact that I have entered as username the value admin but when I was creating it on my Laptop (I use Ubuntu 18) the database was created from root. However I still dont know if that is really the problem or how could I fix it