Flow/Architecture/URLs

Postulates

 * Topics are associated with a board, but possibly more than one (e.g. Feeds).


 * Topics need to be associated with a board, so that things like  and


 * Topics don't have a natural order within a page; because they can (some day) appear on multiple pages, because of infinite scroll, because of (some day) options to re-sort and filter board appearance.

Sample URLs
You can scroll to a particular topic. http://ee-flow.wmflabs.org/w/index.php ?title=Talk:Flow_bugs &topic_list[offset-id]=050adf7af4bff00fc8b1fa163e68c4ac &topic_list[offset-dir]=fwd &topic_list[limit]=10 &workflow=050a09d20c6b34dffb6efa163e68c4ac

Where this matters

 * When you view a topic, it has a link back to its Flow board, This topic was started on Sandbox'  line. That link should try to load the topic in context.
 * Users want to share
 * Users want to wiki link to posts, but query string parameters make this difficult.
 * Ideally the h1 at the top of a permalink page would be copy-paste into
 * If Flow is disabled for a page, the topics and posts for it remain but there's no way to view them.

Possible additions

 * investigate writing the scroll position/pagination/magic into the URL hash, the way Gmail and other Web 2.0 apps do.
 * So if you follow a link to a different URL (such as a permalink), then use the back button, you're returned to more or less the state you were in.
 * - this only works if JavaScript is enabled.

Future

 * Currently loading a topic loads all its posts. We may need eventually to incrementally load posts.