gitlab-org--gitlab-foss/app/controllers/concerns
Yorick Peterse daad7144ec
Support Markdown rendering using multiple projects
This refactors the Markdown pipeline so it supports the rendering of
multiple documents that may belong to different projects. An example of
where this happens is when displaying the event feed of a group. In this
case we retrieve events for all projects in the group. Previously we
would group events per project and render these chunks separately, but
this would result in many SQL queries being executed. By extending the
Markdown pipeline to support this out of the box we can drastically
reduce the number of SQL queries.

To achieve this we introduce a new object to the pipeline:
Banzai::RenderContext. This object simply wraps two other objects: an
optional Project instance, and an optional User instance. On its own
this wouldn't be very helpful, but a RenderContext can also be used to
associate HTML documents with specific Project instances. This work is
done in Banzai::ObjectRenderer and allows us to reuse as many queries
(and results) as possible.
2018-04-11 14:10:19 +02:00
..
authenticates_with_two_factor.rb [Rails5] Add raise: false to skip_before_action in authenticates_with_two_factor.rb 2018-04-06 22:37:59 +11:00
boards_responses.rb Bring one group board to CE 2018-03-03 12:56:17 -03:00
continue_params.rb Merge branch 'open-redirect-fix-continue-to' into 'security' 2017-04-05 21:07:26 -07:00
controller_with_cross_project_access_check.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
creates_commit.rb Allow maintainers to edit directly in a fork 2018-03-07 16:55:34 +01:00
cycle_analytics_params.rb Allow simple ivar ||= form. Update accordingly 2017-09-19 01:29:32 +08:00
diff_for_path.rb Clean up diff rendering 2017-05-23 15:37:05 -05:00
enforces_two_factor_authentication.rb use Gitlab::UserSettings directly as a singleton instead of including/extending it 2018-02-02 18:39:55 +00:00
group_tree.rb [Rails5] Rename sort methods to sort_by_attribute 2018-04-04 09:19:47 +00:00
hooks_execution.rb Wrong data type when testing webhooks 2017-07-20 15:12:06 +00:00
issuable_actions.rb Refactor discussions/notes code 2018-04-03 16:03:00 +00:00
issuable_collections.rb Support additional LabelsFinder parameters for group labels 2018-03-02 08:50:00 +01:00
issues_action.rb Refactor IssuableFinder to extract model-specific logic 2018-02-21 10:31:29 +00:00
lfs_request.rb Backport of LFS File Locking API 2018-02-07 09:04:00 -05:00
members_presentation.rb Present member collection at the controller level 2017-12-12 18:14:58 +01:00
membership_actions.rb Improve Member services 2018-02-27 16:02:22 +01:00
merge_requests_action.rb Refactor IssuableFinder to extract model-specific logic 2018-02-21 10:31:29 +00:00
milestone_actions.rb Fix a few layout error 2017-11-22 23:30:51 +08:00
notes_actions.rb Support Markdown rendering using multiple projects 2018-04-11 14:10:19 +02:00
oauth_applications.rb Allow simple ivar ||= form. Update accordingly 2017-09-19 01:29:32 +08:00
params_backward_compatibility.rb ProjectsFinder should handle more options 2017-04-06 07:11:37 +02:00
preview_markdown.rb Merge remote-tracking branch 'upstream/master' into no-ivar-in-modules 2017-11-30 15:20:00 +08:00
renders_blob.rb Clean up some backend 2017-08-03 14:29:35 +02:00
renders_commits.rb Move ModuleWithInstanceVariables to Gitlab namespace 2017-11-22 17:06:57 +08:00
renders_member_access.rb Resolve "Display member role per project" 2017-12-07 09:11:41 +00:00
renders_notes.rb Support Markdown rendering using multiple projects 2018-04-11 14:10:19 +02:00
repository_settings_redirect.rb Create and use project path helpers that only need a project, no namespace 2017-07-05 11:11:59 -05:00
requires_whitelisted_monitoring_client.rb use Gitlab::UserSettings directly as a singleton instead of including/extending it 2018-02-02 18:39:55 +00:00
routable_actions.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
send_file_upload.rb fix the failing specs 2018-03-22 14:37:47 -04:00
service_params.rb Manual Configuration instead of Activation. Prometheus Service just got a bit weirder 2018-01-02 22:40:03 +01:00
snippets_actions.rb Move ModuleWithInstanceVariables to Gitlab namespace 2017-11-22 17:06:57 +08:00
spammable_actions.rb Merge remote-tracking branch 'upstream/master' into no-ivar-in-modules 2017-12-15 17:14:26 +08:00
toggle_award_emoji.rb Display comments for personal snippets 2017-05-02 13:07:53 +02:00
toggle_subscription_action.rb Use StrongMemoize and enable/disable cops properly 2017-11-18 01:01:53 +08:00
uploads_actions.rb Add proxy_download to perform proxied sending of all files 2018-03-09 09:16:06 -05:00
with_performance_bar.rb In development, allow the toggling of the performance bar 2018-01-17 13:56:05 +01:00
workhorse_request.rb Move LfsHelper to a new LfsRequest concern 2016-11-23 17:28:11 +01:00