Skip to content
Anjan Momi edited this page Mar 15, 2015 · 10 revisions

Page of Ideas

File Transfer and Unpacking

  • Each 'Rice' is packed as a tar.xz on the server.
  • Client downloads tar, gets unpacked to '.[softwareName]-rices' folder (or similar)
  • Client can then make that 'Rice' active, config files get moved accordingly, 'Active Rices' tracking method, whatever is decided upon with that, gets updated so that the users software knows what 'Rices' are active.

General Program Format Tree

Trying to get an idea of the format followed for our 'Rices'.

[RiceDB]
    [userName.conf] - User config, tracks installed and active software:rices
        active:
            software1:rice3
        non-active:
            software1:rice1
            software2:rice2
    [RiceDex.json]
	{
	   "i3":{
		  "Name":"i3",
		  "Description":"A superior tiling WM",
		  "packages":{
			 "A": {
				"Name":"A",
				"Description":"...",
				"Images":[
				   "1.jpg",
				   "2.jpg",
				   "3.jpg"
				],
				"Github Repository":"..."
			 },
			 "B": {
				"Name":"B",
				"Description":"...",
				"Images":[
				   "1.jpg",
				   "2.jpg",
				   "3.jpg"
				],
				"Github Repository":"..."
			 }
		  }
	   },
	   "shittywm":{
		  "Name":"shittywm",
		  "Description":"An inferior tiling WM"
	   }
	}

User Interaction With The Program

Commands The User Can Issue:

  • rice [software][rice]
  • rice [software]

riceDB [Software] -> Valid Software? -> List Rices -> Select/Confirm Rice -> Download

riceDB [Software, Rice] -> Software Valid? -> Search Software for Rice -> Rice Valid? -> Confirm Rice -> Download

Soup

Program to easily allow config makers to package and upload their configs to the RiceDB database for everyone to use.