| 
									
										
										
										
											2011-10-22 02:47:48 +04:00
										 |  |  | Concepts | 
					
						
							|  |  |  | 	basic | 
					
						
							| 
									
										
										
										
											2012-02-29 03:03:54 +04:00
										 |  |  | 		key | 
					
						
							|  |  |  | 		| a basic global identification mechanism. | 
					
						
							|  |  |  | 		| each entity in the system has a key. | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| NOTE: a good key should be uniquely calculable from an entity. | 
					
						
							| 
									
										
										
										
											2011-10-22 02:47:48 +04:00
										 |  |  | 		item | 
					
						
							|  |  |  | 		| a basic element in the system. | 
					
						
							|  |  |  | 		| an item is represented by a URL | 
					
						
							|  |  |  | 		group (item) | 
					
						
							|  |  |  | 		| a special item that unifies several items | 
					
						
							|  |  |  | 		list | 
					
						
							|  |  |  | 		| a representation of several items | 
					
						
							|  |  |  | 		tag | 
					
						
							|  |  |  | 		| a piece of text connected with an item | 
					
						
							|  |  |  | 		action | 
					
						
							|  |  |  | 		| a user defined command or script | 
					
						
							|  |  |  | 	constructed | 
					
						
							|  |  |  | 		state (tag) | 
					
						
							|  |  |  | 		| a named state of an item | 
					
						
							|  |  |  | 		stack (group) | 
					
						
							|  |  |  | 		| a set of versions or states of an item | 
					
						
							|  |  |  | 		| a stack behaves like an item | 
					
						
							|  |  |  | 		collection/list | 
					
						
							|  |  |  | 		| a special list defined manually or with a search that is maintained in the filesystem | 
					
						
							|  |  |  | 		tag chain | 
					
						
							|  |  |  | 		| a special tag that consists of several tags | 
					
						
							|  |  |  | 		event | 
					
						
							|  |  |  | 		| a condition that can be bound to an action | 
					
						
							|  |  |  | 		workflow | 
					
						
							|  |  |  | 		| a named sequence/graph of states and transitions (actions) | 
					
						
							|  |  |  | 	structural | 
					
						
							|  |  |  | 		URL | 
					
						
							| 
									
										
										
										
											2011-12-04 21:40:13 +04:00
										 |  |  | 		index | 
					
						
							|  |  |  | 		| contains: | 
					
						
							|  |  |  | 			metadata | 
					
						
							|  |  |  | 			item data | 
					
						
							|  |  |  | 				GID | 
					
						
							|  |  |  | 				metadata | 
					
						
							|  |  |  | 				GIDs of available local sub-items (thumbs, previews, ...) | 
					
						
							|  |  |  | 				GIDs of available remote sub-items (thumbs, previews, ...) | 
					
						
							|  |  |  | 				URLs (optional) | 
					
						
							|  |  |  | 				| URLs are only local... | 
					
						
							|  |  |  | 					store | 
					
						
							|  |  |  | 					cache | 
					
						
							|  |  |  | 		cache | 
					
						
							|  |  |  | 		store | 
					
						
							|  |  |  | 		clone/remote (???) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-13 23:41:50 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | structure | 
					
						
							| 
									
										
										
										
											2011-11-16 02:11:32 +04:00
										 |  |  | 	configuration (archive-wide) | 
					
						
							|  |  |  | 		general settings | 
					
						
							|  |  |  | 		actions | 
					
						
							|  |  |  | 		scripts | 
					
						
							|  |  |  | 		remote refs | 
					
						
							|  |  |  | 		clone settings | 
					
						
							| 
									
										
										
										
											2011-11-13 23:41:50 +04:00
										 |  |  | 	index (metadata) | 
					
						
							| 
									
										
										
										
											2011-12-31 02:17:05 +04:00
										 |  |  | 	item store (URLs) | 
					
						
							|  |  |  | 	local cache (previews) | 
					
						
							| 
									
										
										
										
											2011-12-04 21:40:13 +04:00
										 |  |  | 	version info | 
					
						
							| 
									
										
										
										
											2011-11-13 23:41:50 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-04 21:40:13 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-31 02:17:05 +04:00
										 |  |  | index directory structure | 
					
						
							|  |  |  | 	.ig/ | 
					
						
							|  |  |  | 		items/ | 
					
						
							|  |  |  | 		| item store.  | 
					
						
							|  |  |  | 		| contains refs to original objects. | 
					
						
							|  |  |  | 			<item-id>.json | 
					
						
							|  |  |  | 			| contains refs to original data (remote) | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 			<pack-id>.pack | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 		meta/		XXX | 
					
						
							|  |  |  | 		| metadata and tag store | 
					
						
							|  |  |  | 		| XXX this is not final... | 
					
						
							|  |  |  | 			<tag-name>.json | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 		cache/ | 
					
						
							|  |  |  | 		| cache configuration and listings | 
					
						
							|  |  |  | 			<cache-id>/ | 
					
						
							|  |  |  | 				<cache-id>.json | 
					
						
							|  |  |  | 				| contains specific cache configuration | 
					
						
							|  |  |  | 				| 	- query | 
					
						
							|  |  |  | 				| 	- generator configuration | 
					
						
							|  |  |  | 				| 		- image resolution | 
					
						
							|  |  |  | 				| 		- ... | 
					
						
							|  |  |  | 				| 	- output dir (default: .ig/cache/<cache-id>) | 
					
						
							|  |  |  | 				... | 
					
						
							|  |  |  | 				<image-id>.jpg | 
					
						
							|  |  |  | 				... | 
					
						
							|  |  |  | 			<item-id>.json | 
					
						
							|  |  |  | 			| contains refs to specific <cache-id> and location. | 
					
						
							|  |  |  | 			| NOTE: a single item may appear in several caches, hence a  | 
					
						
							|  |  |  | 			| 		single place to keep the item-specific refs and multiple  | 
					
						
							|  |  |  | 			| 		cache dirs. | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 			<pack-id>.pack | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 		config/		XXX | 
					
						
							|  |  |  | 		history/	XXX | 
					
						
							|  |  |  | 		| this directory is dependant on what VCS is used. | 
					
						
							|  |  |  | 		scripts/	XXX | 
					
						
							|  |  |  | 			actions/ | 
					
						
							|  |  |  | 				<action-name> | 
					
						
							|  |  |  | 				... | 
					
						
							|  |  |  | 			<script-name> | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 		events/		XXX | 
					
						
							|  |  |  | 			<event-name>/ | 
					
						
							|  |  |  | 				<priority>.<action-name> | 
					
						
							|  |  |  | 				... | 
					
						
							|  |  |  | 			... | 
					
						
							|  |  |  | 	<catalogue-name>/ | 
					
						
							|  |  |  | 	... | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-04 21:40:13 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-13 23:41:50 +04:00
										 |  |  | requirements | 
					
						
							|  |  |  | 	index external data (represented by URLs and groups of URLs) | 
					
						
							|  |  |  | 		indexing is done via tags (metadata) | 
					
						
							|  |  |  | 	provide generic data operations | 
					
						
							|  |  |  | 		search/select | 
					
						
							|  |  |  | 		import | 
					
						
							|  |  |  | 		copy/move/... | 
					
						
							|  |  |  | 		... | 
					
						
							|  |  |  | 	provide data-specific operations | 
					
						
							|  |  |  | 		import | 
					
						
							|  |  |  | 		thumbnails/previews (for images) | 
					
						
							|  |  |  | 		... | 
					
						
							|  |  |  | 	provide archive-level operations | 
					
						
							|  |  |  | 		clone | 
					
						
							|  |  |  | 		push/pull | 
					
						
							|  |  |  | 		commit | 
					
						
							|  |  |  | 		... | 
					
						
							|  |  |  | 	provide trivial configurability | 
					
						
							|  |  |  | 		data-specific actions | 
					
						
							|  |  |  | 		domain-specific archive actions | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | stored data | 
					
						
							|  |  |  | | the main idea behind this is to make a git like management system  | 
					
						
							|  |  |  | | suited for a slightly different data, characterised as: | 
					
						
							|  |  |  | 	very large umbers of elements/files | 
					
						
							|  |  |  | 	continually increasing number of elements | 
					
						
							|  |  |  | 	elements rarely change (almost no diffing needed) | 
					
						
							|  |  |  | 	metadata is constantly changed | 
					
						
							|  |  |  | 	large elements | 
					
						
							|  |  |  | 		span more than one storage media | 
					
						
							|  |  |  | 	indirect as well as direct element cloning | 
					
						
							|  |  |  | 		copy / backup | 
					
						
							|  |  |  | 		preview | 
					
						
							|  |  |  | 		thumbnail | 
					
						
							|  |  |  | 	data is constantly searched or accessed | 
					
						
							|  |  |  | basic requirements | 
					
						
							|  |  |  | 	safe originals | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | main workflows | 
					
						
							|  |  |  | 	import new data | 
					
						
							| 
									
										
										
										
											2011-10-22 02:47:48 +04:00
										 |  |  | 	 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | . | 
					
						
							|  |  |  | | vim:set spell ts=4 sw=4 : |