Wiki source for WikkaResources
=====Wikka Resources=====
//Some thoughts about Wikka, its resources, and how the Wikka architecture supports them (or not).//
===The web view===
Remember how the web works? A **URL** will take you to ...
Remember what the 'R' in 'URL' stands for? URL means **Uniform** (there's a uniform syntax) **Resource** (wait...) Locator (which indicates //where// to find the resource). So a URL can locate a page for you. Or an image. Or a sound file. Or a Java applet. In fact, //anything// that can be stored on a web server, or generated by a webserver program, or provides a service acessible via the web, is a "resource" - as long as we can construct a URL that can locate it for our browser so it knows how to GET it.
Looking //at// Wikka and its resources from the web, this is what we see:
The first and most obvious obvious resources we see (and can construct URLs for) are **pages**. But **comments** (attached to pages, visible or not) are also resources, and we can construct a URL to take us directly to a specific comment (even if it's only a fragment of a whole page as shown in the browser). Even **images** (also attached to pages, shown on the page or not) are resources.
Hold that thought.
===The Wikka view===
Looking //from// Wikka at its resources, this is what we see:
~-**Pages** are stored in a database table, along with some meta data (data-about-data) such as who made the last edit when, and what the current version is. ACLs that control access to them are either the configured defaults (stored in the configuration file) or stored in a separate table.
~-**Comments** are also stored in their own table; they're attached to a page by storing the page name with them, along with (again) other meta data such as who wrote it when. They don't have their own ACLs stored anywhere since there's only a default: Page owners, comment writers and admins can delete a comment. This "ACL" is actually "stored" in program code.
~-**Images** are stored in a subdirectory below the configured "uploads" directory; they're attached to a page by the name of that subdirectory which corresponds to the page. By default only Admins can upload an image, but this can be changed, though not by configuration, but by hacking the program code - a little. Images don't have ACLs: they are sort-of implied; they're not even directly "stored" in the code but depend on actions by [[WikiUser]]s: If someone with **write** access to the page (controlled by a page ACL) places a ""{{files}}"" action on the page, everyone else with **read** access to the page can download the images that the action makes available.
Now that all seems sort of muddled to me. And it isn't even the whole story, but I think you get the idea: web standards define what "resources" are and how to GET them but Wikka doesn't have a standard way to handle them, which is somewhat confusing. (I think it doesn't even have a way to embed an images that is attached to a page //in// that page.)
Hold that thought, too.
===A different approach===
//more tomorrow... watch this space :)//
----
CategoryWikkaArchitecture
//Some thoughts about Wikka, its resources, and how the Wikka architecture supports them (or not).//
===The web view===
Remember how the web works? A **URL** will take you to ...
Remember what the 'R' in 'URL' stands for? URL means **Uniform** (there's a uniform syntax) **Resource** (wait...) Locator (which indicates //where// to find the resource). So a URL can locate a page for you. Or an image. Or a sound file. Or a Java applet. In fact, //anything// that can be stored on a web server, or generated by a webserver program, or provides a service acessible via the web, is a "resource" - as long as we can construct a URL that can locate it for our browser so it knows how to GET it.
Looking //at// Wikka and its resources from the web, this is what we see:
The first and most obvious obvious resources we see (and can construct URLs for) are **pages**. But **comments** (attached to pages, visible or not) are also resources, and we can construct a URL to take us directly to a specific comment (even if it's only a fragment of a whole page as shown in the browser). Even **images** (also attached to pages, shown on the page or not) are resources.
Hold that thought.
===The Wikka view===
Looking //from// Wikka at its resources, this is what we see:
~-**Pages** are stored in a database table, along with some meta data (data-about-data) such as who made the last edit when, and what the current version is. ACLs that control access to them are either the configured defaults (stored in the configuration file) or stored in a separate table.
~-**Comments** are also stored in their own table; they're attached to a page by storing the page name with them, along with (again) other meta data such as who wrote it when. They don't have their own ACLs stored anywhere since there's only a default: Page owners, comment writers and admins can delete a comment. This "ACL" is actually "stored" in program code.
~-**Images** are stored in a subdirectory below the configured "uploads" directory; they're attached to a page by the name of that subdirectory which corresponds to the page. By default only Admins can upload an image, but this can be changed, though not by configuration, but by hacking the program code - a little. Images don't have ACLs: they are sort-of implied; they're not even directly "stored" in the code but depend on actions by [[WikiUser]]s: If someone with **write** access to the page (controlled by a page ACL) places a ""{{files}}"" action on the page, everyone else with **read** access to the page can download the images that the action makes available.
Now that all seems sort of muddled to me. And it isn't even the whole story, but I think you get the idea: web standards define what "resources" are and how to GET them but Wikka doesn't have a standard way to handle them, which is somewhat confusing. (I think it doesn't even have a way to embed an images that is attached to a page //in// that page.)
Hold that thought, too.
===A different approach===
//more tomorrow... watch this space :)//
----
CategoryWikkaArchitecture