Complete and Content Complete are two modules that share the same idea: measuring completeness of tasks (Complete) and nodes (Content Complete). In this thread I'd like to open discussion on integration both modules, maybe using some shared Complete API.

  • Complete (C): measure completeness of tasks, defined using rules (e.g. adding an article). Each task is saved inside a node and can be executed a specific number of times to be considered complete. Views integration & caching are supported. The completeness is computed as tasks get completed, and can not be computed on the fly (a rule execution only happens once).
  • Content Complete (CC): measure completeness of nodes. Each node can be considered complete is a selected number of fields is filled out. Views integration & caching are supported. The completeness is cached but can be computed on the fly using a specific node.

In order to integrate both modules, we have to agree on some shared vocabulary that is now different:

Task: a task consists of a set of actions that are related. Each task also corresponds to a database row and can have a set of fields (= actions). Characteristics of a task are

  • the number of actions needed to complete a task. E.g. a node needs to have 2 fields completed (CC), but an article might get added 3 times (C).
  • type of task: a content-completion task (CC), or a rule-based task (C).
  • complete status: this is the percentage of the current task, e.g. it might be 50% finished. For CC, this could be because you have completed half of the fields necessary, or for C because you have added one out of two articles
  • the next action to do to bring this task to a more complete status. This can be filling out the next field (CC), or adding another article (C).
  • the past actions that made this task to the current complete status.
  • the path that brings you to the next action. E.g. a redirection to the edit page with the next to be completed field highlighted (CC), or a redirection to the add article page (C).
  • a task can correspond to a node (C), or to a content type (CC). For Content Complete, we would need to bring the tasks also the level of the nodes and not just the node types.

Issues:

  • How to mix views integration for both modules? Now Complete uses node to store everything, while Content Complete uses variables and does not rely on nodes. We will need a common way to store tasks, with the characteristics outlined above

Comments

pvhee’s picture

An initial integration has been included in the latest dev release. A Complete task referring to a Content Complete enabled node takes the Content Complete percentage instead of the Complete percentage, in both the blocks and the views.

Rosamunda’s picture

subscribing