Discourse Solved

홈페이지에서 Top, Hot, Latest 등으로 정렬할 때, Unsolved 항목을 어떻게 추가할 수 있나요?

사이트 설정에서 구성한 링크 옆에 사용자 정의 링크를 추가하려면 Custom Top Navigation Links 구성 요소를 사용할 수 있습니다. 해결되지 않은 주제 목록으로 필터링하려면 solved=no를 추가할 수 있습니다. 예를 들어 https://meta.discourse.org/?solved=no

6개의 좋아요

위에서 언급된 호환되지 않는 플러그인 오류를 동일한 형태로 겪고 있습니다. 다만 저희는 공식 릴리스 버전을 사용하고 있습니다:

로그
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
Cycling Unicorn, to free up memory
Restarting unicorn pid: 551
Waiting for Unicorn to reload.
Waiting for Unicorn to reload..
Waiting for Unicorn to reload...
Waiting for Unicorn to reload....
Waiting for Unicorn to reload.....
Waiting for Unicorn to reload......
Waiting for Unicorn to reload.......
Stopping 3 Unicorn worker(s), to free up memory
Stopping job queue to reclaim memory, master pid is 3004191
$ cd /var/www/discourse/plugins/docker_manager && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/docker_manager && git reset --hard HEAD@{upstream}
HEAD is now at 930ec25 DEV: Enable smoke specs again
$ bundle install --retry 3 --jobs 4
Bundle complete! 146 Gemfile dependencies, 189 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into `./vendor/bundle`
3 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
Scope: all 17 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date

Done in 3.2s
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
checking out compatible discourse-calendar version: 8d09cf8503b78f4c72b47a7319c0f4b9ad0247e7
HEAD is now at 8d09cf8 DEV: update regions (#717)
checking out compatible discourse-reactions version: f87583d9054421869ba0de16c24ad15e32bbebe7
HEAD is now at f87583d DEV: Add system spec to check core features are working fine (#361)
checking out compatible discourse-solved version: 4f0234f5be3aaa77db277e0f224cd9750d2713cd
HEAD is now at 4f0234f DEV: Add system spec to check core features are working fine (#357)
discourse-spoiler-alert is already at latest compatible version
docker_manager is already at latest compatible version
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
	81: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:in `<main>'
	80: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:in `load'
	79: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `<top (required)>'
	78: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
	77: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in <top (required)>'
	76: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
	75: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
	74: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
	73: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
	72: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	71: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
	70: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
	69: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
	68: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
	67: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
	66: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:in `<top (required)>'
	65: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:in `load'
	64: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
	63: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:80:in `run'
	62: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'
	61: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:83:in `block in run'
	60: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'
	59: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'
	58: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'
	57: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'
	56: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
	55: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'
	54: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'
	53: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
	52: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
	51: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
	50: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
	49: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
	48: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
	47: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
	46: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
	45: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
	44: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
	43: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
	42: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
	41: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
	40: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
	39: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
	38: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'
	37: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'
	36: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'
	35: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:559:in `block in run_tasks_blocks'
	34: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:411:in `require_environment!'
	33: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
	32: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	31: from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
	30: from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
	29: from /var/www/discourse/config/environment.rb:7:in `<main>'
	28: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:435:in `initialize!'
	27: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in `run_initializers'
	26: from /usr/local/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
	25: from /usr/local/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
	24: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each_strongly_connected_component'
	23: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `call'
	22: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each'
	21: from /usr/local/lib/ruby/3.3.0/tsort.rb:352:in `block in each_strongly_connected_component'
	20: from /usr/local/lib/ruby/3.3.0/tsort.rb:434:in `each_strongly_connected_component_from'
	19: from /usr/local/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
	18: from /usr/local/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
	17: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
	16: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `run'
	15: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `instance_exec'
	14: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:94:in `block in <module:Finisher>'
	13: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks'
	12: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `each'
	11: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks'
	10: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook'
	9: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
	8: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:94:in `block in execute_hook'
	7: from /var/www/discourse/config/application.rb:241:in `block in <class:Application>'
	6: from /var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
	5: from /var/www/discourse/config/application.rb:241:in `block (2 levels) in <class:Application>'
	4: from /var/www/discourse/config/application.rb:241:in `each'
	3: from /var/www/discourse/lib/plugin/instance.rb:629:in `notify_after_initialize'
	2: from /var/www/discourse/lib/plugin/instance.rb:629:in `each'
	1: from /var/www/discourse/lib/plugin/instance.rb:631:in `block in notify_after_initialize'
/var/www/discourse/plugins/discourse-solved/plugin.rb:172:in `block in activate!': undefined method `register_category_list_topics_preloader_associations' for an instance of Plugin::Instance (NoMethodError)

** INCOMPATIBLE PLUGIN **

You are unable to start Discourse due to errors in the plugin at
/var/www/discourse/plugins/discourse-solved

Please try removing this plugin and rebuilding again!
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:109:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 3 Unicorn worker(s) that were stopped initially

로그 요약:

** INCOMPATIBLE PLUGIN **

You are unable to start Discourse due to errors in the plugin at
/var/www/discourse/plugins/discourse-solved

Please try removing this plugin and rebuilding again!
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>


최신 버전과 크게 차이가 나지는 않지만, 뭔가 문제가 있는 것 같습니다.

수정: 결국 이번 업데이트는 완전히 실패했습니다. 위에서 로그에 기록된 대로 docker_manager가 실패했지만, 그 후 '최신 상태’로 표시되었습니다. 메인 Discourse 업데이트는 완전히 실패하여 업데이트 중으로 표시되었으나 진행률이 전혀 올라가지 않았고 프로세스에도 변화가 없었습니다. app.yml에서 Solved! 플러그인을 비활성화하고 앱을 다시 빌드했는데, Solved 플러그인을 제외하고는 모든 것이 정상으로 보입니다. 재인용이 안전하다는 확인을 주신다면 다시 빌드하겠습니다.

3개의 좋아요

참고로, 저는 Solved 플러그인이 설치되어 있고, 오늘早些 UI를 통해 업데이트를 진행했는데 정상적으로 완료되었습니다. :+1:


게시하기 전에 확인을 했어야 했는데… :slight_smile: Solved에 중간에 추가된 새로운 커밋이 하나 있는 것 같습니다. 모든 것이 정상적으로 진행되는지 확인하기 위해 명령줄로 리빌드를 해보겠습니다.

예상 완료 시간: @Frully 제 리빌드(그리고 Solved 포함)가 성공적으로 완료되었습니다 :partying_face:

2개의 좋아요

잼이 말한 데 보태자면, 저도 Solved에서 문제가 없었습니다.

Solved를 처음 설치하신 거라면, GitHub 주소가 정확한지 확인해 보세요.

가능하다면 Stable 버전인지, Recommended Test-Passed 버전인지도 알려주시면 좋겠습니다.

app.yml 플러그인 섹션의 일부도 공유해 주시면 도움이 될 수 있습니다.

2개의 좋아요

확인해 주셔서 두 분 모두 감사합니다. 이제 업데이트가 완료되었으니 플러그인을 다시 활성화해도 괜찮을 것 같습니다. 테스트할 시간이 생기면 결과를 알려드리겠습니다.

3개의 좋아요

여전히 이 문제로 고생하고 있습니다(다른 사람은 보고하지 않은 것 같아서 우리만 그런 건 아닌지 의문이 들고 있기도 합니다).

좀 더 자세히 파고들어 보니, topic-statuses CSS 클래스에 padding-top과 padding-bottom을 15px으로 설정하면 문제를 우회할 수 있음을 발견했습니다. 플러그인 관리자가 더 영구적인 방법으로 이 문제를 수정해 주기를 바랍니다.

3개의 좋아요

이 문제는 Discourse Tooltips 와 관련이 있다고 생각합니다. 단순히 사이트의 미해결(unsolved) 박스뿐만 아니라 고정(pins)과 잠금(padlocks) 아이콘도 포함됩니다.

다른 보고 사항도 몇 가지 있는 것 같습니다:

5개의 좋아요

discourse를 업데이트한 이후, 해결된 웹훅(webhook)이 반대로 전송되고 있습니다.

주제를 해결하면 웹훅이 다음과 같이 전송됩니다:

    "can_accept_answer": true,
    "can_unaccept_answer": false,
    "accepted_answer": false,
    "topic_accepted_answer": null

그리고 답변을 비수락(unaccept)하면 그 반대 값으로 전송됩니다.

:partying_face: 이 플러그인은 이제 Bundling more popular plugins with Discourse core 논의된 대로 Discourse 코어에 번들링되어 포함되었습니다. 자체 호스팅을 사용 중이고 해당 플러그인을 사용 중인 경우, 다음 업그레이드 전에 app.yml에서 플러그인을 제거해야 합니다.

3개의 좋아요

discourse의 최신 버전에서 오류가 발생했습니다

이 기능을 앱 재구축(discourse)하려면 비활성화해야 합니다

이제는 코어에 포함됩니다.

3개의 좋아요

홈 > 해당 카테고리 내 게시물은 해결된 주제를 미해결 주제로 표시합니다

다른 설정이 필요한가요?

1개의 좋아요

Discourse의 검색 영역에서 고급 필터(Advanced filters)에 항목을 추가하여 해결되지 않은 항목만 표시할 수 있나요?

수정: 검색의 Where topics(토픽 위치)에 있는 옵션이었습니다. 약이 좀 먹히기 전에 질문을 던졌네요 :smiley:

/filter와 in:solved / in:unsolved를 사용할 수 있습니다

3개의 좋아요

제 이해로는 자동화를 생성할 때 Solved의 트리거 가능한 "first_accepted_solution"을 사용할 수 있습니다. 이 트리거를 가진 자동화는 해결된 모든 토픽당 한 번만 실행되는 건가요, 아니면 사용자의 첫 번째 채택된 솔루션에 대해 실행되는 건가요? 질문이 명확하지 않을 수 있어 죄송합니다.

자동화에서 사용할 수 있는 트리거에 대해 더 자세히 읽을 수 있는 곳이 어디인가요? 다만, 제 집중은 "accepted_solutions"에 있으며, 제가 잘못 기억하고 있지 않다면 이것은 Solved에서 온 것입니다. 그래서 여기서 질문을 드립니다.

“First-accepted-solution”(첫 번째 채택된 답변)는 사용자의 게시물이 어떤 주제에 대한 답변으로 채택된 첫 번째 시점에 트리거됩니다.

예를 들어, 사용자가 누군가를 도운 첫 번째 순간에 그 사용자에게 감사 인사를 전하는 용도로 사용할 수 있습니다.

Moin님, 안녕하세요.

설명해 주셔서 정말 감사합니다. 이해가 됩니다.

추가 질문이 있습니다: “accepted-solution” 트리거가 따로 있는지, 아니면 “first-accepted-solution”만 있는 건가요?

이유: Topic이 Solved(해결됨) 상태가 될 때마다(즉, Post가 해결책으로 표시될 때마다) Post를 생성하는 커스텀 자동화를 만들어 보고 싶습니다.

“first-accepted-solution”을 시도해 보았지만, 이제 보니 한 번만 작동합니다. 예상했던 결과인 것 같습니다.

추천 사항이나 아이디어가 있으신가요?

다시 한번 감사합니다 :slight_smile:

해당 게시글로 무엇을 하려는지, 그리고 왜 필요한지 알기 어렵기 때문에, 도움이 될 만한 제안을 드리기에는 다소 어렵습니다.
단순히 솔루션으로 표시된 게시글에 대해 알고 싶으신 건가요?

그렇다면 데이터 탐색기 쿼리와 “Data Explorer 결과를 사용하여 주제에 게시글 예약” 스크립트를 사용할 수 있습니다. 예를 들어, 지난 10분 동안의 솔루션을 반환하는 쿼리를 10분마다 실행할 수 있습니다.

더 자주 실행할 수도 있다고 생각하지만, 서버에 얼마나 많은 부하가 걸리는지는 확실하지 않습니다. 하지만 매분마다 실행한다고 해서 각 솔루션마다 게시글이 생성되는 것은 아닙니다. 1분 안에 해결된 주제가 2개일 수도 있으니까요.

또한, 생성된 게시글은 제한적인 범위 내에서만 사용자 정의할 수 있습니다. (물론 다른 텍스트와 마찬가지로 사용되는 텍스트를 사용자 정의할 수 있지만, 이 스크립트를 사용하여 자동화로 변경되는 모든 게시글에 대해 이를 수행해야 한다는 점을 염두에 두어야 합니다. 따라서 너무 개인화된 내용을 원한다면 제대로 작동하지 않습니다.)

해당 자동화로 생성된 게시글의 간단한 예시:

표의 내용은 쿼리에 따라 달라집니다. 예를 들어, 주제나 솔루션으로 연결되는 링크를 표시하도록 쿼리를 확장하는 것이 가능합니다. 기능의 일반적인 작동 방식을 보여주기 위해 단순하게 유지했습니다.

사용한 쿼리
SELECT
  dst.created_at AS solution_accepted_at,
  dst.topic_id,
  dst.answer_post_id,
  dst.accepter_user_id
FROM discourse_solved_solved_topics dst
WHERE dst.created_at >= NOW() - INTERVAL '10 minutes'
ORDER BY dst.created_at DESC
1개의 좋아요

Moin 님, 안녕하세요.

답변 주셔서 감사합니다 :slight_smile:

테스트를 해보니 잘 작동하네요. 답변 덕분에 해결했습니다:

다만, 제가 찾고 있던 것과 아직은 다릅니다.
이전 질문에서 명확하지 않게 말씀드려 죄송합니다.

제가 하려는 것은, 토픽이 해결될 때마다 시스템 사용자 계정으로 게시글을 자동으로 생성하는 자동화(Automation)를 만드는 것입니다. 이 토픽에 새로 생성된 게시글에는 설문조사가 포함되며, 이 설문조사는 Discourse Surveys의 마크다운으로 구성됩니다.