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);