This is the page where we can discuss the administrative and technical aspects of the site: layout, formatting, colours, functionality, and so on.
Introduction
For now, this is the place to record what we want by way of website functionality.
Once we are clear about what we would like, we can talk productively about priorities, and how much the various details are worth, but that is another stage of the discussion.
Access and Membership
Almost all the site is public, freely accessible by anyone on the Internet. The only exceptions are:
- administration functions, only accessible to site administrators;
- some site statistics (such as details of popular pages and user access and contributions); and
- some personal details, only accessible to the individual concerned and to (some?) site administrators.
Only members can contribute to the site - by adding pages, commenting on existing pages, editing a previous contribution, or responding to a request for feedback.
Anyone can become a member, by agreeing to the aims and values, and paying a monthly membership fee. There is no vetting of potential members, other than blocking previously banned members (see below). An electronic payment system will keep track of who is currently a member.
Some bursary places (free memberships) are available, on application to the site administrator; a standard procedure will be followed.
A member who consistently fails to comply with the site values can be removed; no more membership fees will be collected and no fees will be refunded; again, a standard procedure will be followed. There is no other reason for removing anyone's membership.
Content
The site administrator(s) will write the site pages and upload any files which may be made available for download.
Some content will be generated, such as the site navigation and the results of any requested feedback from members.
All the remaining content will be written by the members. The types of content are:
- articles;
- blogs;
- posts in a discussion;
- comments on articles, blogs and other comments; and
- responses to requests for feedback.
Every unit of content will initially be owned by its creator; the owner of an article or blog can invite other people to share the writing and editing. The ownership (and the responsibility for its maintenance) of an article can be passed on to another member - with their permission, of course.
The content owner retains the copyright of all their content, but grants permission to use the content elsewhere on the website, with appropriate credits.
All the content (both site and user) will be version controlled and stored as markdown; the owner can restore any previous version or view the difference between any two selected versions. The version control will keep track of the 'published' (displayed) version and the latest version, and will generate a list for each user indicating which of their articles are not displaying the latest version.
The creator of a blog or article will be able to add tags (which can be selected from a list of existing tags) and also a maximum 250 (?) word summary which will be displayed in searches; if not defined, the first 250 (?) words will be used instead.
Comments can be nested, up to 10 (?) deep. Comments always follow the main content of the page, and nested comments always follow the item being commented on, but otherwise the user can choose to display comments either in date order or reverse date (most recent first).
Finding Content
All site pages and articles will fit into a tree-structured hierarchy, with a hyperlinked breadcrumb list of the trail at the top of the page. Hyperlinked references to other article pages can point to any other article, but the breadcrumb will display the position in the tree, not the sequence of pages followed.
Site pages and articles can be moved by an administrator within the tree-structured hierarchy: they will retain their creation date and all comments; all hyperlinks to the page will continue to work after the move.
At the foot of each site page and article will be an automatically generated list of pages which are immediately below it in the tree, and an automatically generated list of pages which link to the page - each of these two lists may, of course, be empty.
There will be a flexible search facility, with the ability to search on:
- date range of creation (and last change?);
- owner;
- tag; and
- content.
The returned search items can then be sorted by any of those categories.
Performance
Implicit in all the above are the dual considerations of scalability and performance. We need some figures here! How many users, and how many pages on the site are we aiming to support? And what performance targets are we seeking to achieve?
I can reasonably easily design a system which would work brilliantly for 20 concurrent users and 200 pages, but would possibly struggle dreadfully with 200 users and 2,000 pages, and would probably be completely unusable if you go up another order of magnitude. So what is the target?
Notes
Brian and Paul are working on a paper which includes more technical details and definitions; comments and feedback on this are also welcome.
You need to be a member of Just Human? to add comments!
Replies