Skip to content

Commit 2a3c3b2

Browse files
author
epriestley
committed
Provide bin/nuance import and ngram indexes for sources
Summary: Ref T10537. More infrastructure: - Put a `bin/nuance` in place with `bin/nuance import`. This has no useful behavior yet. - Allow sources to be searched by substring. This supports `bin/nuance import --source whatever` so you don't have to dig up PHIDs. Test Plan: - Applied migrations. - Ran `bin/nuance import --source ...` (no meaningful effect, but works fine). - Searched for sources by substring in the UI. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10537 Differential Revision: https://secure.phabricator.com/D15436
1 parent 3f4cc3a commit 2a3c3b2

21 files changed

+241
-17
lines changed

bin/nuance

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../scripts/setup/manage_nuance.php
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CREATE TABLE {$NAMESPACE}_nuance.nuance_sourcename_ngrams (
2+
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
3+
objectID INT UNSIGNED NOT NULL,
4+
ngram CHAR(3) NOT NULL COLLATE {$COLLATE_TEXT},
5+
KEY `key_object` (objectID),
6+
KEY `key_ngram` (ngram, objectID)
7+
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
$table = new NuanceSource();
4+
5+
foreach (new LiskMigrationIterator($table) as $source) {
6+
PhabricatorSearchWorker::queueDocumentForIndexing(
7+
$source->getPHID(),
8+
array(
9+
'force' => true,
10+
));
11+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE {$NAMESPACE}_nuance.nuance_source
2+
CHANGE name name VARCHAR(255) NOT NULL COLLATE {$COLLATE_SORT};

scripts/setup/manage_nuance.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
$root = dirname(dirname(dirname(__FILE__)));
5+
require_once $root.'/scripts/__init_script__.php';
6+
7+
$args = new PhutilArgumentParser($argv);
8+
$args->setTagline(pht('manage Nuance'));
9+
$args->setSynopsis(<<<EOSYNOPSIS
10+
**nuance** __command__ [__options__]
11+
Manage and debug Nuance.
12+
13+
EOSYNOPSIS
14+
);
15+
$args->parseStandardArguments();
16+
17+
$workflows = id(new PhutilClassMapQuery())
18+
->setAncestorClass('NuanceManagementWorkflow')
19+
->execute();
20+
$workflows[] = new PhutilHelpArgumentWorkflow();
21+
$args->parseWorkflows($workflows);

src/__phutil_library_map__.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,6 +1434,8 @@
14341434
'NuanceItemTransactionComment' => 'applications/nuance/storage/NuanceItemTransactionComment.php',
14351435
'NuanceItemTransactionQuery' => 'applications/nuance/query/NuanceItemTransactionQuery.php',
14361436
'NuanceItemViewController' => 'applications/nuance/controller/NuanceItemViewController.php',
1437+
'NuanceManagementImportWorkflow' => 'applications/nuance/management/NuanceManagementImportWorkflow.php',
1438+
'NuanceManagementWorkflow' => 'applications/nuance/management/NuanceManagementWorkflow.php',
14371439
'NuancePhabricatorFormSourceDefinition' => 'applications/nuance/source/NuancePhabricatorFormSourceDefinition.php',
14381440
'NuanceQuery' => 'applications/nuance/query/NuanceQuery.php',
14391441
'NuanceQueue' => 'applications/nuance/storage/NuanceQueue.php',
@@ -1473,6 +1475,7 @@
14731475
'NuanceSourceEditor' => 'applications/nuance/editor/NuanceSourceEditor.php',
14741476
'NuanceSourceListController' => 'applications/nuance/controller/NuanceSourceListController.php',
14751477
'NuanceSourceManageCapability' => 'applications/nuance/capability/NuanceSourceManageCapability.php',
1478+
'NuanceSourceNameNgrams' => 'applications/nuance/storage/NuanceSourceNameNgrams.php',
14761479
'NuanceSourcePHIDType' => 'applications/nuance/phid/NuanceSourcePHIDType.php',
14771480
'NuanceSourceQuery' => 'applications/nuance/query/NuanceSourceQuery.php',
14781481
'NuanceSourceSearchEngine' => 'applications/nuance/query/NuanceSourceSearchEngine.php',
@@ -5682,6 +5685,8 @@
56825685
'NuanceItemTransactionComment' => 'PhabricatorApplicationTransactionComment',
56835686
'NuanceItemTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
56845687
'NuanceItemViewController' => 'NuanceController',
5688+
'NuanceManagementImportWorkflow' => 'NuanceManagementWorkflow',
5689+
'NuanceManagementWorkflow' => 'PhabricatorManagementWorkflow',
56855690
'NuancePhabricatorFormSourceDefinition' => 'NuanceSourceDefinition',
56865691
'NuanceQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
56875692
'NuanceQueue' => array(
@@ -5721,6 +5726,7 @@
57215726
'NuanceDAO',
57225727
'PhabricatorApplicationTransactionInterface',
57235728
'PhabricatorPolicyInterface',
5729+
'PhabricatorNgramsInterface',
57245730
),
57255731
'NuanceSourceActionController' => 'NuanceController',
57265732
'NuanceSourceController' => 'NuanceController',
@@ -5733,6 +5739,7 @@
57335739
'NuanceSourceEditor' => 'PhabricatorApplicationTransactionEditor',
57345740
'NuanceSourceListController' => 'NuanceSourceController',
57355741
'NuanceSourceManageCapability' => 'PhabricatorPolicyCapability',
5742+
'NuanceSourceNameNgrams' => 'PhabricatorSearchNgrams',
57365743
'NuanceSourcePHIDType' => 'PhabricatorPHIDType',
57375744
'NuanceSourceQuery' => 'NuanceQuery',
57385745
'NuanceSourceSearchEngine' => 'PhabricatorApplicationSearchEngine',

src/applications/almanac/storage/AlmanacDevice.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ public function destroyObjectPermanently(
246246
}
247247

248248

249-
/* -( PhabricatorNgramInterface )------------------------------------------ */
249+
/* -( PhabricatorNgramsInterface )----------------------------------------- */
250250

251251

252252
public function newNgrams() {

src/applications/almanac/storage/AlmanacNamespace.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ public function destroyObjectPermanently(
210210
}
211211

212212

213-
/* -( PhabricatorNgramInterface )------------------------------------------ */
213+
/* -( PhabricatorNgramsInterface )----------------------------------------- */
214214

215215

216216
public function newNgrams() {

src/applications/almanac/storage/AlmanacNetwork.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public function destroyObjectPermanently(
116116
}
117117

118118

119-
/* -( PhabricatorNgramInterface )------------------------------------------ */
119+
/* -( PhabricatorNgramsInterface )----------------------------------------- */
120120

121121

122122
public function newNgrams() {

src/applications/almanac/storage/AlmanacService.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ public function destroyObjectPermanently(
251251
}
252252

253253

254-
/* -( PhabricatorNgramInterface )------------------------------------------ */
254+
/* -( PhabricatorNgramsInterface )----------------------------------------- */
255255

256256

257257
public function newNgrams() {

0 commit comments

Comments
 (0)