view_lists_collect.jpg

This project is not covered by Drupal’s security advisory policy.

Collect nodes is about collecting nodes "on the fly", either from a full node (with an additional block) or from a list of nodes (views). It's also about making collections (IE: being able to list, thanks to views integration, the collected nodes).

The huge evolution with this module is that it's based on a FULL (WEB)SERVICE architecture. It's not really going to work without services and json_server properly configured (the first collect_nodes client has been developped in js/jquery/json). The goal here is to have a full gap between the "client" (widget) and the service (database and business logic). Thus, one can make it's own widget (why not flex/air widgets, that'll be easy).

For now on, the main features are:

  • admin configuration: set all the node types which can be collected AND set a maximum amount for a user's collection (and a handler once this limit is over) for normal users to collect nodes (associated with a specific role you can give to your customers). After this limit, you can do what you want (make your customers pay, connect to a workflow, give them points, ...)
  • scalability: a batch_mode has been developped, so that on each view, only one request is done to know in which status the widgets are (collected, not collected yet). Thanks to the webServices architecture, we can imagine a full message queue system at the end (V2?), which will be 100% reliable.
  • usability: the widget has been especially designed for a IE7/Firefox2 use. It's using both directions scalable buttons (borrowed to an internet code, quoted in the css), and it's easy to configure (clean CSS, clean JS,...)
  • views integration: there is already a large views integration (counter, links, filters, ...) and some features are on the way (V2: order by collected_counts like a votingAPI, filter by user-relations-collections
  • workflow-ng integration: events, actions and conditions are declared, so that you can for instance auto-collect a nodes after one guy actually created / modified it.
  • other: and maybe some really cool staff I'm sure I forgot to mention here...

Physical Architecture:
One last comment: there are actually 4 modules in it :

  • collect_nodes: the core and traditionnal module (pages / menus / database-link)
  • collect_nodes_service: advanced service and methods, specific communication language services, ...
  • collect_nodes_client_js: the widget client/consummer
  • additional_elements_html: provides a button API (used to build the widget)
    • Enjoy!

Project information

Releases