gibbir
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:General Image Bulliten Board In Ruby
== gibbir

General Image Bulletin Board In Ruby: A Futaba-style image board hastily written in Ruby. Why write it hastily? Because I needed it yesterday.


== Functional Specification

1. Anonymous posting. All data collected about a posting user should be hidden from other users.
	a. Post forms may contain fields requesting a user's name, email, etc. but they should never be required.
	b. By configuration, post forms may accept trip codes (secure or insecure) in any "name" field
	c. By configuration, a Captcha, or equivalent, may be used to prevent spamming.
	d. The software should maintain user and post information only while the thread is alive. (IP Address will be saved only when added to the 'Ban List')
2. Image posting. 
	a. By configuration, each post may require a generic file, an image, or nothing at all.
	b. Images will be processed to create a thumbnail and full-size version.
	c. Each post with an image will display the thumbnail as a direct link to the image file. (Rt-Clk + Save Target/Link As...  must not save an HTML document)
	d. Posting a generic file (when permitted) must not make that file available for download and should write the stream to /dev/null (this is not a file sharing service)
	e. Each post must either begin a Thread or be a Reply to an existing Thread. (Reply hierarchy is no more than 1 deep: No Replies to Replies)
	f. Each post (Thread or Reply) will be uniquely numbered and may be referred to at that number for the life of the thread.
3. Administrative tools. A user authentication facility will be provided for administrative users to access administrative functions.
	a. Authentication will be a standard Username/Password combination.
	b. Administrative functions will be provided via an Administration Dashboard
3. Each deployment will, by configuration, have one or more 'Boards'
	a. Each Board will contain zero or more Threads.
	b. Any 'sticky' Threads which should always be shown at the top of /index.
	c. Each Board may be 'locked' by an Administrator to prevent creation of new Threads and prevent futher Replies to existing Threads.
	d. Boards may be created, edited, or deleted from the Administration Dashboard.
4. Each Board will contain zero or more Threads.
	a. Any user may start a new Thread by posting directly to the Board (read: not as a reply to any other thread)
	b. Administrative users may start a new "sticky" Thread by posting directly to the Board with a valid administrative session.
	c. Threads may be 'locked' by an Administrator to prevent further Replies to the Thread.
	d. Threads may be deleted by an Administrator on the /details page. 
5. Each Thread will contain zero or more Replies.
	a. Any user may post a Reply by posting to the /details page.
	b. Administrative users may add a 'sticky' Reply which will always display at the top of the Replies.
		i. A 'sticky' Reply will not prevent the Thread from dying.

== Software Specification
	== Administration Dashboard
		The following controls must appear on the Administration Dashboard
		1. General Site Settings
			a. 
			b.
		2. Board Settings
			a. Adjust the lifetime of board threads [Default: 6 Hours]
			b. Allow/Disallow a reset or extension of the thread lifetime (also known as 'Bumping') [Default: Allowed]
			c. Adjust the maximimum lifetime of board threads regardless of bumps [Default: 36 Hours]
		3. Users/Bans
			a. Create, Update, and Delete Administrative Users
			b. Ban/Un-ban users by IP Address
	
	== Home/Index
		1. The site root page will contain a menu of all available Boards
		2. The site root may optionally contain a listing of recent posts and popular (by posts-per-hour) Threads.
		
	== Board
		1. The Board page will display a paginated listing of all Threads currently living on that Board.
		2. Each Thread listing will show the Thread thumbnail and post body as well as zero or more (by configuration) of the most recent Replies [Default: Thread + 3 Replies]
		3. The Board page will provide a form to post a new Thread.
		
	== Thread
		1. The Thread page will display in order:
			a. The Thread, including the linked thumbnail and the complete post body.
			b. Sticky Replies, including any linked thumbnail and the complete post body.
			c. User Replies, including any linked thumbnail and the complete post body in ascending order by time (Oldest posts first, Newest posts last)
		2. The Thread page will provide a form to post a new Reply.

	

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。