검색 가능한 사용자 커스텀 필드와 ask.discourse.org의 잘못된 조언

아마 이 주제를 두 개의 토픽으로 나누어야 할 수도 있지만, 이는 특정 문제를 AI로 해결하려는 시도이며, 여전히 답변을 원합니다. :slight_smile:

저는 사용자 정의 필드(user custom fields)를 검색 가능하게 하기를 원하는 사람을 돕고 있습니다. 플러그인이 필요하다고 말해 주었는데, 사실 그렇지 않더군요. 사용자 설정에서 “검색 가능” 옵션을 확인할 수 있습니다(이 기능이 언제부터 있었던 걸까요?):

심지어 /를 입력하여 사용자 정의 필드를 검색하면 점진적으로 검색됩니다!

제가 해결하려는 문제는 위치로 검색할 수 있기를 원하는데, 현재 그렇게 하는 유일한 방법은 주소를 복사하여 사용자 정의 필드에 두 번째 사본을 넣는 것인 것 같습니다. 이는 매우 비효율적으로 보입니다.

그래서 ask.discourse.org에 질문했습니다:

https://ask.discourse.org/discourse-ai/ai-bot/shared-ai-conversations/FOFRYdsQy6B--c0W-X6K4A

흥미로운 점은 AI가 말하는 내용이 사실이라고 생각했지만, 거의 대부분이 사실이 아니라는 것입니다.

위치 검색(정의 필드에 있는 경우)은 (정의 필드 해킹을 통해) 가능하지만, 사용자 디렉터리 검색에서 그 뉘앙스를 파악하는 것 같습니까?

“검색 막대를 통해 사용자 정의 필드를 검색하는 내장된 방법은 없습니다.” 라고 생각합니다! 저는 실제로 그렇게 될 것이라고 생각했습니다. 저는 그 일을 수행하는 플러그인을 작성하기 위해 막대한 비용을 지불했지만, 그것이 이미 존재한다는 사실을 알게 되었습니다.

저도 데이터 탐색기(Data Explorer) 솔루션을 제안했습니다; 또 다른 나쁜 아이디어였습니다. (그래서 저는 **AI만큼이나 멍청한 건가요?!?!)

또한, AI는 종종 Discourse뿐만 아니라 전 세계의 문제를 해결하려는 것처럼 보입니다:

질문이 Discourse에 관한 것이라고 가정하도록 지시할 수 있을까요?(미래 프롬프트에서 그것을 상기시키도록 하겠습니다). .hbs 파일 작성을 절대 추천하지 않도록 지시할 수 있을까요?

주소 검색 문제로 돌아가기

사용자 프로필 편집 시 콜백을 가지고 위치를 사용자 정의 필드 location에 작성하는 플러그인이 간단한 해결책이 될 것 같습니다. 카드에 표시되도록 하면 검색 및 검색 결과에 표시될 수 있다고 생각하며, 그런 다음 CSS를 사용하여 사용자 카드/프로필에서 이를 숨기거나 실제 위치 필드를 숨길 수 있을 것입니다.

아, 그렇게 오래된 기능은 아니군요. :slight_smile:

완벽한 해결책은 코어 코드를 수정하여 내장된 사용자 필드도 검색 가능하도록 만드는 것이라고 생각합니다. 사용자 정의 필드가 기본 필드보다 더 많은 기능을 가진다는 것은 다소 특이한 점이죠.

다만, 새로운 설정 페이지 형식이 이러한 필드를 포함하는 데 잘 작동할 수 있을 것입니다. 표시/숨김/비활성화 기능을 제공하면서 선택적으로 검색 가능하게 만드는 등의 개선은 좋은 변화가 될 것입니다.

데이터 탐색기(data explorer)를 사용하면 이 정보를 추출할 수 있을 것 같지만, 이것은 관리자 보고서를 위한 것이 아니라 사용자 기반이 사용하기 위한 것이라고 가정하고 있습니다?

동의합니다.

네 (수년 동안 해당 기능이 코어에 포함되어 있었다는 사실을 깨달을 때까지 데이터 탐색기를 제안하고 있었습니다). 사용자들이 서로를 찾을 수 있기를 원합니다. 예를 들어 같은 장비를 가지고 있거나 다른 도시로 여행을 가고 있는 경우처럼요.

일단 ‘이상적인’ 부분은 잠시 제쳐두겠습니다…

이미 검색 가능한 다른 사용자 정의 필드 세트가 있다면, 새로운 ‘위치(Location)’ 필드를 만드는 것이 가장 매끄러운 선택일 것입니다. :thinking:

기존 내장 위치 필드의 값을 이 새로운 위치 사용자 정의 필드로 마이그레이션한 후, 프로필의 입력 상자를 숨기고 프로필 및 사용자 카드에서 표시를 제거하여 기본 필드를 ‘비활성화’하면 될까요?

사실 처음에는 그렇게 시작했습니다 (실제로 location이라는 이름을 다른 용도로 사용하고 있었거든요). 하지만 이제는 location이라는 이름을 사용하는 location 플러그인을 사용하려고 합니다. :rofl:

아, 그렇군요. 상황이 조금 더 복잡하네요. :slight_smile:

가입 시 이 사용자 정의 필드가 표시되나요? 그렇다면 기본 위치 필드를 가입 양식에 포함할 수 있을지 확실하지 않으므로, 위치를 위한 사용자 정의 필드를 유지해야 할 것 같습니다. (사용자 디렉토리에 추가 열을 포함시킨 경우에도 마찬가지입니다.)

(이는 어느 쪽을 ‘주’ 필드로 간주할 것인지의 문제이지, 둘 중 하나를 제거할 수 있는지의 문제는 아닙니다.)

사용자 정의 필드의 값을 기본 위치로 복사하는 방식으로 해결해야 할 것 같습니다. :thinking: (그리고 이를 숨겨서 위치 플러그인이 사용하는 ‘메타’ 데이터로만 남기는 것이죠)

이것을 모든 사용자를 위해 위치 플러그인에 추가하는 기능으로 만들 수는 없을까요?

@pfaffman 이 문제를 해결해서 이 주제를 닫을 수 있을까요?

@JammyDodger 사실이라면 이는 매우 타당한 기능 요청인 것 같습니다. Contribute > Feature 주제를 제가 시작할까요, 아니면 직접 시작하시겠습니까?

이메일 주소와 위치를 사용자 정의 필드에 복사하여 검색 가능하도록 만드는 플러그인을 작성하고 있는데, 절반 정도까지 진행했습니다.

다만, 이메일을 사용할 수 있는 경우는 분명히 예외적인 상황입니다.