Daniel-
I don't agree with this at all - each project needs to have its own very distinct logo so that each project can be instantly recognizable when readers are using interproject links. Readers need to know very fast where they are.
They should, but we also need a common visual identity to let people know that they are on a Wikimedia project site. For example, if Wiktionary had a cartoonish logo, Wikipedia a photo-based logo and Textbook-Wiki an abstract, thin line logo, there would be no common feel about all projects. People might conclude that Wiktionary and Wikipedia are only distantly related.
It's about finding the right balance -- the logos should not look too similar, because the sites themselves already look relatively similar, but they also should not look too different. This is best accomplished by simply asking the original artist to draw the logos for the other projects as well.
Oh yes it is very essential - without it we cannot organize books in the WikiWay. Yeah sure we can hard code navigational aids like Next and Previous Page but 1) that is tedious, 2) it is very inflexible (any change of organization in a book's TOC would be difficult to implement) and 3) that ensures that each module can only be used for a single book.
While this may all be true, I do not see any of these as requirements before the project is announced to a larger audience.
That being said, let me explain how I think a template system can be used to accomplish the kind of dynamic multi-page TOC/navigation structure you want.
With template system, I am referring to the mechanism whereby content from other pages in a new template namespace can be transcluded, and keys/ values are assigned by the calling page:
|Country table |Name => Germany |Population => 83 million |____
etc.
This would transclude the page [[Template:Country table]], which could look like this:
<table border=0 width="200"> <th><td colspan=2>== %%Name%% ==</td></th> <tr><td>Population</td><td>%%Population%%</td></tr> </table>
etc.
Now this is a very simple template system. A more complex template system would support things like conditional blocks, loops and so forth. Furthermore, we could have some automatically prefilled variable names. For example, %%PAGENAME%% would contain the name of the page from which the template is transcluded.
With these features, I could create a navigation footer simply by putting
|Organic chemistry navigation |____
on the page. [[Template:Organic chemistry navigation]] could contain something like
---------------------------------------
[! %%titles%%= About this book Foundational concepts Alkanes and cycloalkanes Introduction to reaction %%currentPageID%%= !!look up %%PAGENAME%% in %%titlesArray%%!! ]!
[? %%currentPageID%%==-1
Table of contents: <UL> [* %%titlesArray%%
<LI>%%CURRENTVALUE%%</LI>
*] </UL> ?]
[? %%currentPageID%%!=-1 [! %%prevPage= %%titlesArray[currentPageID-1]%% %%nextPage= %%titlesArray[currentPageID+1]%% !]
Navigation:
[[%%prevPage%%]] %%PAGETITLE%% [[%%nextPage%%]]
?] ----------------------------------------------------------
Explanations:
[? .. ?] conditional blocks, are only executed if condition in first line is true [! .. !] instruction blocks, are always executed (for instructions that have more than one line, all lines after the first one have to be indented) [* .. *] foreach blocks, cycles through the value in an array and stores the value for each iteration in %%CURRENTVALUE%% %%..%% variable names, some of which are passed to the template by the calling page, others are predefined or defined by context (see above) !!..!! internal function calls -- the template syntax provides functions for sorting, looking up values in an indexed array etc.
The template looks up the current page in the array, checks whether it is the index page (if so, generates the TOC) or a content page (in which case it generates the navigation page linking to the neighboring pages). Simplified -- doesn't check if neighboring pages exist.
While this may seem complex, keep in mind that the above example is as generic as possible. You can add titles to the TOC and navigation at any time by simple modifying the titles array, and you can change the layout of the TOC and the navigation arbitrarily. A built in function could be provided for TOCs using a standard layout.
Regards,
Erik