After the admin UI (and, therefore, all framework components) has been completely implemented, look for and tie up loose ends, refine code, add extra features or flexibility where reasonable, etc.

Comments

marvil07’s picture

suscribing

drunken monkey’s picture

Version: » 7.x-1.x-dev

I haven't yet reached this task (see #833642-7: Create admin interface), but here is already a list of things that should be done here, before implementing a concrete service class:

  • Implement hook_entity_info() for indexes and servers.
  • Restructure the class structure:
    • Entity classes for servers and indexes
    • Service class is created by server entity class, calls are delegated
    • Queries are created with $index->query(), server can be accessed with $index->server(), etc.
    • Search is done completely with query object, takes care of pre-/postprocessing and calls server method (see other query classes, e.g. for database or EntityFieldQuery)
  • Create an exception class and throw those when encountering wrong input (instead of watchdog(…); return FALSE;
  • Slightly change dataflow when indexing, entity metadata wrappers should be used
  • Make API language-aware! (Language(s) should be set on an index, and are indexed seperately. Some kind of "content negotiation" when searching.)
drunken monkey’s picture

The following tasks are now completed:

  • Implement hook_entity_info() for indexes and servers.
  • Restructure the class structure:
    • Entity classes for servers and indexes
    • Service class is created by server entity class, calls are delegated
    • Queries are created with $index->query(), server can be accessed with $index->server(), etc.
    • Search is done completely with query object, takes care of pre-/postprocessing and calls server method (see other query classes, e.g. for database or EntityFieldQuery)
  • Create an exception class and throw those when encountering wrong input (instead of watchdog(…); return FALSE;

Up next is using entity_metadata wrappers to retrieve fields and data, and then to make the whole thing language-aware.

drunken monkey’s picture

Status: Active » Fixed

There were some more things still to do that I didn't think of earlier, but now the core functionality is pretty sound, I think.
A bit of fiddling will still be done while implementing the concrete backend, but the main work here is done for now.

Status: Fixed » Closed (fixed)
Issue tags: -gsoc, -gsoc2010, -gsoc2010-drunken_monkey

Automatically closed -- issue fixed for 2 weeks with no activity.