#821458: Added initial module skeleton, which does nothing - but is absolutely bug-free!
First draft on database schema.
Makeshift documentation for hook_search_api_backends() added.
search_api_index schema: cron_limit should be part of options.
Added backend interface (and abstract class), with a few of the needed methods.
Added backend interface (and abstract class), with a few of the needed methods.
Added some indexing code in .module.
Some change in terminology and naming, more are planned.
Expanded functionality, implemented functions, added some hooks and did some refactorization (but still more planned). Bit of a huge commit, I guess.
Added processor and query objects, further implemented indexing process.
Huge refactoring, mostly terminology.
* table search_api_backend -> search_api_server (and all corresponding uses of "backend")
* hook_search_api_backends() -> hook_search_api_service_info() (and all corresponding uses of "backend")
* return array of hook_search_api_service_info() not keyed by class name any more (provides greater flexibility for _alter hooks)
Large progress in search functionality. Implemented SearchApiQuery and search_api_search(), along with dependencies.
Added query parsing functionality.
Began admin menu definitions.
Expanded and sorted menu items, added functionality to ~_list_*() functions and removed call-time pass-by-reference.
Adapted Query and Service classes/interfaces to meet Drupal's OOP coding standards.
Added UI functions for displaying an overview and creating new servers (including JS magic).
Against my resolution, another huge commit, with various changes:
- Added some UI functionality (enabling/disabling/deleting servers and some infrastructure for indexes)
- Added hooks that are invoked when servers or indexes are loaded, inserted, updated or deleted.
- Added type hinting wherever possible, hoping this would improve (and not, in fact, hamper) readability and robustness.
- Also some debugging, added TODOs and changed/added comments/documentation.
Adapted .module to ~Query -> ~QueryInterface change.
Changed "add server" Javascript magic to use Drupal's / Form API's standard AJAX system. Works, but still needs a bit refining (esp. validation and no-js fallback).
Cleaned up servive interface definition ($options already contains user options, $user_options init() argument was superfluous).