Wiki source code of ERRest Boot Camp

Last modified by Pascal Robert on 2012/05/16 19:16

Show last authors
1 * What is REST
2 ** Consistent URLs
3 *** The goal is to have URLs that you can guess.
4 *** GitHub is a good case (http vs git protocols, paths, etc.)
5 ** Stateless
6 *** You can use sessions, but almost all client frameworks are stateless
7 ** Using HTTP protocol to full extend (methods, cache, status codes, headers, redirections)
8 *** Status codes
9 *** Verbs
10 *** Headers
11 ** Multiple representations of same object, but only one URL for object
12 ** HATEOAS mention
13 *** Google Docs, CMIS, Atom Publishing examples
14 * Basic ERRest concepts
15 ** routes
16 *** URLs
17 ** controllers
18 ** delegates
19 ** key filters
20 *** filter what going's in and out
21 * Using an existing model and explaining how it works
22 ** BlogEntry
23 *** title
24 *** content
25 *** dateInserted
26 *** dateModified
27 *** author
28 ** BlogAuthor
29 *** firstName
30 *** lastName
31 *** password
32 *** email
33 *** entries
34 ** BlogCategory
35 *** entries
36 *** name
37 * Basic REST routes (JSON)
38 ** adding a migration to create the admin user
39 ** adding a BlogAuthor user
40 ** adding a BlogEntry
41 ** getting a BlogEntry
42 ** modifying a BlogEntry
43 ** deleting a blogEntry
44 ** viewing a author and its posts (in XML)
45 * HTML REST routes
46 ** explain how URL are differents
47 ** automatic HTML routing vs manual
48 ** listing blog posts
49 ** listing authors
50 ** batching and sorting
51 * Better names: entity and attribute alias
52 * Having a fake primary key in a REST context (moving from ID to unique title)
53 * Handling status codes
54 ** 200&201
55 ** 404&410
56 *** Returning 410 for entries that were deleted
57 ** 405
58 ** 50x
59 ** 401&403
60 *** when trying to create blog entry without logged user
61 * Redirections
62 ** How to do them, codes 301 and 302 differences
63 * Adding headers to response
64 * Adding caching to the blog
65 * Adding non-EO support
66 * Adding keys for non-model attributes ("fullName")
67 * Date formats
68 ** er.rest.dateFormat
69 ** er.rest.timestampFormat
70 ** er.rest.rfcDateFormat
71 * JSON Schema
72
73 Talking about the problem of objectOfEntityWithID and ERXDatabaseContextDelegate.ObjectNotAvailableException
74
75 RestContext
76 Properties
77 Adding new format
78 Security
79 strictMode
80 Workflow