liquid_feedback_core

changeset 159:32887495ca57

Wiki formatting for member statements and suggestions
author jbe
date Sat Jun 04 16:50:50 2011 +0200 (2011-06-04)
parents 374cca7355af
children cc520b58e8ec
files core.sql demo.sql
line diff
     1.1 --- a/core.sql	Sat Jun 04 12:09:02 2011 +0200
     1.2 +++ b/core.sql	Sat Jun 04 16:50:50 2011 +0200
     1.3 @@ -115,6 +115,7 @@
     1.4          "profession"            TEXT,
     1.5          "external_memberships"  TEXT,
     1.6          "external_posts"        TEXT,
     1.7 +        "formatting_engine"     TEXT,
     1.8          "statement"             TEXT,
     1.9          "text_search_data"      TSVECTOR );
    1.10  CREATE INDEX "member_active_idx" ON "member" ("active");
    1.11 @@ -150,6 +151,7 @@
    1.12  COMMENT ON COLUMN "member"."email"                IS 'Published email address of the member; not used for system notifications';
    1.13  COMMENT ON COLUMN "member"."external_memberships" IS 'Other organizations the member is involved in';
    1.14  COMMENT ON COLUMN "member"."external_posts"       IS 'Posts (offices) outside the organization';
    1.15 +COMMENT ON COLUMN "member"."formatting_engine"    IS 'Allows different formatting engines (i.e. wiki formats) to be used for "member"."statement"';
    1.16  COMMENT ON COLUMN "member"."statement"            IS 'Freely chosen text of the member for his homepage within the system';
    1.17  
    1.18  
    1.19 @@ -167,6 +169,15 @@
    1.20  COMMENT ON COLUMN "member_history"."until" IS 'Timestamp until the data was valid';
    1.21  
    1.22  
    1.23 +CREATE TABLE "rendered_member_statement" (
    1.24 +        PRIMARY KEY ("member_id", "format"),
    1.25 +        "member_id"             INT8            REFERENCES "member" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
    1.26 +        "format"                TEXT,
    1.27 +        "content"               TEXT            NOT NULL );
    1.28 +
    1.29 +COMMENT ON TABLE "rendered_member_statement" IS 'This table may be used by frontends to cache "rendered" member statements (e.g. HTML output generated from wiki text)';
    1.30 +
    1.31 +
    1.32  CREATE TABLE "invite_code" (
    1.33          "id"                    SERIAL8         PRIMARY KEY,
    1.34          "code"                  TEXT            NOT NULL UNIQUE,
    1.35 @@ -673,7 +684,8 @@
    1.36          "created"               TIMESTAMPTZ     NOT NULL DEFAULT now(),
    1.37          "author_id"             INT4            NOT NULL REFERENCES "member" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
    1.38          "name"                  TEXT            NOT NULL,
    1.39 -        "description"           TEXT            NOT NULL DEFAULT '',
    1.40 +        "formatting_engine"     TEXT,
    1.41 +        "content"               TEXT            NOT NULL DEFAULT '',
    1.42          "text_search_data"      TSVECTOR,
    1.43          "minus2_unfulfilled_count" INT4,
    1.44          "minus2_fulfilled_count"   INT4,
    1.45 @@ -690,7 +702,7 @@
    1.46    BEFORE INSERT OR UPDATE ON "suggestion"
    1.47    FOR EACH ROW EXECUTE PROCEDURE
    1.48    tsvector_update_trigger('text_search_data', 'pg_catalog.simple',
    1.49 -    "name", "description");
    1.50 +    "name", "content");
    1.51  
    1.52  COMMENT ON TABLE "suggestion" IS 'Suggestions to initiators, to change the current draft; must not be deleted explicitly, as they vanish automatically if the last opinion is deleted';
    1.53  
    1.54 @@ -704,6 +716,15 @@
    1.55  COMMENT ON COLUMN "suggestion"."plus2_fulfilled_count"    IS 'Calculated from table "direct_supporter_snapshot", not requiring informed supporters';
    1.56  
    1.57  
    1.58 +CREATE TABLE "rendered_suggestion" (
    1.59 +        PRIMARY KEY ("suggestion_id", "format"),
    1.60 +        "suggestion_id"         INT8            REFERENCES "suggestion" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
    1.61 +        "format"                TEXT,
    1.62 +        "content"               TEXT            NOT NULL );
    1.63 +
    1.64 +COMMENT ON TABLE "rendered_suggestion" IS 'This table may be used by frontends to cache "rendered" drafts (e.g. HTML output generated from wiki text)';
    1.65 +
    1.66 +
    1.67  CREATE TABLE "suggestion_setting" (
    1.68          PRIMARY KEY ("member_id", "key", "suggestion_id"),
    1.69          "member_id"             INT4            REFERENCES "member" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
     2.1 --- a/demo.sql	Sat Jun 04 12:09:02 2011 +0200
     2.2 +++ b/demo.sql	Sat Jun 04 16:50:50 2011 +0200
     2.3 @@ -185,7 +185,7 @@
     2.4    (20,  4,  4),
     2.5    (20,  5,  5);
     2.6  
     2.7 -INSERT INTO "suggestion" ("initiative_id", "author_id", "name", "description") VALUES
     2.8 +INSERT INTO "suggestion" ("initiative_id", "author_id", "name", "content") VALUES
     2.9    (1, 19, 'Suggestion #1', 'Lorem ipsum...');  -- id 1
    2.10  INSERT INTO "opinion" ("member_id", "suggestion_id", "degree", "fulfilled") VALUES
    2.11    (14, 1, 2, FALSE);

Impressum / About Us