sharepoint online – Discussion board/comment exchange around individual document in document library

I want to have a discussion functionality around each document stored in the SharePoint Online document library.
Users can exchange comments around each document and can see the interaction. It is similar to Discussion Board APP but the only difference is that the discussion needs to be around a single document. As with the discussion Board APP, too many discussions around different documents can confuse the users.
Could you please suggest any OOTB functionality or any other easy-to-implement idea?
Thank you very much for your support.
Regards,
AK

javascript – Temporizadores individual en objetos dinámicos con JS

tengo un problema con los temporizadores que he creado, me explico:

Estoy mostrando creando varios contenedores de manera dinámica, donde cada uno de ellos tiene un contador de tiempo, el cual al hacer click en el botón, este despliega el temporizador y te dice cuanto tiempo falta… Sin embargo, este tiene 2 problemas:

  • solo funciona para el primer elemento.
  • Si le das click a otro elemento, el contador avanzará mas rápido, es decir, si le aumentaran +1 a su velocidad contador = contador+2 y así…

Mis dudas son:
¿Cómo hacer que cada contador al hacer click, comience con su conteo regresivo? Y
¿Cómo puedo evitar el que aumente de velocidad con respecto a cada click?

Adjunto código

const createData = () => {
  const dealers = (
    {
      id: 1,
      time: "8:00",
      status: "Disponible",
    },
    {
      id: 2,
      time: "8:30",
      status: "Disponible",
    },
    {
      id: 3,
      time: "9:00",
      status: "Disponible",
    },
    {
      id: 4,
      time: "9:30",
      status: "Disponible",
    }
  );

  //Creando un foreach para mostrar todos los datos
  dealers.forEach(function (dealer) {
    const template = `
      <div id="dealerContainer" class="riders-panel">
        <div class="container">
          <h3>${dealer.time}</h3>
        </div>

        <div class="container">
          <p>#${dealer.id}</p>
        </div>
        
        <div class="container">
          <button class="btn active">${dealer.status}</button>
        </div>
      </div>
    `;
    app.innerHTML += template;

    //Obteniendo los botones y haciendo la delegacion de eventos
    const buttons = document.querySelectorAll(".btn");

    const handleClick = (event) => {
      if (!event.target.parentNode.parentNode.classList.contains("disabled")) {
        event.target.parentNode.parentNode.classList.add("disabled");
        event.target.classList.add("disabled");
        event.target.innerHTML = "Ocupado";
        if (!event.target.disabled) {
          event.target.disabled = true;
          timerDealers();
        }
        console.log(`El boton ha sido desactivado`);
      } else {
        event.target.parentNode.parentNode.classList.remove("disabled");
        event.target.classList.remove("disabled");
        event.target.innerHTML = "Disponible";

        console.log(`El boton ha sido activado`);
      }
    };

    //Solo agrega los eventos a cada boton
    buttons.forEach(function (button) {
      button.addEventListener("click", handleClick, true);
    });
  });
};

//Creando el contador
let secs = 1800;
function timerDealers() {
  const element = document.querySelector("h3");
  let mins = Math.floor(secs / 60);
  let remSec = secs % 60;
  if (remSec < 10) {
    remSec = "0" + remSec;
  }

  if (mins < 10) {
    mins = "0" + mins;
  }

  element.innerHTML = `Disponible en: ${mins}:${remSec} minutos`;
  setTimeout(timerDealers, 1000);
  if (secs > 0) {
    console.log(secs);
    secs--;
  } else {
    alert("El tiempo ha terminado");
    clearInterval(timerDealers);
    secs = 1800;
  }
}

createData();
.riders {
  width: 800px;
  min-width: 340px;
  margin: 0 auto;
}

.riders-panel {
  width: 800px;
  min-width: 340px;
  height: 60px;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-radius: 10px;
  background-color: #ccc;
}

.riders-panel.disabled {
  opacity: 0.3;
}
    <main class="riders" id="app"></main>

:

Storing every individual update to the posts being updated over time?

Some of my posts will continue being updated over time, with new pieces of information appended. The closest real-life example I could find is this article from The Guardian. See how it mainly consists of the similar blocks sorted by time. Can I accomplish something similar with WordPress?

This will give me the flexibility to:

  • make every block have a permalink
  • make the page structure more consistent and reusable, with an ability to dynamically change the UI to table view, list view, grid view etc.
  • if a new block is added to the post as the visitor is reading it, alert them

I’m not necessarily building a news outlet though, instead as I’m researching a topic, I want to store every step as an individual building block.

  • Simply updating a post won’t work, because it doesn’t enforce the structure
  • The closest idea I came up with is to have these blocks actually be individual posts, attach them to a category, and make that category act like a post – but this seriously feels like fighting the framework

Is there a better way to do this?

opengl – How to color individual faces without arrays

Recently, I’ve been making a 3D game in LWJGL. I want to use shaders to control the “brightness” of each face, but in order to do that, I want to test to color each individual face first, but I have no idea how to do this. I researched on this before but they all rely on the arrays that you normally use to make a mesh. I have texcoords using glTexCoord2f, and know how to put them into the shader code but that is all. I don’t know how to color each face without using arrays which I am avoiding right now.

Any help is appreciated.

design – Designing a system to combine individual deliveries (online orders) into aggregations (Plans)

I am working on designing a microservices based system where in I want to create Plans using individual online orders. For example, if two or more orders happen to be on same delivery route, would like to group them into one single “Delivery Plan“. Each individual delivery is (for now) represented as a pair of two times viz. pickup and drop off (estimated).

I know how to combine the individual orders to create Plans. But my challenge is how do I update the plan id on respective individual deliveries in real time?

All the plans and deliveries are stored as Azure collections. I think I should be using a event based stream processing system to update the plan id on the deliveries and vice versa in real time. I belive Kafka could be used to achieve above goals but I don’t have any prior experience of working on distributed systems.
Are there any design patterns that could help me solve this problem. The system has to be low latency because the volume of orders is very high.

I am new to developing distributed systems so any guidance or similar problems you can share to help me understand the thought process would be very helpful.

Thanks

views – How to apply a sort criteria to multiple displays without erase each individual criteria?

sorry if is a stupid question and for my english, but here I go:

I have a view with multiple displays (don’t ask me why) and I have some sort criterias applied to all the displays and one applied individually to each display. Now I have to add one more sort criteria to all displays but if a I select to apply to all it just erase the individual one. My question is: there is a way to workaround it? Cause it will be a hella burden to apply to each display individually again.

Ps.: I’m just a final user, I don’t have access to the site’s code.

dnd 5e – When do individual ability checks become group ability checks?

In the section Working Together, the basic rules state:

Sometimes two or more characters team up to attempt a task. The character who’s leading the effort — or the one with the highest ability modifier — can make an ability check with advantage, reflecting the help provided by the other characters. In combat, this requires the Help action (see chapter 9, “Combat”).

A character can only provide help if the task is one that he or she could attempt alone. For example, trying to open a lock requires proficiency with thieves’ tools, so a character who lacks that proficiency can’t help another character in that task. Moreover, a character can help only when two or more individuals working together would actually be productive. Some tasks, such as threading a needle, are no easier with help.

I understand that this happens when the group can, and will work together to do something, but I’m wondering about the limitations of these definitions.

For instance, in a game, our characters had to climb horizontally a porous wall for ~150 feet. Below that wall, 100 feet of void then the sea. Some characters were reluctant doing this as their athletics skill is the lowest, going in the negatives. The other characters convinced them to do it anyway, arguing they’d help. So the characters all attached themselves to a rope and started the climb. The help promised by the other characters was under the form “put your foot here”, “put your hands there”, “pull your weight in your hands” and other advises like that. Individual tests were used all the time. After 50 feet, the whole party was swimming in the sea.

After the session, I was wondering whether I should have asked the DM if a group check should have been done. Our DM never ever uses group checks as defined in the quoted part, and I’m wondering whether he knows about them. Given that we’ve had one such situation roughly every two sessions (we always failed those situations), that’s definitely something I’ll ask him about.

But nonetheless, I feel this is a thin line as no explanation exist about what help is. If more able characters provide instructions, are those help? How is help defined, and when does an individual ability check become a group ability check?

forms – Is there a standard way to title (describe) individual time zones in an interface for non-technical users?

This comes up over and over and seems like one of the things that every design should have a standard response to.

In the case of non-technical users (regular people, not programmers or anybody that would actually know what UTC is or who would care about current GMT)

How should the time zone be titled?
Some options:
“Pacific (Seattle & LA)”
“Pacific (UTC +8)”
“Pacific Standard Time (UTC +8)”
“Pacific Time (US: Seattle)”

It seems like including a major city is helpful. Is it standard to offer redundant options in the same time zone with different major cities? Seems especially helpful for Arizona which has some different timezones in it.

I, personally, get confused about Daylight vs Standard time and I don’t want to have to get it right in the interface based on the date somebody entered. I’d like to just assume that people say 2pm on a date and plan to have something happen at 2pm whether it’s Daylight Savings time or not.

Context: users creating events that have a specific date, start time, end time and location (that exists in the google maps api)