Follow TV Tropes

Following

History Administrivia / TwoPointZero

Go To

OR

Is there an issue? Send a MessageReason:
per edit requests thread


2.0 is the name of a planned overhaul of the Wiki/TVTropes database and page handling systems.

to:

2.0 is the name of a planned overhaul of the Wiki/TVTropes Website/TVTropes database and page handling systems.

Removed: 43

Is there an issue? Send a MessageReason:
None


* DeaderThanDisco: How to handle that page?
Is there an issue? Send a MessageReason:
None


* It checks whether the entry text contains Administrivia/WordCruft, ThisTroper and other problem items. Needs a configuration function.

to:

* It checks whether the entry text contains Administrivia/WordCruft, ThisTroper Administrivia/FirstPersonWriting and other problem items. Needs a configuration function.



# It checks whether the entry text contains Administrivia/WordCruft, ThisTroper and other problem items. Needs a configuration function.

to:

# It checks whether the entry text contains Administrivia/WordCruft, ThisTroper Administrivia/FirstPersonWriting and other problem items. Needs a configuration function.
Is there an issue? Send a MessageReason:
None


* It checks whether the entry text contains WordCruft, ThisTroper and other problem items. Needs a configuration function.

to:

* It checks whether the entry text contains WordCruft, Administrivia/WordCruft, ThisTroper and other problem items. Needs a configuration function.



# It checks whether the entry text contains WordCruft, ThisTroper and other problem items. Needs a configuration function.

to:

# It checks whether the entry text contains WordCruft, Administrivia/WordCruft, ThisTroper and other problem items. Needs a configuration function.
Is there an issue? Send a MessageReason:
None


* SugarWiki and DarthWiki

to:

* SugarWiki SugarWiki/SugarWiki and DarthWikiDarthWiki/DarthWiki
Is there an issue? Send a MessageReason:
None


* {{Natter}} would be diverted into comment threads, making it much less likely to be inserted into the article body.

to:

* {{Natter}} Administrivia/ConversationInTheMainPage would be diverted into comment threads, making it much less likely to be inserted into the article body.
Is there an issue? Send a MessageReason:
None


** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances, plus setting banners) and "RealLife examples allowed?" (implements Administrivia/NoRealLifeExamplesPlease)

to:

** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, Administrivia/ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances, plus setting banners) and "RealLife examples allowed?" (implements Administrivia/NoRealLifeExamplesPlease)
Is there an issue? Send a MessageReason:
Per edit requests thread


* Title: One for each page, is created during page creation and only moderator editable afterwards. It contains the appearance of the article title (similar to a CustomTitle).

to:

* Title: One for each page, is created during page creation and only moderator editable afterwards. It contains the appearance of the article title (similar to a CustomTitle).Administrivia/CustomTitle).
Is there an issue? Send a MessageReason:
None


[[folder:URLs]]

to:

[[folder:URLs]][[folder:[=URLs=]]]
Is there an issue? Send a MessageReason:
None


2.0 is the name of a planned overhaul of the TVTropes database and page handling systems.

to:

2.0 is the name of a planned overhaul of the TVTropes Wiki/TVTropes database and page handling systems.

Changed: 64

Removed: 74

Is there an issue? Send a MessageReason:
Definitively too much opposition to put in the core concept - moving to "questions"


* Integrated voting feature for sections like Quotes, Images, and Moments.



* Votes on images and quotes?

to:

* Votes on images Integrated voting feature for sections like Quotes, Images, and quotes? Moments.

Added: 1068

Changed: 1481

Is there an issue? Send a MessageReason:
None


The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called "relational database", it will need to be Unicode compatible. Also, there will be different languages available with their own alphabet for translation purposes. All pages of the same trope or work will automatically link to the crosslanguage (identified as "same page ID, different language ID") versions thereof.

to:

The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called In technical terms, the wiki will be constructed from "relational database", it will need to be database" elements rather than unstructured text.

Other design goals are
Unicode compatible. Also, there will be different languages available with their own alphabet for translation purposes. compatibility and integrated multi-language/translation support. All pages of the same trope or work will automatically link to the crosslanguage cross-language (identified as "same page ID, different language ID") versions thereof.



[[folder:Core concept]]
* This system allows pages to be generated dynamically and thus according to troper preferences.

to:

[[folder:Core concept]]
Concept]]
* This system allows pages The wiki structure will move from flat text objects that are analyzed by a parser to a relational, data-driven system.
* Articles, article components, and individual examples will be structured data elements.
* Pages will
be generated dynamically dynamically, allowing alternative views, sorting, filtering, and thus according to troper preferences.pagination, which can be controlled by individual user preferences (e.g. number of examples displayed per page).



* Integrated comment sections that permit conversations to be attached to any wiki element, but still viewed at the main article level.
* Integrated voting feature for sections like Quotes, Images, and Moments.



* Many editing rules (e.g natter or Administrivia/WhatGoesWhereOnTheWiki) will be enforceable by the software rather than by hand.
* This would allow pages to be filtered, sorted and grouped dynamically, also allowing for pagination of long pages.

to:

* Many editing rules (e.g natter Administrivia/ExampleIndentationInTropeLists or Administrivia/WhatGoesWhereOnTheWiki) will be enforceable by the software rather than by hand.
* This {{Natter}} would be diverted into comment threads, making it much less likely to be inserted into the article body.
* There will no longer be a need to hard-split articles, as pagination, filtering, and grouping
would allow pages a given article to be filtered, sorted and grouped dynamically, also allowing for pagination handle any amount of long pages.content.



* Articles would no longer be at hardcoded text [=URLs=]; rather, the parser would take a submitted URL and treat it as a database query, looking up the closest match. Disambiguation and prioritization would be automatic.
* Article subpages would no longer be hardcoded but rather based on the user’s filtering selection. Certain types of subpages could have predefined style/layout.

to:

* Checks that rely on "diffs", such as spam filtering, text-replacer detection, and so on, can be applied only to a user's individual edits, not to the entire body of each article.
* Articles would no longer be at hardcoded hard-coded text [=URLs=]; rather, the parser would take a submitted URL and treat it as a database query, looking up the closest match. Disambiguation and prioritization would be automatic.
* Article subpages would no longer be hardcoded hard-coded but rather based on the user’s filtering selection. Certain types of subpages could have predefined style/layout.



* id Article ID. If found and valid, this will generate an exclusive result.
* title (t) Article title. This will generate a fuzzy query against the title repository.
* type Article type. Allows all page types.
* medium (m) Medium. Reference against medium index, smart enough to understand nesting.
* genre (g) Genre. Reference against genre index, smart enough to understand nesting.
* author (a) Author. Reference against Creator articles related to work page.
* year (y) Publication year.

to:

* id -- Article ID. If found and valid, this will generate an exclusive result.
* title (t) -- Article title. This will generate a fuzzy query against the title repository.
* type -- Article type. Allows all page types.
* medium (m) -- Medium. Reference against medium index, smart enough to understand nesting.
* genre (g) -- Genre. Reference against genre index, smart enough to understand nesting.
* author (a) -- Author. Reference against Creator articles related to work page.
* year (y) -- Publication year.



* subpage (sub) Subpage -- could be YMMV, WMG, Characters, or any supported subpage filter.
* filter (f) Synonym for subpage.
* sort (s) Sort -- choose from sort options (alpha, date added, date modified)
* group (grp) Group -- choose grouping: medium, genre, trope category, etc.
* page (p) Page number in a paginated article.
* length (l) Number of examples listed on each page.
* view (v) Read (default), Edit, Comments, Images, Quotes, History

to:

* subpage (sub) Subpage -- Subpage: could be YMMV, WMG, Characters, or any supported subpage filter.
* filter (f) -- Synonym for subpage.
* sort (s) Sort -- Sort: choose from sort options (alpha, date added, date modified)
* group (grp) Group -- Group: choose grouping: medium, genre, trope category, etc.
* page (p) -- Page number in a paginated article.
* length (l) -- Number of examples listed on each page.
* view (v) -- Read (default), Edit, Comments, Images, Quotes, History



http://tvtropes.org/wiki/search.php?id=3885774
Resolves uniquely to The Lord of the Rings, Literature
http://tvtropes.org/wiki/search.php?title=The%20Lord%20of%20%the%20Rings
Finds multiple hits, shows disambiguation or franchise landing page if available.
http://tvtropes.org/wiki/search.php?t=LordOfTheRings&a=Tolkien
Titles without spaces are acceptable in [=URLs=], so are partial names of authors. This will resolve to the LOTR book article.
http://tvtropes.org/wiki/search.php?id=3885774&grp=tropecategory&l=50
This will return the LOTR article with 50 examples per page, grouped by trope category (plot, character, production, etc.)
http://tvtropes.org/wiki/search.php?t=LordOfTheRings&y=1954&v=Comments
This will return the LOTR literature article in the Comments view.
http://tvtropes.org/wiki/search.php?t=BigBad&type=trope
This will find the Big Bad trope article.

to:

http://tvtropes.*http://tvtropes.org/wiki/search.php?id=3885774
:: Resolves uniquely to The Lord of the Rings, Literature
http://tvtropes.*http://tvtropes.org/wiki/search.php?title=The%20Lord%20of%20%the%20Rings
:: Finds multiple hits, shows disambiguation or franchise landing page if available.
http://tvtropes.*http://tvtropes.org/wiki/search.php?t=LordOfTheRings&a=Tolkien
:: Titles without spaces are acceptable in [=URLs=], so are partial names of authors. This will resolve to the LOTR book article.
http://tvtropes.*http://tvtropes.org/wiki/search.php?id=3885774&grp=tropecategory&l=50
:: This will return the LOTR article with 50 examples per page, grouped by trope category (plot, character, production, etc.)
http://tvtropes.*http://tvtropes.org/wiki/search.php?t=LordOfTheRings&y=1954&v=Comments
:: This will return the LOTR literature article in the Comments view.
http://tvtropes.*http://tvtropes.org/wiki/search.php?t=BigBad&type=trope
:: This will find the Big Bad trope article.



**[=URLs=] with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.

to:

**[=URLs=] ::[=URLs=] with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.



** [=URLs=] with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.

to:

** :: [=URLs=] with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.



** This will match one of the publication dates of the original LOTR books and so will resolve to the literature page.

to:

** :: This will match one of the publication dates of the original LOTR books and so will resolve to the literature page.



** This will recognize the ‘edit’ keyword asking for the page to be shown in edit mode.

to:

** :: This will recognize the ‘edit’ keyword asking for the page to be shown in edit mode.



** This will find the Lord of the Rings literature article, open it to the Characters view, and drill down to the tropes associated with the character Legolas.

to:

** :: This will find the Lord of the Rings literature article, open it to the Characters view, and drill down to the tropes associated with the character Legolas.



** This will arrive at (a) the work-agnostic general article for the character Legolas, (b) a disambiguation page showing all matching character articles, (c) the Lord of the Rings character, Legolas, if there is only one such entry.

to:

** :: This will arrive at (a) the work-agnostic general article for the character Legolas, (b) a disambiguation page showing all matching character articles, (c) the Lord of the Rings character, Legolas, if there is only one such entry.



* In the examples section (if that section is not hidden by mod control), up to [X] examples would be shown based on defaults and/or the user’s preferences in alphabetized form. If more than [X] examples are present, pagination controls would appear. Folders would appear for tropes based on the medium categories of the works linked to its examples.

to:

* In the examples section (if that section is not hidden by mod control), up to [X] examples would be shown based on defaults and/or the user’s preferences in alphabetized form. If more than [X] examples are present, pagination controls would appear. Folders would appear for tropes based on the medium categories of the works linked to its examples. \\



* Laconic: One per page, can be created during page creation or elsetime, displays a laconic. Automatically formatted.

to:

* Laconic: One per page, can be created during page creation or elsetime, afterwards, displays a laconic. Automatically formatted.



* Self Demo: A free form page, sort of an equivalent to description. Allows bullet points.
* Settings: One of each exists for each page/article and is created during page creation. It applies crosslanguage. By default only editable by moderators, it includes all per-page settings:

to:

* Self Demo: Self-Demo: A free form page, sort of an equivalent to description. Allows bullet points.
* Settings: One of each exists for each page/article and is created during page creation. It applies crosslanguage.cross-language. By default only editable by moderators, it includes all per-page settings:



** A "cascading lock" (which does not imply a plain lock!) tells the addelement function to not permit to add elements that feature the metadata (elementtype"work+trope combination).

to:

** A "cascading lock" (which does not imply a plain lock!) tells the addelement function to not permit to add elements that feature the metadata (elementtype"work+trope (elementtype+work+trope combination).
Is there an issue? Send a MessageReason:
Adding item

Added DiffLines:

* Compare/Contrast element? See [[http://tvtropes.org/pmwiki/posts.php?discussion=14556697700A23839500 thread]].
Is there an issue? Send a MessageReason:
None


# Each element can be edited (during the save process, unedited elements are not alterated) and has checkboxes allowing for actions (e.g "Delist", "Put into Maintenance mode" or "Move", equivalent to the element action buttons).

to:

# Each element can be edited (during the save process, unedited elements are not alterated) altered) and has checkboxes allowing for actions (e.g "Delist", "Put into Maintenance mode" or "Move", equivalent to the element action buttons).
Is there an issue? Send a MessageReason:
None


* Articles would no longer be at hardcoded text URLs; rather, the parser would take a submitted URL and treat it as a database query, looking up the closest match. Disambiguation and prioritization would be automatic.

to:

* Articles would no longer be at hardcoded text URLs; [=URLs=]; rather, the parser would take a submitted URL and treat it as a database query, looking up the closest match. Disambiguation and prioritization would be automatic.



All other wiki URLs, other than to static objects like AskTheTropers, will be treated as database queries. These queries will contain parameter elements that identify the search terms. Certain parameter elements will also modify the display of the article, such as sorting, filtering, subpage display, etc.

to:

All other wiki URLs, [=URLs=], other than to static objects like AskTheTropers, will be treated as database queries. These queries will contain parameter elements that identify the search terms. Certain parameter elements will also modify the display of the article, such as sorting, filtering, subpage display, etc.



Complex URLs

to:

Complex URLs[=URLs=]



Examples of complex URLs:

to:

Examples of complex URLs:[=URLs=]:



Titles without spaces are acceptable in URLs, so are partial names of authors. This will resolve to the LOTR book article.

to:

Titles without spaces are acceptable in URLs, [=URLs=], so are partial names of authors. This will resolve to the LOTR book article.



Friendly URLs
The wiki parser should also understand URLs submitted in a more reader friendly format, using fuzzy logic to handle them. Rather than using parameter elements, forward slashes will separate terms that will be fed to a search engine.

Examples of friendly URLs and handling:

to:

Friendly URLs
[=URLs=]
The wiki parser should also understand URLs [=URLs=] submitted in a more reader friendly format, using fuzzy logic to handle them. Rather than using parameter elements, forward slashes will separate terms that will be fed to a search engine.

Examples of friendly URLs [=URLs=] and handling:



**URLs with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.

to:

**URLs **[=URLs=] with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.



** URLs with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.

to:

** URLs [=URLs=] with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.

Added: 1012

Changed: 359

Is there an issue? Send a MessageReason:
None


The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called "relational database", it will need to be Unicode compatible.

to:

The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called "relational database", it will need to be Unicode compatible.
compatible. Also, there will be different languages available with their own alphabet for translation purposes. All pages of the same trope or work will automatically link to the crosslanguage (identified as "same page ID, different language ID") versions thereof.



* Settings: One of each exists for each page/article and is created during page creation. By default only editable by moderators, it includes all per-page settings:

to:

* Settings: One of each exists for each page/article and is created during page creation. It applies crosslanguage. By default only editable by moderators, it includes all per-page settings:



* Revert: A moderator button which allows older versions of an element to be restored, to prevent

to:

* Revert: A moderator button which allows older versions of an element to be restored, restored.
* Translate: Applies
to prevent all elements save for Settings, it allows elements to be translated in different languages while forking the element. It automatically assigns the correct language ID while keeping the page ID(s) identical. It needs to check that no elements are created for tropes whose descriptions weren't yet translated in the given language.



A way to have Edit Notices for pages meeting particular criteria?

to:

A way to have Edit Notices for pages meeting particular criteria?criteria? They would replace the standard edit tips on the pages concerned.

A way to merge one page ID into another. This is a moderator tool that works irreversibly to reassign elements from one page ID to another. Useful to handle translation goofs as well as duplicates.


Added DiffLines:

[[folder:Troper permissions]]
* Global moderator: They have all the non-wiki tools as well as the ability to grant and revoke local moderator status on a per language basis.
* Local moderator: Assigned per language domain, they have the ability to (un)lock and (un)delete elements as well as to edit them in the locked and view them in the deleted state. They are limited to their assigned language domain.
[[/folder]]


Added DiffLines:

* Crosslanguage links?


Added DiffLines:

* Language specific bans?
Is there an issue? Send a MessageReason:
None

Added DiffLines:

* Examples will automatically appear on both work and trope pages, making Administrivia/{{Crosswicking}} superfluous.

Added: 1035

Changed: 434

Removed: 55

Is there an issue? Send a MessageReason:
None


* Analysis: Several per page, can be created by an addelement function.
* Description: One per page, contains the description text and is created during page creation. Deleting a description is what "cuts" a page.
* Example: These contain example text and are connected each to a trope and a work. They can be flagged with PlayingWithATrope, potentially also through the markup.
* Laconic: One per page, can be created during page creation or elsetime, displays a laconic.

to:

* Analysis: Several per page, can be created by an addelement function.
function. Allows bullet points.
* Description: One per page, contains the description text and is created during page creation. Deleting a description is what "cuts" a page.
page. Allows bullet points.
* Example: These contain example text and are connected each to a trope and a work. They can be flagged with PlayingWithATrope, potentially also through the markup.
markup. Also, there will optionally be two versions of the example text, for work page and trope page.
* ImageLinks: Several per page, allow links to image [=URLs=]. Need a dedicated addImageLinks function.
* Laconic: One per page, can be created during page creation or elsetime, displays a laconic. Automatically formatted.
* PlayingWith: For tropes, allows a formatted list of PlayingWith elements.



* Self Demo: A free form page, sort of an equivalent to description. Allows bullet points.



* Stinger: One for each page, is an optional element that can be added. Each page can only have one visible stinger element.

to:

* Stinger: One for each page, is an optional element that can be added. Each page can only have one visible stinger element. Formatted like a quote.



* Delist: Available for everybody on examples, quotes and Analysis, it hides the element from queries, thus also from example and quote lists. A banner named "Element X was delisted by Y on date Z for reason: A" appears above the element. It generates an entry both in the edit history of the element and the troper in question.

to:

* Delist: Available for everybody on examples, ImageLinks, quotes and Analysis, it hides the element from queries, thus also from example and quote lists. A banner named "Element X was delisted by Y on date Z for reason: A" appears above the element. It generates an entry both in the edit history of the element and the troper in question.



* Move: For quote, Analysis, example elements, it allows one to change the trope or work the element is associated with.
* Relist: It automatically creates a clone of a delisted element (including its history) but set to "not delisted".

to:

* Move: For quote, Analysis, ImageLinks, example elements, it allows one to change the trope or work the element is associated with.
* Relist: It automatically creates a clone of a delisted element (including its history) but set to "not delisted". Allowed everywhere delisting is allowed.



* Undelete: It automatically creates a clone of a deleted element (including its history) but set to "not deleted".

Some markups may be allowed only in particular sections. Direct links to elements are excluded from search engines.

to:

* Undelete: It automatically creates a clone of a deleted element (including its history) but set to "not deleted".

deleted". Allowed everywhere deletion is allowed.

Some markups may be allowed only in particular sections.elements. Direct links to elements are excluded from search engines.



* Creator pages?



* Customizability of the example section header?
* DeaderThanDisco: How to handle that page?



* How to handle creator pages?
* How to handle indexing?



* ID thing creates some hairy problems if a page is cut then recreated (say, for having insufficient examples) ... examples would become disconnected from the new page. Basically, how the createarticle function for works would "catch" already existing examples for that work.



* Indexes and Categories?



* Media categories?
* Merge ID function?



* Recap pages?
* Red links?



* Tagging: Characters? See also [[http://tvtropes.org/pmwiki/posts.php?discussion=14478420050A97600200&page=5#108 here]].
* Translations: [[http://tvtropes.org/pmwiki/posts.php?discussion=14509679370A24783300&page=1 One proposal]], another exists.



* How to work with Recap, ImageLinks, Timeline, Fanworks and Useful Notes.

to:

* How to work with Recap, ImageLinks, Timeline, Timeline and Fanworks and Useful Notes. namespace pages.
* Watchlist.


Added DiffLines:

* ZCE rule exemption?

Added: 3599

Changed: 1482

Is there an issue? Send a MessageReason:
None


The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called "relational database"

to:

The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called "relational database"
database", it will need to be Unicode compatible.



All articles should have a human-readable default URL that contains all the information needed to uniquely disambiguate it. The wick component (everything after http://tvtropes.org/wiki) would be used in the editor instead of the ID to avoid confusion.

to:

* All articles should have a human-readable default URL that contains all the information needed to uniquely disambiguate it. The wick component (everything after http://tvtropes.org/wiki) would be used in the editor instead of the ID to avoid confusion.



The expanded destination URL will look something like http://tvtropes.org/wiki/search.php. May have synonyms.

to:

* The expanded destination URL will look something like http://tvtropes.org/wiki/search.php. May have synonyms.



id Article ID. If found and valid, this will generate an exclusive result.
title (t) Article title. This will generate a fuzzy query against the title repository.
type Article type. Allows “trope”, “work”, “character”, “admin”, etc.
medium (m) Medium. Reference against medium index, smart enough to understand nesting.
genre (g) Genre. Reference against genre index, smart enough to understand nesting.
author (a) Author. Reference against Creator articles related to work page.
year (y) Publication year.

to:

* id Article ID. If found and valid, this will generate an exclusive result.
* title (t) Article title. This will generate a fuzzy query against the title repository.
* type Article type. Allows “trope”, “work”, “character”, “admin”, etc.
all page types.
*
medium (m) Medium. Reference against medium index, smart enough to understand nesting.
* genre (g) Genre. Reference against genre index, smart enough to understand nesting.
* author (a) Author. Reference against Creator articles related to work page.
* year (y) Publication year.



subpage (sub) Subpage -- could be YMMV, WMG, Characters, or any supported subpage filter.
filter (f) Synonym for subpage.
sort (s) Sort -- choose from sort options (alpha, date added, date modified)
group (grp) Group -- choose grouping: medium, genre, trope category, etc.
page (p) Page number in a paginated article.
length (l) Number of examples listed on each page.
view (v) Read (default), Edit, Comments, Images, Quotes, History

to:

* subpage (sub) Subpage -- could be YMMV, WMG, Characters, or any supported subpage filter.
* filter (f) Synonym for subpage.
* sort (s) Sort -- choose from sort options (alpha, date added, date modified)
* group (grp) Group -- choose grouping: medium, genre, trope category, etc.
* page (p) Page number in a paginated article.
* length (l) Number of examples listed on each page.
* view (v) Read (default), Edit, Comments, Images, Quotes, History



http://tvtropes.org/wiki/LordOfTheRings
URLs with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.
http://tvtropes.org/wiki/LordOfTheRings/film
URLs with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.
http://tvtropes.org/wiki/LordOfTheRings/1955
This will match one of the publication dates of the original LOTR books and so will resolve to the literature page.
http://tvtropes.org/wiki/LordOfTheRings/edit
This will recognize the ‘edit’ keyword asking for the page to be shown in edit mode.
http://tvtropes.org/wiki/Literature/LordOfTheRings/Characters/Legolas
This will find the Lord of the Rings literature article, open it to the Characters view, and drill down to the tropes associated with the character Legolas.
http://tvtropes.org/wiki/Characters/Legolas
This will arrive at (a) the work-agnostic general article for the character Legolas, (b) a disambiguation page showing all matching character articles, (c) the Lord of the Rings character, Legolas, if there is only one such entry.

to:

http://tvtropes.*http://tvtropes.org/wiki/LordOfTheRings
URLs **URLs with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.
http://tvtropes.*http://tvtropes.org/wiki/LordOfTheRings/film
** URLs with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.
http://tvtropes.*http://tvtropes.org/wiki/LordOfTheRings/1955
** This will match one of the publication dates of the original LOTR books and so will resolve to the literature page.
http://tvtropes.*http://tvtropes.org/wiki/LordOfTheRings/edit
** This will recognize the ‘edit’ keyword asking for the page to be shown in edit mode.
http://tvtropes.*http://tvtropes.org/wiki/Literature/LordOfTheRings/Characters/Legolas
** This will find the Lord of the Rings literature article, open it to the Characters view, and drill down to the tropes associated with the character Legolas.
http://tvtropes.*http://tvtropes.org/wiki/Characters/Legolas
** This will arrive at (a) the work-agnostic general article for the character Legolas, (b) a disambiguation page showing all matching character articles, (c) the Lord of the Rings character, Legolas, if there is only one such entry.



It should be possible to enter queries without a title element; this would be interpreted as an index search.
http://tvtropes.org/wiki/search.php?genre=Fantasy&medium=Literature&year=1950-1959
http://tvtropes.org/wiki/Fantasy/Literature/1950-1959
Both of these queries will enumerate all works in the Fantasy genre and the Literature medium published between 1950 and 1959.

to:

* It should be possible to enter queries without a title element; this would be interpreted as an index search.
** http://tvtropes.org/wiki/search.php?genre=Fantasy&medium=Literature&year=1950-1959
** http://tvtropes.org/wiki/Fantasy/Literature/1950-1959
* Both of these queries will enumerate all works in the Fantasy genre and the Literature medium published between 1950 and 1959.



RealLife will be a special work page, with additional restrictions.

to:

RealLife will be a special work page, with additional restrictions.
restrictions. These page types are hard coded and cannot be changed.



* In the examples section (if that section is not hidden by mod control), up to [X] examples would be shown based on defaults and/or the user’s preferences. If more than [X] examples are present, pagination controls would appear. Folders would appear for tropes based on the medium categories of the works linked to its examples.

to:

* In the examples section (if that section is not hidden by mod control), up to [X] examples would be shown based on defaults and/or the user’s preferences.preferences in alphabetized form. If more than [X] examples are present, pagination controls would appear. Folders would appear for tropes based on the medium categories of the works linked to its examples.



* Example: These contain example text and are connected each to a trope and a work.

to:

* Example: These contain example text and are connected each to a trope and a work. They can be flagged with PlayingWithATrope, potentially also through the markup.



** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances) and "RealLife examples allowed?" (implements Administrivia/NoRealLifeExamplesPlease)

to:

** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances) appearances, plus setting banners) and "RealLife examples allowed?" (implements Administrivia/NoRealLifeExamplesPlease)



Aside from standard editing, there are functions associated with elements. They are all subject to locks and edit bans. Some of them will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
* Delete: Available for moderators on most elements save for Settings and Title, it automatically hides the element text and its history behind a splash page "Element X was deleted by Y on date Z for reason: A" for anyone who isn't a moderator. It generates an entry both in the edit history of the element and the troper in question. This element is automatically excluded from queries.

to:

Aside from standard editing, there are functions associated with elements. They are all subject to locks and edit bans. Some of them will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
fallbacks. All such functions generate an entry both in the edit history of the element and the troper in question.
* Change Play: For examples, it allows the Playing With status of an example to be changed.
* Edit: Obvious.
* Delete: Available for moderators on most elements save for Settings and Title, it automatically hides the element text and its history behind a splash page "Element X was deleted by Y on date Z for reason: A" for anyone who isn't a moderator. It generates an entry both in the edit history of the element and the troper in question. This element is automatically excluded from queries.



* Lock: Done by moderators .It generates an entry both in the edit history of the element and the troper in question.

to:

* History: Obvious.
* Lock: Done by moderators .moderators. It generates an entry both in the edit history of the element and the troper in question.



* Relist: It automatically creates a clone of a delisted element (including its history) but set to "not delisted". It generates an entry both in the edit history of the element and the troper in question.
* Undelete: It automatically creates a clone of a deleted element (including its history) but set to "not deleted". It generates an entry both in the edit history of the element and the troper in question.

to:

* Relist: It automatically creates a clone of a delisted element (including its history) but set to "not delisted". It generates delisted".
* Revert: A moderator button which allows older versions of
an entry both in the edit history of the element and the troper in question.
to be restored, to prevent
* Undelete: It automatically creates a clone of a deleted element (including its history) but set to "not deleted". It generates an entry both deleted".

Some markups may be allowed only
in the edit history of the element and the troper in question. particular sections. Direct links to elements are excluded from search engines.



[[folder:Other functions]]
The "New Edits" function needs to be filterable on per-element and per-action (e.g Delete) basis. And perhaps per troper - having two different functions for edit lists is rather pointless.

Related To pages:
* Element ought to be assessed individually by the Related To page. In other words, the page would no longer list wicks on a per-article basis, but on a per-elements one.
* It also should link to the edit page for each section linked to.
* A function to remove "ghost wicks" from there.
* Wicks should be listed by element and page type, not by alphabet.
* There are other requests in various threads, which can be found in the forum search "related" - of course, some might not be feasible for performance reasons.

A function to rename tropers may be desirable, it will need a system in the backend.

A way to have Edit Notices for pages meeting particular criteria?
[[/folder]]



* It checks whether the entry text contains WordCruft, ThisTroper and other problem items. Needs a configuration function.



Aside from standard editing, there are functions associated with elements. Aside from standard edit bans, special bans may apply to both. Some functions will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
* It needs to check whether the submitted element clashes with a "cascading lock", and reject it if it clashes and is submitted by a non moderator.

to:

Aside from standard editing, there are functions associated with elements. Aside from standard edit bans, special bans may apply to both. Some functions will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
*
fallbacks. In the following order:
# For all elements, it needs to check whether they have at least one page they are attached to.
# For examples, it needs to check whether the trope exists; the work existing is not so important.
#
It needs to check whether the submitted element clashes with a "cascading lock", and reject it if it clashes and is submitted by a non moderator.moderator.
# It checks whether the entry text contains WordCruft, ThisTroper and other problem items. Needs a configuration function.

One idea is to have addexample be only linked from trope pages, to force people to read the description. Also, maybe having a function that can convert free-form text into structured elements is useful. Perhaps reuse the Conversion script?



* Adaptations and franchises, how to make a hierarchy of them.
* Substitute for commenting out elements?



* Createpage restrictions for Administrivia?
* "Curator" user right?



* Discussion

to:

* DiscussionDiscussion as well as whether to put a link to it on edit forms



* Laconic as hovertext?
* Meta information: Authors, Genres, Publication for works and Trope Attributes (e.g Appearance Trope, not the same thing as Trope Types in "Settings"). Some could be tied to particular example types in the addexample function.
* Old histories: AKA the old edits by troper, page histories and "combined history". These should be archived in watch-only mode, linked from the appropriate new pages.



* Post-expand article size: How many elements of how much length can be parsed before pagination.



* Rotation of images
* Sandbox namespace
* Selective deletion: The deletion system should apply to edit reasons as well, hiding them from non-moderators but still displaying to staff (with the red border and note as mentioned under Deletion, as well as the ability of restoring). Maybe such a system could apply to old versions of elements, hiding the history entries around the deleted version. Same stipulations as before regarding visibility to staff, red border and note/un-deletion ability.



* SugarWiki and DarthWiki



* Votes on images and quotes?

to:

* Examples for nonexistent works
* Votes on images and quotes?quotes?
* How to work with Recap, ImageLinks, Timeline, Fanworks and Useful Notes.

Added: 4060

Changed: 1916

Removed: 228

Is there an issue? Send a MessageReason:
None


%%
%% When adding new elements here, remember to update other sections. Especially per element functions!
%%



** "Global lock" (elements associated with that article are only moderator editable), "Google ads" (for whether to display Google ads), "Fake redlink" (overriding the blue link colour for [=URLs=] pointing at the article)

to:

** "Global lock" (elements associated with that article are only moderator editable), "Google ads" (for whether to display Google ads), "Fake redlink" (overriding the blue link colour for [=URLs=] pointing at the article)article), "Funky markup" (allowing text colours and strikethrough), "Spoiler tags" (whether to allow spoiler tags on associated elements to work)



*

to:

* Delete: Available for moderators on most elements save for Settings and Title, it automatically hides the element text and its history behind a splash page "Element X was deleted by Y on date Z for reason: A" for anyone who isn't a moderator. It generates an entry both in the edit history of the element and the troper in question. This element is automatically excluded from queries.
* Delist: Available for everybody on examples, quotes and Analysis, it hides the element from queries, thus also from example and quote lists. A banner named "Element X was delisted by Y on date Z for reason: A" appears above the element. It generates an entry both in the edit history of the element and the troper in question.
* Lock: Done by moderators .It generates an entry both in the edit history of the element and the troper in question.
** A plain lock does prevent non-moderators from modifying the element in question.
** A "cascading lock" (which does not imply a plain lock!) tells the addelement function to not permit to add elements that feature the metadata (elementtype"work+trope combination).
** A button to simultaneously perform "delete" and "cascading lock" - "salt"? - is also good.
* Move: For quote, Analysis, example elements, it allows one to change the trope or work the element is associated with.
* Relist: It automatically creates a clone of a delisted element (including its history) but set to "not delisted". It generates an entry both in the edit history of the element and the troper in question.
* Undelete: It automatically creates a clone of a deleted element (including its history) but set to "not deleted". It generates an entry both in the edit history of the element and the troper in question.



[[folder:Save page actions]]
Aside from standard editing, there are functions associated with elements. They are all subject to locks and edit bans. Some functions will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.

to:

[[folder:Save page element edit actions]]
Aside from standard editing, there are functions associated with elements. They are all subject to locks and edit bans. Some functions will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks. Edit pages are accessible by an unique URL addon to the element ID URL.



* For examples, it checks that the trope exists
* For examples, it checks that the example text is sufficiently long



* It needs to check whether the submitted element clashes with a "cascading lock", and reject it if it clashes and is submitted by a non moderator.



[[folder:Open questions]]
* Connecting article ID with an URL or several
* Decide on how to handle languages.
* Discussion
* How to handle creator pages?
* How to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* Spoilers
* Troper pages
* Votes on images and quotes?
* Wicks: Current standard link to URL or internally replaced with an ID?
* WMG and Headscratchers

to:

[[folder:Open questions]]
* Connecting article ID with an URL or several
* Decide on how
[[folder:Mass edit function]]
# Access
to handle languages.
* Discussion
* How
the function is granteable by moderators, but is not assigned to handle creator pages?
* How
anybody by default. Access adds a "Mass Edit Query" form in the sidebar.
# The form allows one
to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* Spoilers
* Troper pages
* Votes on images and quotes?
* Wicks: Current standard
fetch all elements containing a) a link to URL a given page or internally replaced b) a given text string (e.g "This troper"). Perhaps make it so that it allows wildcards, case sensitive or insensitive selection or markup- or view-specific search.
# Saving the query generates a list of elements, each of them displayed in edit mode. The initial page contains as many elements as can be a) loaded by a browser and b) as can be saved in one go without causing server lag. If too large, the list should be paginated
with an ID?
* WMG
paginated [=URLs=] so that the entire query can be displayed in tabbed form.
# Each element can be edited (during the save process, unedited elements are not alterated)
and Headscratchershas checkboxes allowing for actions (e.g "Delist", "Put into Maintenance mode" or "Move", equivalent to the element action buttons).
# Each page has a Save button and an edit reason input box. Saving causes all the elements be modified if they were edited or some action was selected, using the input edit reason. The other pages part of the paginated query can be edited/modified afterwards (the save affects only the elements on a particular pagination, not all queried elements).


Added DiffLines:


[[folder:Convert]]
Presumably, we'll write a script that will go through all current wiki articles and convert them into the new database structure. For a substantial percentage of articles, there will be markup that an automated parser is not able to understand. How shall we deal with this problem?
The proposal:
* Don't convert everything all at once. Instead, the new and old designs will run parallel for a while.
* Articles will be, over time, entered (automatically or manually?) into a transport queue.
* The agent driving the queue will come up with a "confidence" value indicating how much of the content was successfully converted.
* Articles over a certain confidence value will get converted automatically.
* Articles below this confidence value will be flagged for user attention.
* Articles in the queue should be automatically locked to (a) prevent data conflicts, (b) encourage editors to participate in the conversion process.
* User attention would involve any/all of:
** Cancelling the conversion to spend more time cleaning the article.
** Correcting the article's destination (example: subpages merging with main article, proper medium tags for works, etc.).
** Fixing markup in the article that is not recognized by the parser.
* When an article is converted, the existing article is removed from view, automatically redirects to the new article, and generates a HTTP 301 code for referrers.
** The old content should be archived in case a reversion (or re-conversion) is needed.
** The old history and discussion pages would be archived in a read-only mode.
* Converted articles would contain an "unconverted markup" section that would show any markup that was not successfully transported.
* In the conversion queue, prioritize high level docum

[[/folder]]

[[folder:Open questions]]
* Connecting article ID with an URL or several
* Decide on how to handle languages.
* Discussion
* How to handle creator pages?
* How to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* Page creation: When to trigger it
* Administrivia/PermanentRedLinkClub: How to enforce it?
* Administrivia/PermanentRedLinkClub: Allow examples from works in there?
* Report function
* Spoilers
* Troper pages
* Votes on images and quotes?
* Wicks: Current standard link to URL or internally replaced with an ID?
* WMG and Headscratchers
[[/folder]]

Added: 6513

Changed: 698

Removed: 158

Is there an issue? Send a MessageReason:
None


[[folder:URLs]]
Article linking (URL construction and querying)
In the new system, an article will have an internal ID value that forms its permanent URL. Examples: http://tvtropes.org/wiki/3885774 = The Lord of the Rings, Literature. http://tvtropes.org/wiki/549437 = Big Bad.

All other wiki URLs, other than to static objects like AskTheTropers, will be treated as database queries. These queries will contain parameter elements that identify the search terms. Certain parameter elements will also modify the display of the article, such as sorting, filtering, subpage display, etc.

A “human friendly” URL will contain textual parameter elements separated by slashes, which the parser will take a “best guess” at, returning the element with the highest probability if there are insufficient secondary matches, or a list of elements that the user must choose from if the ambiguity is above a certain threshold.

Human-readable default URL
All articles should have a human-readable default URL that contains all the information needed to uniquely disambiguate it. The wick component (everything after http://tvtropes.org/wiki) would be used in the editor instead of the ID to avoid confusion.

Complex URLs
The expanded destination URL will look something like http://tvtropes.org/wiki/search.php. May have synonyms.

Search parameters may include any of the following:
id Article ID. If found and valid, this will generate an exclusive result.
title (t) Article title. This will generate a fuzzy query against the title repository.
type Article type. Allows “trope”, “work”, “character”, “admin”, etc.
medium (m) Medium. Reference against medium index, smart enough to understand nesting.
genre (g) Genre. Reference against genre index, smart enough to understand nesting.
author (a) Author. Reference against Creator articles related to work page.
year (y) Publication year.

Presentation parameters may include any of the following:
subpage (sub) Subpage -- could be YMMV, WMG, Characters, or any supported subpage filter.
filter (f) Synonym for subpage.
sort (s) Sort -- choose from sort options (alpha, date added, date modified)
group (grp) Group -- choose grouping: medium, genre, trope category, etc.
page (p) Page number in a paginated article.
length (l) Number of examples listed on each page.
view (v) Read (default), Edit, Comments, Images, Quotes, History

Examples of complex URLs:
http://tvtropes.org/wiki/search.php?id=3885774
Resolves uniquely to The Lord of the Rings, Literature
http://tvtropes.org/wiki/search.php?title=The%20Lord%20of%20%the%20Rings
Finds multiple hits, shows disambiguation or franchise landing page if available.
http://tvtropes.org/wiki/search.php?t=LordOfTheRings&a=Tolkien
Titles without spaces are acceptable in URLs, so are partial names of authors. This will resolve to the LOTR book article.
http://tvtropes.org/wiki/search.php?id=3885774&grp=tropecategory&l=50
This will return the LOTR article with 50 examples per page, grouped by trope category (plot, character, production, etc.)
http://tvtropes.org/wiki/search.php?t=LordOfTheRings&y=1954&v=Comments
This will return the LOTR literature article in the Comments view.
http://tvtropes.org/wiki/search.php?t=BigBad&type=trope
This will find the Big Bad trope article.

Friendly URLs
The wiki parser should also understand URLs submitted in a more reader friendly format, using fuzzy logic to handle them. Rather than using parameter elements, forward slashes will separate terms that will be fed to a search engine.

Examples of friendly URLs and handling:
http://tvtropes.org/wiki/LordOfTheRings
URLs with a single text object will assume a title search. This will resolve to a disambiguation page or a franchise landing page.
http://tvtropes.org/wiki/LordOfTheRings/film
URLs with two components will assume one to be the title and the other to be an author, genre, type, medium, or year keyword. This will find two hits: the Bakshi animated film and the Jackson live action film, and generate a disambiguation.
http://tvtropes.org/wiki/LordOfTheRings/1955
This will match one of the publication dates of the original LOTR books and so will resolve to the literature page.
http://tvtropes.org/wiki/LordOfTheRings/edit
This will recognize the ‘edit’ keyword asking for the page to be shown in edit mode.
http://tvtropes.org/wiki/Literature/LordOfTheRings/Characters/Legolas
This will find the Lord of the Rings literature article, open it to the Characters view, and drill down to the tropes associated with the character Legolas.
http://tvtropes.org/wiki/Characters/Legolas
This will arrive at (a) the work-agnostic general article for the character Legolas, (b) a disambiguation page showing all matching character articles, (c) the Lord of the Rings character, Legolas, if there is only one such entry.

Search and Indexing
It should be possible to enter queries without a title element; this would be interpreted as an index search.
http://tvtropes.org/wiki/search.php?genre=Fantasy&medium=Literature&year=1950-1959
http://tvtropes.org/wiki/Fantasy/Literature/1950-1959
Both of these queries will enumerate all works in the Fantasy genre and the Literature medium published between 1950 and 1959.

Note that some degree of prioritization is implied in the “fuzzy” searches; it will be necessary to rank indexes higher than tropes and works, for example.
[[/folder]]



When asked to render an URL, the wiki software would first attempt to resolve it to a unique ID. If it cannot, it would present the user with a disambiguation prompt. Each article has an ID associated with it that is "occupied" during article creation. This ID connects all elements belonging to this article, when a page is parsed a query calls all these elements and the parser assembles the final HTML. This HTML may be cached so that it doesn't need to be re-parsed with each request. Several types exist, all with particular element types that can be associated with them:

to:

When asked to render an URL, the wiki software would first attempt to resolve it to a unique ID. If it cannot, it would present the user with a disambiguation prompt. Each article has an ID associated with it that is "occupied" during article creation. This ID connects all elements belonging to this article, when a page is parsed a query calls all these elements and the parser assembles the final HTML. This HTML may be cached so that it doesn't need to be re-parsed with each request. Several types exist, all with particular element types that can be associated with them:



RealLife will be a special work page, with additional restrictions.



** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances)

to:

** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances)appearances) and "RealLife examples allowed?" (implements Administrivia/NoRealLifeExamplesPlease)



* Title: One for each page, only moderator editable is created during page creation. It contains the appearance of the article title (similar to a CustomTitle).

to:

* Title: One for each page, is created during page creation and only moderator editable is created during page creation.afterwards. It contains the appearance of the article title (similar to a CustomTitle).



[[folder:Open questions]]
* Connecting article ID with an URL or several
* Decide on how to handle languages.
* How to handle creator pages?
* How to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* WMG and Headscratchers

to:

[[folder:Open questions]]
* Connecting article ID
[[folder:Per-element functions]]
Aside from standard editing, there are functions associated
with an URL or several
* Decide on how
elements. They are all subject to handle languages.
* How to handle creator pages?
* How to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* WMG
locks and Headscratchersedit bans. Some of them will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
*


Added DiffLines:


[[folder:Save page actions]]
Aside from standard editing, there are functions associated with elements. They are all subject to locks and edit bans. Some functions will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
* It checks any added links that they resolve to an unique function
[[/folder]]

[[folder:Createpage and createlement actions]]
Aside from standard editing, there are functions associated with elements. Aside from standard edit bans, special bans may apply to both. Some functions will be assisted with AJAX (e.g ) but there will be non-scripting fallbacks.
[[/folder]]

[[folder:Open questions]]
* Connecting article ID with an URL or several
* Decide on how to handle languages.
* Discussion
* How to handle creator pages?
* How to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* Spoilers
* Troper pages
* Votes on images and quotes?
* Wicks: Current standard link to URL or internally replaced with an ID?
* WMG and Headscratchers
[[/folder]]

Added: 5804

Changed: 146

Is there an issue? Send a MessageReason:
None


The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects.

to:

The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects. Each of these objects is editable and has a history associated with it, similar to how pages work today. It is also called "relational database"

[[foldercontrol]]

[[folder:Core concept]]
* This system allows pages to be generated dynamically and thus according to troper preferences.
* Indexing, media tags, and other meta-data expressed as relationships.
* Relationships between wiki objects in code rather than in text.
[[/folder]]

[[folder:Purpose]]
* Tropes and works are now identified by an ID rather than by their name, which should facilitate renames.
* Many editing rules (e.g natter or Administrivia/WhatGoesWhereOnTheWiki) will be enforceable by the software rather than by hand.
* This would allow pages to be filtered, sorted and grouped dynamically, also allowing for pagination of long pages.
* Actions (e.g editing, cutting) can be done now on a per-object basis without the need to apply them to the whole page.
* Articles would no longer be at hardcoded text URLs; rather, the parser would take a submitted URL and treat it as a database query, looking up the closest match. Disambiguation and prioritization would be automatic.
* Article subpages would no longer be hardcoded but rather based on the user’s filtering selection. Certain types of subpages could have predefined style/layout.
[[/folder]]

[[folder:Article/Page]]
When asked to render an URL, the wiki software would first attempt to resolve it to a unique ID. If it cannot, it would present the user with a disambiguation prompt. Each article has an ID associated with it that is "occupied" during article creation. This ID connects all elements belonging to this article, when a page is parsed a query calls all these elements and the parser assembles the final HTML. This HTML may be cached so that it doesn't need to be re-parsed with each request. Several types exist, all with particular element types that can be associated with them:
* Administrivia (Just a description element)
* Trope.
* Work.

Then the wiki would gather all the relational elements of the article and assemble them.
* The displayed title would be the Title element identified.
* The header would contain a set of controls to visit its related sub-elements. For example, if an article has an associated Analysis text element, it would be available to click on. This is similar to current buttons. The header would contain an automatically generated subpage filter for examples. For example, if there are any examples on a work article linked to tropes flagged as YMMV, then those would not appear on the main article display, but instead there would be a “YMMV” filter available to select.
* For articles that are parents (they index child articles, as a trope index, author index, etc.; they have child relationships such as a franchise with sub-works or a serial work with episode/volume articles), a list of child articles will be displayed. This should be collapsible and sortable. Some form of control over the organization of the list may be useful, as would some form of nesting.
* In the examples section (if that section is not hidden by mod control), up to [X] examples would be shown based on defaults and/or the user’s preferences. If more than [X] examples are present, pagination controls would appear. Folders would appear for tropes based on the medium categories of the works linked to its examples.
(Note: Discuss how/whether to automatically folderize work articles.)
* Examples would be automatically indented as appropriate. When more than one example for a trope/work is present, the nested examples should be organized by the relationship hierarchy (see below for more).
* At the top of the examples section, sorting and filtering controls would be present. Possible sorts: alphabetical, by medium (for trope articles), by trope category (for work articles), by character (for work articles), by date added, etc.
* In the footer of the article, additional [=URLs=] would be shown along with the Stinger text element, if present.

[[/folder]]

[[folder:Objects, also named "elements"]]
Each of these is created either during page creation or by an addelement function. Individual elements each have an ID that cannot be reused. They have a history page and an edit page associated with them.
* Analysis: Several per page, can be created by an addelement function.
* Description: One per page, contains the description text and is created during page creation. Deleting a description is what "cuts" a page.
* Example: These contain example text and are connected each to a trope and a work.
* Laconic: One per page, can be created during page creation or elsetime, displays a laconic.
* Quote: Formatted like quotations, these hold quotes. Each is attached to a trope ''or'' work.
* Settings: One of each exists for each page/article and is created during page creation. By default only editable by moderators, it includes all per-page settings:
** "Global lock" (elements associated with that article are only moderator editable), "Google ads" (for whether to display Google ads), "Fake redlink" (overriding the blue link colour for [=URLs=] pointing at the article)
** For works, "Published" (for DarthWiki/UnpublishedWorks, disables crosswicks)
** For tropes, "Trope" (AudienceReaction, ExampleSectionectomy, FlameBait, Trivia, Trope, UsefulNotes; each controls the appearance and induces filtering in default appearances)
* Stinger: One for each page, is an optional element that can be added. Each page can only have one visible stinger element.
* Title: One for each page, only moderator editable is created during page creation. It contains the appearance of the article title (similar to a CustomTitle).
[[/folder]]

[[folder:Open questions]]
* Connecting article ID with an URL or several
* Decide on how to handle languages.
* How to handle creator pages?
* How to handle indexing?
* How to handle character pages?
* Images: Markup things or individual elements?
* WMG and Headscratchers
[[/folder]]
----
Is there an issue? Send a MessageReason:
None

Added DiffLines:

2.0 is the name of a planned overhaul of the TVTropes database and page handling systems.

The key concept is that where nowadays pages are each one database object, in the future system they will instead be assembled from many database objects.

Top