Commit Graph

337 Commits

Author SHA1 Message Date
Benoît Burnichon
e0573fc4f6 Merge pull request #1423 from mdarse/private-fields-ast
Restrict search on visible private fields
2015-07-17 17:36:30 +02:00
Benoît Burnichon
e8d4d5f38d Record_adapter now uses a specific repository from databox 2015-07-15 11:26:13 +02:00
Mathieu Darse
929705f13e Structure -> GlobalStructure + LimitedStructure
Rename Structure to GlobalStructure.
Add new LimitedStructure to wrap another Structure and transparently restrict
access on private fields.
2015-07-10 12:30:13 +02:00
Benoît Burnichon
dd73d6dae2 Renaming of Databox{,Field}Repository 2015-07-08 14:58:41 +02:00
Benoît Burnichon
82f19ee55d Begin databox_field refactor 2015-07-08 11:08:07 +02:00
Benoît Burnichon
62ac0e0cbc Use computed key from appbox. 2015-07-03 18:20:09 +02:00
Benoît Burnichon
26f8869f1e Remove DataboxHydrator as now too tiny.
Add createMany to DataboxFactory.
2015-07-03 18:20:09 +02:00
Benoît Burnichon
c5239259d1 Refactor DataboxRepository 2015-07-03 18:20:09 +02:00
Benoît Burnichon
00f5f3369e Add DataboxRepository 2015-07-03 18:20:09 +02:00
Benoît Burnichon
f920e8354a Replace phraseanet.appbox by getApplicationBox() method calls. 2015-07-02 12:33:19 +02:00
Benoît Burnichon
5f281fd525 Remove appbox-register service as never used and class not defined 2015-07-02 12:27:26 +02:00
Benoît Burnichon
6e651f3b07 Replace app['phraseanet.appbox']->get_databox using trait 2015-07-02 12:27:26 +02:00
Benoît Burnichon
dbb33c85b9 Rename GlobalElasticOptions ElasticsearchOptions 2015-07-02 12:27:25 +02:00
Benoît Burnichon
28fee99fc4 Add Form for ElasticSearch Configuration.
Also changed type from array to Options object.
2015-06-29 17:10:32 +02:00
Mathieu Darse
ea8eb4dc07 Fix another IN search regression from 40e2df6c3f
Move getIndexFieldName() from `RecordHelper` to `Field`.
Also remove an unused injected dependency
2015-06-15 19:18:06 +02:00
Benoît Burnichon
d0dee9ea2b Delay indexer instantiation, indexer subscriber can be called synchronously or asynchronously 2015-06-05 14:37:50 +02:00
Benoît Burnichon
7be5e332db Add LazyLocator 2015-06-04 12:22:47 +02:00
jygaulier
fe057a8a6b Merge pull request #1389 from jygaulier/RESTORE-INDEXER-TASK
RESTORE-INDEXER-TASK
2015-06-04 10:43:09 +02:00
Mathieu Darse
52709fb5af More semantic Structure factory 2015-06-03 19:45:48 +02:00
Mathieu Darse
421684757a Refactor merged field structure
Here is the new model:

+-----------------------------+
|          Structure          |
+-----------------------------+
| +createFromDataboxes()      |
| getAllFields()              |
| getUnrestrictedFields()     |
| getPrivateFields()          |
| getFacetsFields()           |
| getThesaurusEnabledFields() |
| getDateFields()             |
|- - - - - - - - - - - - - - -|
| add()                       |
| get()                       |
| typeOf()                    |
| isPrivate()                 |
+-------+-+-+-----------------+
        | | |          +---------------------+
        | | +--------> |        Field        |
        | |            +---------------------+
        | |            | getName()           |
        | |            | getType()           |
        | |            | isXXX()             |
        | |            | getThesaurusRoots() |
        | |            +---------------------+
        | |
        | |            +-------+
        | +----------> | Field |
        |              +-------+
        |
        |              +-------+
        +------------> | Field |
                       +-------+

It was driven by the following use cases:
- Get list of facets (only searchable fields)
- Get list of fields with concept inference
- Get list of all fields
    - Splitted in private / public fields (to define mapping)
- Get all date fields
- Get field type
    - To apply sanitization rules
    - To define mapping
- Check if concept inference enabled
- Check if the field is searchable
- Check if the field is a facet
- Check if the field is private
- Dereference field from label (still to be done)

(The last two UCs are new)

Also removed old code from legacy search engines.

[#PHRAS-500]
2015-06-03 19:45:48 +02:00
Jean-Yves Gaulier
74e16b4ec2 RESTORE-INDEXER-TASK
#time 1h
2015-06-03 19:21:00 +02:00
Benoît Burnichon
89df907285 Display registration should use pending Registrations.
fixes PHRAS-551
2015-06-02 11:40:03 +02:00
Benoît Burnichon
beabf90fdf Refactor Notifier 2015-05-12 21:05:29 +02:00
Benoît Burnichon
3856622d48 Merge pull request #1361 from mdarse/thesaurus-prefixes
Thesaurus prefixes in field structure (the return)
2015-05-11 12:07:48 +02:00
Benoît Burnichon
31116a14a9 Remove OpCache options as now bundled with PHP5.5+ 2015-05-06 12:00:28 +02:00
Mathieu Darse
feb7fd057e Add some indexer logging 2015-04-29 20:43:20 +02:00
Mathieu Darse
30391e89b8 Add logging capabilities to thesaurus 2015-04-29 19:08:42 +02:00
Jean-Yves Gaulier
a0815afcd5 - restore task interfaces
- remove task "phraseanet-indexer"
todo :
task "recordmover"
2015-04-29 14:48:22 +02:00
Mathieu Darse
4785fbc8ed Fix indexing issue with date fields
- Date and number types sanitization
- Remove `RecordIndexer` dependency on `ElasticSearchEngine`
- Move some sanitization from `RecordIndexer` to `RecordHelper`
2015-04-15 18:28:12 +02:00
Jean-Yves Gaulier
56fa78e0ef wip : removed Sphinx and Phrasea search engines 2015-04-08 18:37:11 +02:00
Benoît Burnichon
96c2125c1e Merge remote-tracking branch 'upstream/master' into feature/controller-as-service 2015-03-30 17:59:11 +02:00
Mathieu Darse
99e62f7530 QueryParser -> QueryCompiler 2015-03-30 16:17:40 +02:00
Benoît Burnichon
ad51a350b7 Change content type negotiation in API.
Fix typo in negotiator word.
2015-03-27 13:46:54 +01:00
Benoît Burnichon
bf27dcff20 Remove useless Dependency 2015-03-27 12:58:07 +01:00
Benoît Burnichon
8d7fe65430 Add Session Listener to enforce save of session at kernel response 2015-03-26 00:51:13 +01:00
Benoît Burnichon
e5f48a2f09 Disable ZMQNotifier in setup_mode 2015-03-24 16:06:27 +01:00
Benoît Burnichon
3cc78d769a Extract Proper NotifierInterface in TaskManager 2015-03-24 15:06:20 +01:00
Benoît Burnichon
893f78afa1 Remove call to TaskRepository as not used. 2015-03-24 14:19:29 +01:00
Benoît Burnichon
ef68007132 Remove references to Phrasea Indexer. 2015-03-23 18:13:58 +01:00
Benoît Burnichon
31d5237b5d Merge pull request #1303 from bburnichon/feature/use-phpunit4
use phpunit4
2015-03-19 16:57:00 +01:00
Mathieu Darse
679106d226 Fix typos and check-in Escaper 2015-03-19 16:41:53 +01:00
Mathieu Darse
b1a03ae566 Smart facet value escaping 2015-03-19 13:42:04 +01:00
Benoît Burnichon
36a8d555e8 Add enabling capability to border manager.
This is needed to register checkers without actually applying them to Visa checks.
2015-03-18 23:09:05 +01:00
Mathieu Darse
e4ee7fc7d7 Fix broken phrasea engine (introduced in #1282) 2015-03-16 16:30:50 +01:00
Benoît Burnichon
c72e31163b Merge remote-tracking branch 'upstream/3.8' 2015-03-13 18:50:49 +01:00
Benoît Burnichon
565a3af9ce Fixup test of ConfigurationServiceProvider. 2015-03-12 14:40:54 +01:00
Benoît Burnichon
118bb2f03c Some fixup for ES instance 2015-03-11 15:22:20 +01:00
Mathieu Darse
63eaaf1596 Merge remote-tracking branch 'upstream/master' into elastic-indexer
Conflicts:
	composer.lock
	www/scripts/apps/admin/main/app.js
2015-03-10 15:25:20 +01:00
Nicolas Le Goff
ed3ffb59a6 Merge remote-tracking branch 'upstream/master' into 20150306-elastic-indexer
Conflicts:
	bin/console
	bower.json
	composer.json
	composer.lock
	lib/Alchemy/Phrasea/Application.php
	lib/Alchemy/Phrasea/Border/Manager.php
	lib/Alchemy/Phrasea/Controller/Api/V1.php
	lib/Alchemy/Phrasea/Core/PhraseaEvents.php
	lib/Alchemy/Phrasea/SearchEngine/SearchEngineOptions.php
	lib/classes/caption/field.php
	lib/classes/record/Interface.php
	templates/web/prod/index.html.twig
	www/skins/prod/000000/prodcolor.css
2015-03-10 14:36:31 +01:00
Mathieu Darse
e889d19b7d Filter databoxes earlier (in Indexer) and databox id error handling 2015-03-10 11:52:30 +01:00