Metaphor for structuring all information
Richard Boyd <richardboyd-wUU9E3n5/[email protected]> Tue, 09 Dec 2003 15:22:51 +1300
| Newsgroups | gmane.comp.web.zope.plone.educational |
|---|---|
| Message-ID | <[email protected]> |
Hi Jodok, Jodok Batlogg wrote: > Richard Boyd wrote: >> I have >>designed them all using a standardised metaphore across all parts of the >>site. This standardisation on an easily understood metaphore should help >>novices move around the site freely and encourage adoption by teachers, >>the key to the success of an educational intranet. > > > can you explain this "metaphor"? Here is a discussion of my metaphor: It involves throwing out general purpose folders and creating aggregation types with specific purposes. I think folders can hide things and hinder information organisation if there is not a well understood structure. I considered using ZTopics for everything, but that provides no structure to help people conceptualise the information. People like to know that there is a canonical organisation of information, even if there are other ways of accessing it. This metaphor provides a strict structure which will be augmented with Topics for sorting/finding information. As a basic rule, I think users in a shared system should be allowed the minimum flexability required to store their information in a standardised, meaningful way. This helps others know where to expect the information and to easily comprehend its structure. Also, I think that hierarchy depth should be strictly limited to enhance a users ability to conceptualise the site, and so that a user knows when exactly when they are going to stop browsing menus and get content. I like the way that wikis achieve this. They would map nicely to a "book" in the following structure. My metaphor involves 3 aggregation meta-types, each with their own purpose: area, project, book. Each meta-type is sub-typed so that it can hold the information necessary for a particular application, but the structure of the information is determined by the meta-type. Basically, a project is a heterogenous aggregation while a book is a homogenous aggregation. Project and book sub-types are created by setting the types that are allowed in their aggregations. Projects can allow any number of book types, while books should only allow 1 (2 if really necessary) content types. All content items are stored in the leaves of the structure, in the books. This could allow very flexible browsing of content. Users could jump around anywhere in an area using a project slot and book slot. A project page could be viewed as a slashdot-style blog, or a site map, or a type-ordered folder, or a topic map. A book could be a simple blog, or an index page with summaries, or ... . A document could also be designated as the index-html page for the book or project because navigation slots would still be available. Any of these navigation techniques could be easily plugged in, as the scripts creating these views know exactly where the content is and how the site is organised. At the bottom of this message is a discussion of a complimentary meta-type "filing cabinet" which can be used in the same structure where the project/book modelling is not appropriate. Here is a more in depth discussion: An intranet is made up of "areas" (I havn't figured out a better name yet). An "area" contains "projects", a "project" contains "books", a "book" contains content items. An area simply defines the purpose of a part of the internet. Is it for adminstration, learning, course design, or is it a personal area? Certain groups of users may be able to browse the project titles in particular area, or even have administrative rights in a particular area. An area may have its own presentation style or slots. A particular area will have certain types of projects. For instance the "administration" area will not have "learning module" projects. Apart from that it is a fairly basic aggregation type. An area could be seen by the user as a seperate site using Zope's virtual hosting. This could help keep the hierarchy flat. A project is primarily for assigning user roles for a collection of information. Users are given browse, create, review, and manager rights for a project. A project can contain any number of books of different types. Projects restrict the types of books that can be created. For instance a Department project will have "meeting", "accounts", and "mail" books, but will probably not contain a "play" book which only "learning module" or "course instance" projects can contain. The only difference between types of projects is the types of books that they can contain, so although they are different Plone types, they are the same Zope type. A project should also define the keywords allowed for cataloguing the items it contains. It can also, if necessary, contain presentation style customisation, especiialy when the project is a department's public webarea. A book is a collection of content items, and is much more restrictive than the other types. It is a homogenous aggregation type, more like a list or array rather than a record or object. For instance, a meeting will contain a list of agenda items/resolutions, which would not be appropriate in "play", "account", or "mail" books. Books can always contain generic documents for an introduction page (preface) and possible extra information and references (appendices), but apart from that should be kept as homogenous as possible. A book must be keyworded with the approved keywords for the project. A book will automatically order its contents for easy browsing. Each item can be an arbitrarily complex object as is required for the application. However, if it involves too much complexity, it should be turned into its own project. The book would then contain a list of references to this new project type, and the new type should be stored directly in a top level area. For certain instances, new top level areas may need to be made to store new complex types. An example is the "learning design" area which contains "course models" and "unit models" etc.. This means that course models are directly accessible, rather than being stored deeply inside the department that teaches the course. The department will contain references to items in the "learning design" area. An item may also be keyworded if it contains information not covered by the book keywords. It may also contain any number of references and comments. Although this may not directly model every required object, it seems to be flexible enough to handle most objects that I want. An heterogenous aggregation type containing homogenous aggregation types can theoretically handle anything. The biggest advantage is that people always know where the information actually is (in the leaves of the tree), and where user rights are managed (in the project). It is easy to shift books and projects around or even merge or divide projects as necessary without upsetting the site structure. It is easy for people to share information (make a shared project) . Any scalability issues could be handled by having two layers of "areas" rather than just one. **** Filing Cabilinet type **** There is a the possibility of some types being very badly modeled by the project/book analogy, in which case the project and book could be switched around to create an homogenous list of heterogenous collections of items. This could be a "filing cabinet" type which contains similar heterogenous collections(folders), where the heterogenous collection/folder is typed with the specific document names that are allowed in the collection (always allowing for some flexability). The metaphor name would need to be changed to prevent conceptual conflicts with the existing metaphor which also uses the word "folders" :-), but I hope you get the idea. This filing cabinet metaphor is a complimentary metaphor which could easily be used in the same "areas" as the project/book metaphor. The filing cabinet would take on the same tasks as the project and the "folder" would take on the same tasks as the "book". In fact, as "projects" are defined by the books that they contain, a "project" with only 1-2 "books" allowed automatically becomes a "filing cabinet", while a "folder" type needs to be created that is a "book" with certain allowable/encouraged item names. I guess there is nothing stopping projects from containing folders, and filing cabinets containing books ... it is up to whoever creates the specific Plone type. None of this should affect the project/book Zope types (much?). Hope all this makes sense Richard ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/