Page MenuHomePhabricator

Add basic NUX support to SearchEngines
ClosedPublic

Authored by epriestley on Dec 19 2015, 8:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Mar 26, 4:14 PM
Unknown Object (File)
Fri, Mar 15, 8:48 AM
Unknown Object (File)
Feb 22 2024, 8:32 AM
Unknown Object (File)
Feb 17 2024, 8:25 AM
Unknown Object (File)
Feb 11 2024, 7:47 AM
Unknown Object (File)
Feb 3 2024, 7:55 AM
Unknown Object (File)
Jan 28 2024, 6:01 PM
Unknown Object (File)
Jan 16 2024, 2:14 AM
Subscribers
None

Details

Reviewers
chad
Commits
Restricted Diffusion Commit
rPdbb84f1ddc12: Add basic NUX support to SearchEngines
Summary

This is just putting a hook in that pretty much works. Behavior:

  • If you visit /maniphest/?nux=true, it always shows NUX for testing.
  • Otherwise, it shows NUX if there are no objects in the application yet.
Test Plan

Screen Shot 2015-12-19 at 12.44.17 PM.png (787×1 px, 132 KB)

Diff Detail

Repository
rP Phabricator
Branch
nux1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 9672
Build 11590: Run Core Tests
Build 11589: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Add basic NUX support to SearchEngines.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
src/applications/maniphest/query/ManiphestTaskSearchEngine.php
388–394 ↗(On Diff #35851)

I'll delete these before landing if the rest of this seems reasonable.

This revision is now accepted and ready to land.Dec 19 2015, 8:48 PM
epriestley edited edge metadata.
  • Strip out placeholder/demo text so this can go upstream.
This revision was automatically updated to reflect the committed changes.
src/applications/search/controller/PhabricatorApplicationSearchController.php
232

erm, where do I drop this new function? I tried SearchEngine but it complains about being final.

Yeah, the naming is really confusing right now (I'm going to fix that as part of T9979.

SearchEngine is about fulltext search and search indexing. I'm going to rename that to IndexEngine.

ApplicationSearchEngine is what you want.

To get a basic version working:

  • Implement getNewUserHeader() getNewUserBody() in an ApplicationSearchEngine subclass like ManiphestTaskSearchEngine.
  • Visit /maniphest/?nux=true.
  • To get fancier, mess around with PhabricatorApplicationSearchEngine-> renderNewUserView() (see inline).
  • This will be less confusing soon.
src/applications/search/engine/PhabricatorApplicationSearchEngine.php
1357–1371

Mess with this to get a fancier UI.