Ticket #2265 (new feature)

Opened 9 years ago

Last modified 9 years ago

CPSCollector replacement

Reported by: gracinet Owned by: gracinet
Priority: P1 Milestone: CPS 3.5.7
Component: CPS (global) Version: 3.5.1
Severity: normal Keywords:


A sensible replacement for CPSCollector would be something that generates a schema and layout and stores values in a directory that's local to the collector object. The layouts will provide us the rendering for free, the directories will bring interesting storage options (SQL, LDAP).

It should launch events and provide generic listeners for the most commonly expected behaviours, like sending a mail to the submitters, or implementing an opt-in system.

Strong helpers for id generation should be provided : most non-technical users really don't understand what an id is, and that it should be free of special characters.

It should have a user-level configurable behaviour with respect to such things as republication.

Ultimately, portal registration could be controlled by such a system, and parts of it could be given to non technical users control.

First task : find a name for this new product or decide if it could be included within CPSDirectory. Note that LocalDirectory already exists and is a bit different (use case is personal address books), although it could evolve in that direction as well.

Change History

comment:1 Changed 9 years ago by gracinet

A fictive use-case for integration with registration :

a structure organising events may need to have specific fields for its registered users, storing e.g., things such as food preferences, that have nothing to do in the general members directory. But the latter may be a stacking directory aggregating a global defined LDAP (for the staff) and a ZODB directory tied to this new collector system. Non-technical staff can therefore add new fields to the useful information, change the labels, etc, without help from a CPS expert. The system itself acquires basic operational knowledge (auth, emails) of new non-staff users automatically.

Note: See TracTickets for help on using tickets.