-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
146 lines (120 loc) · 5.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
RAILS_BOOKMARKS
How to rewrite my homepage in Rails, Web 2.0 Style.
This is an exercise in exercising Ajax.
Features:
DONE Ajax editing page.
DONE Nested Sortables.
restful_authentication
LiveValidation?
Page/fragment caching.
Chores:
Switch from Test::Unit to RSpec
Switch from Scriptaculous to JQuery
RDOC
Those first two chores pretty much require a rewrite from scratch.
TODO
Fix scriptaculous stacking flash messages.
Write official CSS id/class naming policy.
Align ids.
Send unimplemented actions somewhere? back to preceding controller?
What to do when a page/column etc does not exist.
Functionality:
Display Page done
Jump to Edit Page done
Back to Display Page done
New Page
Page Preferences: colors
Column Insert done
Column Delete done
Section Insert done
Section Delete done
Section Move done
Section Edit (title) done
Bookmark Insert done
Bookmark Delete
Bookmark Move done
Bookmark Edit (legend, url) done
Bookmark Upload Image done
Admin interface
view other people's pages
Structure
page ->
columns ->
sections ->
bookmarks
User experience:
Page
Allow you to pick background?
Javascript color picker?
First time: starts with an empty page that says:
To start constructing your page:
[add a column]
Add Column
Contacts server, creates a column
updates page to add a column with it's editing fields
So page must therfore have a div ready to be replaced
Column editor:
Show existing rows, with edit button next to them.
They should be draggable so they can be moved within the column
and between columns, and have an edit button.
Row Element Edit
Popup a little window that has Name, Image and URL in-place-edit fields.
Admin Interface
A Web-1.0 way of examining and editing all pages.
Database
WebPage
url
Column
webpage_id
nth_from_left
Section
column_id
nth_section_from_top
title
Bookmark
section_id
nth_from_top_of_section
Legend
Image
Possibly: Heading, Large, Small, Italic, Bold...?
Integration
Setting up a new
How to plug it into an existing webpage - IFRAME
Ideally want a way where a non-developer can do it
bookmarks.sampierson.com/homeloangoddess.com
editing entities done via bookmarks.sampierson.com/homeloangoddess.com/edit ?
or /column
Authentication?
Add later.
Cookie based sessions.
Signup.
Routes
http://bookmarks.com/:site GET Display page
If page does not exist,
redirect to /new
/:site/webpage/new GET Authenticate, perform signup
Ask if user wants to create this page
/webpage/create POST-Ajax Create DB entries - page, column, section
Ajax.upate page contents with display()
show,edit,update,delete Do not really have a lot of meaning here.
Webpage has no user editable content.
Unless we add aliases?
^ may truncate /webpage/new to /new. simirlarly for create.
/:site/column/new POST Webpage will have buttons to add columns
before, inbetween and after current columns.
insert-before/1
insert-after/1
/:site/column/<c>/section/new
/:site/column/<c>/section/create
/:site/column/<c>/section/insert-above/1
/:site/column/<c>/section/insert-below/1
/:site/column/<c>/section/<s>/edit
/:site/column/<c>/section/<s>/update
/:site/column/<c>/section/<s>/destroy
/:site/column/<c>/section/<s>/bookmark/new
/:site/column/<c>/section/<s>/bookmark/create
/:site/column/<c>/section/<s>/bookmark/insert-above/1
/:site/column/<c>/section/<s>/bookmark/insert-below/1
/:site/column/<c>/section/<s>/bookmark/<b>/edit
/:site/column/<c>/section/<s>/bookmark/<b>/update
/:site/column/<c>/section/<s>/bookmark/<b>/destroy