Commit Graph

204 Commits

Author SHA1 Message Date
Benoît Burnichon
9ebabb1314 remove superfluous loadPlugins() 2015-10-30 15:54:03 +01:00
Benoît Burnichon
829a69ad4a Change ORM instantiation position. 2015-10-28 13:58:43 +01:00
Benoît Burnichon
43a68777d1 Change instantiation of ORMs to allow adding listeners. 2015-10-27 19:37:11 +01: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
56fa78e0ef wip : removed Sphinx and Phrasea search engines 2015-04-08 18:37:11 +02:00
Mathieu Darse
9a909ae1b0 Query sampling command to test grammar 2015-03-30 16:30:11 +02:00
Benoît Burnichon
a814208a6b Merge pull request #1315 from mdarse/cross-fields-multi-word-query
Working cross-fields queries with multiple words (without operators)
2015-03-24 18:42:13 +01:00
Benoît Burnichon
e5f48a2f09 Disable ZMQNotifier in setup_mode 2015-03-24 16:06:27 +01:00
Mathieu Darse
f2f29c4290 Command to update index mapping 2015-03-23 19:12:59 +01:00
Benoît Burnichon
775552f613 Change Version to non-static 2015-03-19 11:28:06 +01:00
Benoît Burnichon
118bb2f03c Some fixup for ES instance 2015-03-11 15:22:20 +01:00
Mathieu Darse
38224cfae1 Remove static file dumper 2015-03-10 14:53:33 +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
Nicolas Le Goff
a3ef1b606c Makes static thumbnails delivery as default delivery && set symlink dir in www directory 2015-02-16 15:01:44 +01:00
Nicolas Le Goff
9a3e92ed9c Multiple ORMs for all database 2015-02-12 17:58:45 +01:00
Nicolas Le Goff
065f64bd47 Report previous patches 2015-02-09 13:42:26 +01:00
Nicolas Le Goff
949bf06cac Merge branch '3.8'
Conflicts:
	CHANGELOG.md
	bin/console
	bin/developer
	bin/setup
	bower.json
	composer.json
	composer.lock
	features/bootstrap/FeatureContext.php
	features/bootstrap/GuiContext.php
	lib/Alchemy/Phrasea/Authentication/Token/TokenValidator.php
	lib/Alchemy/Phrasea/Command/BuildMissingSubdefs.php
	lib/Alchemy/Phrasea/Command/CreateCollection.php
	lib/Alchemy/Phrasea/Command/Developer/JavascriptBuilder.php
	lib/Alchemy/Phrasea/Controller/Admin/Collection.php
	lib/Alchemy/Phrasea/Controller/Admin/Databoxes.php
	lib/Alchemy/Phrasea/Controller/Admin/TaskManager.php
	lib/Alchemy/Phrasea/Controller/Api/V1.php
	lib/Alchemy/Phrasea/Controller/Client/Baskets.php
	lib/Alchemy/Phrasea/Controller/Client/Root.php
	lib/Alchemy/Phrasea/Controller/Prod/Basket.php
	lib/Alchemy/Phrasea/Controller/Prod/Export.php
	lib/Alchemy/Phrasea/Controller/Prod/Property.php
	lib/Alchemy/Phrasea/Controller/Prod/Records.php
	lib/Alchemy/Phrasea/Controller/Prod/Tools.php
	lib/Alchemy/Phrasea/Controller/Prod/Upload.php
	lib/Alchemy/Phrasea/Controller/Root/Login.php
	lib/Alchemy/Phrasea/Controller/Thesaurus/Thesaurus.php
	lib/Alchemy/Phrasea/Core/Event/ApiLoadEndEvent.php
	lib/Alchemy/Phrasea/Core/Event/ApiLoadStartEvent.php
	lib/Alchemy/Phrasea/Core/Provider/TaskManagerServiceProvider.php
	lib/Alchemy/Phrasea/Core/Version.php
	lib/Alchemy/Phrasea/Exception/XMLParseErrorException.php
	lib/Alchemy/Phrasea/Helper/DatabaseHelper.php
	lib/Alchemy/Phrasea/Helper/User/Edit.php
	lib/Alchemy/Phrasea/SearchEngine/Phrasea/PhraseaEngine.php
	lib/Alchemy/Phrasea/SearchEngine/SearchEngineOptions.php
	lib/Doctrine/Entities/AuthFailure.php
	lib/Doctrine/Entities/Basket.php
	lib/Doctrine/Entities/BasketElement.php
	lib/Doctrine/Entities/LazaretAttribute.php
	lib/Doctrine/Entities/LazaretCheck.php
	lib/Doctrine/Entities/LazaretFile.php
	lib/Doctrine/Entities/LazaretSession.php
	lib/Doctrine/Entities/Session.php
	lib/Doctrine/Entities/SessionModule.php
	lib/Doctrine/Entities/StoryWZ.php
	lib/Doctrine/Entities/UsrList.php
	lib/Doctrine/Entities/UsrListEntry.php
	lib/Doctrine/Entities/UsrListOwner.php
	lib/Doctrine/Entities/ValidationData.php
	lib/Doctrine/Entities/ValidationParticipant.php
	lib/Doctrine/Entities/ValidationSession.php
	lib/Doctrine/Logger/MonologSQLLogger.php
	lib/Doctrine/Repositories/BasketRepository.php
	lib/Doctrine/Repositories/ValidationParticipantRepository.php
	lib/Doctrine/Types/Binary.php
	lib/Doctrine/Types/Blob.php
	lib/Doctrine/Types/Enum.php
	lib/Doctrine/Types/LongBlob.php
	lib/Doctrine/Types/VarBinary.php
	lib/classes/API/OAuth2/Account.php
	lib/classes/API/OAuth2/Application.php
	lib/classes/API/OAuth2/Application/OfficePlugin.php
	lib/classes/API/OAuth2/AuthCode.php
	lib/classes/API/OAuth2/RefreshToken.php
	lib/classes/API/OAuth2/Token.php
	lib/classes/API/V1/Abstract.php
	lib/classes/API/V1/Interface.php
	lib/classes/API/V1/adapter.php
	lib/classes/API/V1/exception/abstract.php
	lib/classes/API/V1/exception/badrequest.php
	lib/classes/API/V1/exception/forbidden.php
	lib/classes/API/V1/exception/internalservererror.php
	lib/classes/API/V1/exception/maintenance.php
	lib/classes/API/V1/exception/methodnotallowed.php
	lib/classes/API/V1/exception/notfound.php
	lib/classes/API/V1/exception/unauthorized.php
	lib/classes/API/V1/result.php
	lib/classes/Exception/Feed/EntryNotFound.php
	lib/classes/Exception/Feed/ItemNotFound.php
	lib/classes/Exception/Feed/PublisherNotFound.php
	lib/classes/Feed/Abstract.php
	lib/classes/Feed/Adapter.php
	lib/classes/Feed/Aggregate.php
	lib/classes/Feed/Collection.php
	lib/classes/Feed/CollectionInterface.php
	lib/classes/Feed/Entry/Adapter.php
	lib/classes/Feed/Entry/Collection.php
	lib/classes/Feed/Entry/CollectionInterface.php
	lib/classes/Feed/Entry/Interface.php
	lib/classes/Feed/Entry/Item.php
	lib/classes/Feed/Entry/ItemInterface.php
	lib/classes/Feed/Interface.php
	lib/classes/Feed/Link.php
	lib/classes/Feed/LinkInterface.php
	lib/classes/Feed/Publisher/Adapter.php
	lib/classes/Feed/Publisher/Interface.php
	lib/classes/Feed/Token.php
	lib/classes/Feed/TokenAggregate.php
	lib/classes/Feed/XML/Abstract.php
	lib/classes/Feed/XML/Atom.php
	lib/classes/Feed/XML/Cooliris.php
	lib/classes/Feed/XML/Interface.php
	lib/classes/Feed/XML/RSS.php
	lib/classes/Feed/XML/RSS/Image.php
	lib/classes/Feed/XML/RSS/ImageInterface.php
	lib/classes/User/Adapter.php
	lib/classes/User/Interface.php
	lib/classes/appbox/register.php
	lib/classes/connection.php
	lib/classes/connection/abstract.php
	lib/classes/connection/interface.php
	lib/classes/connection/pdo.php
	lib/classes/connection/pdoStatementDebugger.php
	lib/classes/deprecated/countries.php
	lib/classes/deprecated/inscript.api.php
	lib/classes/eventsmanager/event/test.php
	lib/classes/ftpclient.php
	lib/classes/http/request.php
	lib/classes/media/subdef.php
	lib/classes/module/console/schedulerStart.php
	lib/classes/module/console/schedulerState.php
	lib/classes/module/console/schedulerStop.php
	lib/classes/module/console/taskState.php
	lib/classes/module/console/tasklist.php
	lib/classes/module/console/taskrun.php
	lib/classes/patch/320alpha4b.php
	lib/classes/patch/3715alpha1a.php
	lib/classes/patch/379alpha1a.php
	lib/classes/patch/380alpha10a.php
	lib/classes/patch/380alpha11a.php
	lib/classes/patch/380alpha13a.php
	lib/classes/patch/380alpha14a.php
	lib/classes/patch/380alpha15a.php
	lib/classes/patch/380alpha16a.php
	lib/classes/patch/380alpha17a.php
	lib/classes/patch/380alpha18a.php
	lib/classes/patch/380alpha3a.php
	lib/classes/patch/380alpha4a.php
	lib/classes/patch/380alpha6a.php
	lib/classes/patch/380alpha8a.php
	lib/classes/patch/380alpha9a.php
	lib/classes/patch/381alpha1b.php
	lib/classes/patch/381alpha2a.php
	lib/classes/patch/381alpha3a.php
	lib/classes/patch/381alpha4a.php
	lib/classes/patch/383alpha1a.php
	lib/classes/patch/383alpha2a.php
	lib/classes/patch/383alpha3a.php
	lib/classes/patch/383alpha4a.php
	lib/classes/record/adapter.php
	lib/classes/record/preview.php
	lib/classes/recordutils.php
	lib/classes/recordutils/audio.php
	lib/classes/recordutils/document.php
	lib/classes/recordutils/map.php
	lib/classes/recordutils/video.php
	lib/classes/registry.php
	lib/classes/registryInterface.php
	lib/classes/set/order.php
	lib/classes/system/url.php
	lib/classes/task/Scheduler.php
	lib/classes/task/appboxAbstract.php
	lib/classes/task/databoxAbstract.php
	lib/classes/task/manager.php
	lib/classes/task/period/RecordMover.php
	lib/classes/task/period/apibridge.php
	lib/classes/task/period/apiwebhooks.php
	lib/classes/task/period/archive.php
	lib/classes/task/period/cindexer.php
	lib/classes/task/period/emptyColl.php
	lib/classes/task/period/ftp.php
	lib/classes/task/period/ftpPull.php
	lib/classes/task/period/subdef.php
	lib/classes/task/period/test.php
	lib/classes/task/period/writemeta.php
	lib/conf.d/PhraseaFixture/AbstractWZ.php
	lib/conf.d/PhraseaFixture/Basket/LoadFiveBaskets.php
	lib/conf.d/PhraseaFixture/Basket/LoadOneBasket.php
	lib/conf.d/PhraseaFixture/Basket/LoadOneBasketEnv.php
	lib/conf.d/PhraseaFixture/Lazaret/LoadOneFile.php
	lib/conf.d/PhraseaFixture/Story/LoadOneStory.php
	lib/conf.d/PhraseaFixture/UsrLists/ListAbstract.php
	lib/conf.d/PhraseaFixture/UsrLists/UsrList.php
	lib/conf.d/PhraseaFixture/UsrLists/UsrListEntry.php
	lib/conf.d/PhraseaFixture/UsrLists/UsrListOwner.php
	lib/conf.d/PhraseaFixture/ValidationParticipant/LoadOneParticipant.php
	lib/conf.d/PhraseaFixture/ValidationParticipant/LoadParticipantWithSession.php
	lib/conf.d/PhraseaFixture/ValidationSession/LoadOneValidationSession.php
	templates/web/admin/collection/collection.html.twig
	templates/web/common/dialog_export.html.twig
	templates/web/common/menubar.html.twig
	templates/web/prod/actions/Tools/index.html.twig
	templates/web/prod/index.html.twig
	templates/web/prod/upload/upload-flash.html.twig
	templates/web/prod/upload/upload.html.twig
	templates/web/report/report_layout_child.html.twig
	templates/web/setup/step2.html.twig
	templates/web/thesaurus/new-synonym-dialog.html.twig
	templates/web/thesaurus/properties.html.twig
	templates/web/thesaurus/search.html.twig
	tests/Alchemy/Tests/Phrasea/Application/ApiAbstract.php
	tests/Alchemy/Tests/Phrasea/Cache/FactoryTest.php
	tests/Alchemy/Tests/Phrasea/Controller/Admin/AdminCollectionTest.php
	tests/Alchemy/Tests/Phrasea/Controller/Client/RootTest.php
2015-02-05 18:38:49 +01:00
Nicolas Le Goff
5fe09febb7 Merge pull request #1209 from nlegoff/patch-387
[3.8.7] Fix some easy pick
2015-01-21 17:19:02 +01:00
Nicolas Le Goff
10c3869ca3 PHRAS-374 Add command to rebuild subdefs 2015-01-21 16:14:45 +01:00
Nicolas Le Goff
ea4a567b67 Bump year to 2015 2015-01-20 14:18:45 +01:00
Mathieu Darse
65d4334dd1 Thesaurus term inference command 2014-12-15 12:25:18 +01:00
Mathieu Darse
7d9b633043 New query debug command 2014-11-10 18:08:39 +01:00
Mathieu Darse
5b24664001 Merge branch 'master' into elastic-indexer
Conflicts:
	bin/console
2014-10-15 12:18:44 +02:00
Nicolas Le Goff
10a83bc6c4 Fix latest merge 2014-10-13 12:58:20 +02:00
Nicolas Le Goff
28eecf6a09 Merge branch '3.8'
Conflicts:
	.gitignore
	bin/console
	composer.json
	composer.lock
	hudson/fixtures.sql
	lib/Alchemy/Phrasea/Command/Developer/IniReset.php
	lib/Alchemy/Phrasea/Command/Setup/Install.php
	lib/Alchemy/Phrasea/Controller/Api/Oauth2.php
	lib/Alchemy/Phrasea/Controller/Api/V1.php
	lib/Alchemy/Phrasea/Controller/Prod/Export.php
	lib/Alchemy/Phrasea/Controller/Root/Login.php
	lib/Alchemy/Phrasea/Core/Provider/PhraseanetServiceProvider.php
	lib/Alchemy/Phrasea/Core/Version.php
	lib/Alchemy/Phrasea/Helper/DatabaseHelper.php
	lib/Alchemy/Phrasea/Helper/Prod.php
	lib/classes/API/OAuth2/Application.php
	lib/classes/API/V1/Interface.php
	lib/classes/API/V1/adapter.php
	lib/classes/Setup/Upgrade.php
	lib/classes/media/subdef.php
	lib/classes/task/period/RecordMover.php
	templates/web/prod/index.html.twig
	templates/web/setup/step2.html.twig
	tests/Alchemy/Tests/Phrasea/Controller/Admin/RootTest.php
	tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php
	tests/classes/api/v1/api_v1_adapterTest.php
	tests/db-ref.sqlite
	vagrant/vms/phraseanet-php54-nginx/puphpet/config.yaml
	vagrant/vms/phraseanet-php54-nginx/puphpet/files/exec-once/setup
2014-10-09 19:40:33 +02:00
Damien Alexandre
5f7edb5be9 Merge branch 'master' into elastic-indexer
Conflicts:
	.gitignore
2014-10-06 18:24:58 +02:00
Mathieu Darse
de8e9e3bfc Refactor search engine provider 2014-09-10 16:45:22 +02:00
Nicolas Le Goff
2c023f4bca Remove command 2014-09-10 11:23:29 +02:00
Nicolas Le Goff
2c6ba6b99f Add static file mode to deliver thumbnails 2014-09-10 11:23:29 +02:00
Nicolas Le Goff
7eb1a506fa Merge branch '3.8'
Conflicts:
	.gitignore
	.travis.yml
	Vagrantfile
	lib/Alchemy/Phrasea/Controller/Datafiles.php
	lib/Alchemy/Phrasea/Controller/Setup.php
	lib/Alchemy/Phrasea/Helper/DatabaseHelper.php
	lib/classes/connection/pdo.php
	lib/classes/task/period/subdef.php
	lib/classes/task/period/writemeta.php
	locale/de_DE/LC_MESSAGES/phraseanet.mo
	locale/de_DE/LC_MESSAGES/phraseanet.po
	locale/en_GB/LC_MESSAGES/phraseanet.mo
	locale/en_GB/LC_MESSAGES/phraseanet.po
	locale/fr_FR/LC_MESSAGES/phraseanet.mo
	locale/fr_FR/LC_MESSAGES/phraseanet.po
	locale/nl_NL/LC_MESSAGES/phraseanet.mo
	locale/nl_NL/LC_MESSAGES/phraseanet.po
	locale/phraseanet.pot
	templates/web/setup/step2.html.twig
	vagrant/vms/phraseanet-php54-nginx/puphpet/config.yaml
	vagrant/vms/phraseanet-php54-nginx/puphpet/files/exec-always/setup
	vagrant/vms/phraseanet-php54-nginx/puphpet/files/exec-once/setup
	vagrant/vms/phraseanet-php54-nginx/puphpet/shell/important-notices.txt
	vagrant/vms/phraseanet-php54-nginx/puphpet/shell/self-promotion.txt
2014-09-09 15:05:13 +02:00
Nicolas Le Goff
8189010d9b Move crossdomain generator command to bin/setup 2014-09-08 23:37:30 +02:00
Damien Alexandre
ab07cb8e17 Merge branch 'master' into elastic-indexer
Conflicts:
	.gitignore
2014-09-08 11:39:02 +02:00
Mathieu Darse
d187bfe80d WIP Indexer 2014-08-26 16:42:48 +02:00
Nicolas Le Goff
b9bb9f5f0e Merge branch '3.8'
Conflicts:
	.gitignore
	lib/Alchemy/Phrasea/Core/Version.php
	lib/classes/databox.php
	lib/classes/task/abstract.php
	lib/classes/task/manager.php
	lib/classes/task/period/subdef.php
	lib/classes/task/period/writemeta.php
	lib/conf.d/bases_structure.xml
	templates/web/admin/tasks/list.html.twig
2014-08-26 13:38:01 +02:00
Nicolas Le Goff
bc88d0f474 Add crossdomain file generator command 2014-08-19 16:35:57 +02:00
Nicolas Le Goff
46da7be65d Merge branch '3.8'
Conflicts:
	.travis.yml
	bin/developer
	build-env.sh
	lib/Alchemy/Phrasea/Application.php
	lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php
	tests/Alchemy/Tests/Phrasea/Command/Setup/XSendFileMappingGeneratorTest.php
	tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php
	tests/Alchemy/Tests/Phrasea/Form/Login/PhraseaRegisterFormTest.php
2014-08-19 15:30:25 +02:00
Nicolas Le Goff
9e2083dfe4 Add init command 2014-08-13 18:21:57 +02:00
Romain Neutron
1713c23c59 Merge branch '3.8'
Conflicts:
	bin/console
	lib/Alchemy/Phrasea/Controller/Api/V1.php
	lib/Alchemy/Phrasea/Controller/Prod/Edit.php
	lib/Alchemy/Phrasea/Core/Version.php
	lib/classes/API/V1/Interface.php
	lib/classes/API/V1/adapter.php
	lib/classes/Feed/XML/Abstract.php
	lib/classes/Feed/XML/Cooliris.php
	lib/classes/User/Adapter.php
	lib/classes/media/Permalink/Adapter.php
	lib/classes/media/abstract.php
	lib/classes/media/subdef.php
	lib/classes/p4file.php
	lib/classes/record/preview.php
	lib/conf.d/_GV_template.inc
	tests/Alchemy/Tests/Phrasea/Controller/Api/ApiTestCase.php
	tests/Alchemy/Tests/Phrasea/Core/Provider/FileServeServiceProviderTest.php
	tests/classes/media/Permalink/media_Permalink_AdapterTest.php
2014-03-03 17:00:17 +01:00
Romain Neutron
a3b941c3ec Add H264 pseudo streaming tools 2014-02-28 20:18:40 +01:00
Romain Neutron
fb693836d5 Add enable/disable plugins commands 2014-02-21 16:41:11 +01:00
Nicolas Le Goff
b4a07c1469 Merge pull request #944 from romainneutron/websockets
[3.9] Add websocket server
2014-02-17 12:02:56 +01:00
Romain Neutron
811be51b3d Add WebsocketServer command 2014-02-15 11:38:51 +01:00
Nicolas Le Goff
7025e756bc Use backbone to display taskmanager front end 2014-02-14 16:55:45 +01:00
Nicolas Le Goff
bd1e4516bd Merge branch '3.8'
Conflicts:
	config/configuration.sample.yml
	lib/Alchemy/Phrasea/Core/Version.php
	lib/classes/module/console/schedulerStart.php
	lib/classes/module/console/taskrun.php
	lib/conf.d/configuration.yml
	templates/mobile/common/index.html.twig
2014-02-03 19:02:22 +01:00
Romain Neutron
a66f158dbb Fix #1661 : Use bin/setup for plugin manipulation to avoid plugin failures 2014-02-03 17:24:57 +01:00
Nicolas Le Goff
30078730ab Merge branch '3.8'
Conflicts:
	bin/console
	composer.lock
2014-01-31 14:59:53 +01:00
Romain Neutron
6b81b2b39e Add plugin:list command 2014-01-29 18:17:34 +01:00
Romain Neutron
97d96a6b32 Add elastic-search engine support 2014-01-27 20:12:13 +01:00
Romain Neutron
c6059c4a00 Merge branch '3.8'
Conflicts:
	lib/Alchemy/Phrasea/CLI.php
2014-01-07 10:40:47 +01:00
Romain Neutron
947b746ca1 Minor tweaks on CLI application 2014-01-06 16:04:07 +01:00